We didn't have to figure out a lot of the details of how to get things going on the WL-700gE, because the OpenWRT project already does that (at least in some versions of OpenWRT, like what was SVN revision 9382 and is now git commit 09ce975). All we've needed to do is figure out how OpenWRT does it.

Unfortunately, we're not particularly good at figuring out how a large and somewhat baroque set of Makefiles all fit together. So rather than reverse-engineering the build system used by OpenWRT, we prefer to do a build with make V=99 and analyze the resulting output.

This works really well, since make normally echoes the commands it is running right before it runs them. However, make can be instructed not to echo commands, either by prepending an '@' symbol to the command or by running make with the -s option. You can try to remove all such directives with sed:

find . -name Makefile -o -name '*.mk' | xargs sed -i 's/<ctrl-V><TAB>@/<ctrl-V><TAB>/'

(control-V causes the next character typed to be literally entered; in this case, it prevents the tab character from being swallowed by the shell.)

and

find . -name Makefile -o -name '*.mk' | xargs sed -i 's/make -s/make/'

Even then, some commands aren't echoed. I don't understand why. However, if you rebuild make with the patch attached to this page applied, those directives will be ignored entirely.

make-3.81-elide-silence-2.patch.bz2 (1.9 KB) Brett Neumeier, 01/23/2010 04:52 PM

Also available in: HTML TXT