mach is the top level of the firefox build system. It calls configure, make and whatever else. It should be possible to give mach a dry-run option (just like make accepts -n) whereby it tells what it would do in a normal run. It should then be ok to run the output of mach --dry-run, or parts of it, as a script. Whereas, not only is there a lack of a dry-run option, makefiles such as client.mk are written to resist being run directly from the command line. All this makes it difficult to zero i...