mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-27 02:43:07 +00:00
Here's a brief "how this works" doc to refresh my memory when I look at this in another 8 months. The files: all.dot - A dependency list of all of the modules in the current tree. - Generated by running module-graph.pl on an existing build tree. - Only contains the dependencies for the platform it was run on (Bug 185188) allmakefiles.stub - This is the stub portion of allmakefiles.sh which is used when running bootstrap.pl so that only specific Makefiles are generated bootstrap.pl - This script was originally designed to use the results from module-graph.pl to create a cvs checkout list & build order and to build the tree using those lists. It has been modified to be able to update the standard allmakefiles.sh & modules.mk files to track module changes as well. extra.dot - This file contains a mapping of additional module dependencies which could not be found by module-graph.pl. force_order.txt - This file contains hard ordering rules for use with module-graph.pl's --force-order command line option. meta.dot - This generated file is the combination of all.dot & extra.dot and is used when creating allmakefiles.sh & modules.mk. module2dir.map - This file contains the mapping of the modules and their dependencies based upon the directory. This file is created by running 'make -s echo-requires-recursively _REPORT_ALL_DIRS=1 > file' on an existing tree. module-graph.pl - Outputs a Graphviz-compatible graph description file. It can output a dependency graph based upon an existing description file or it can generate a new one based upon the values of MODULE & REQUIRES in Makefiles in an existing tree. modules.mk.footer - Footer for generated modules.mk modules.mk.stub - Header for generated mdoules.mk How to regenerate allmakefiles.sh & modules.mk when modules change: cd $MOZ_OBJDIR perl ../mozilla/tools/module-deps/module-graph.pl > ../mozilla/tools/module-deps/all.dot make -s echo-requires-recursive _REPORT_ALL_DIRS=1 > ../mozilla/tools/module-deps/module2dir.map cd ../mozilla perl tools/module-deps/bootstrap.pl --topsrcdir `pwd` --module-file-only