This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
This change causes toplevel Makefile.in to be generated by autogen from Makefile.tpl and Makefile.def; consensus was reached a while back that this was a reasonable thing to do. Makefile.tpl is a 'model' for Makefile.in. It contains several autogen FOR statements, which generate some of the repetitive lists of 'all-x all-y all-z'. This is the first in several steps in cleaning up the toplevel Makefile for autoconfiscation. I was originally going to do them all at once, but I decided there was value in doing it incrementally. This first step doesn't change much. It *reorders* some of the entries in Makefile.in, and that diff is attached. Since that's all it does, except for the deletion of the bogus target check-mmcheckoc, it should be a very safe change. I am currently bootstrapping an ubertree to try to check that I didn't lose any implicit dependencies. If I *have* lost any implicit dependencies, they should be recreated as *explicit* dependencies in the makefile. The major advantage, however, is the reduction in the number of lists of modules present in the makefile. This makes it much easier to catch stupid errors like 'check-mmcheckoc'. (Note that mmalloc has check disabled in the new file since it proved not to be working!) Once the files Makefile.tpl and Makefile.def *exist* in gcc & src, it also becomes easier for me to do experimental improvements without dropping them into mainline gcc/src. Future steps in 'autogenification' involve: * generating more of the lists ; pulling more from Makefile.tpl to Makefile.def * Eliminating Make macro speed penalties, and reducing the length of embedded shell code in Make rules, by generating separate rules for each target using autogen. * Separating the lists of targets which 'all', 'install', etc. depend on from the collection of all-x targets which exist. * Generating the lists of targets which 'all', 'install', etc. depend on using configure; then the targets' rules can assume that their directories exist and are configured, saving more shell code.
Attachment:
Makefile.tpl
Description: Text document
Attachment:
Makefile.def
Description: Text document
Attachment:
min.diff
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |