Closed mikebentley15 closed 4 years ago
I'm sure you've seen papers on recursive Makefiles and recommended solutions http://sites.e-advies.nl/nonrecursive-make.html
On Fri, Dec 13, 2019 at 7:30 PM Michael Bentley notifications@github.com wrote:
Bug Report
Describe the problem For a project with not too many compilations, but many many source files, the Makefile takes way too long to load and run. I would like something that runs faster.
Suggested Fix More recursion. Only have variable valeues and phony targets on the top level. One layer of recursion to define the phony targets and the next for the definition of each phony target. A second layer of recursion for each regular flit compilation. The bisect target and trouble target for the bisect Makefile would also be one level of recursion.
Alternative approaches: It may be beneficial to make a flat Makefile instead of a recursive one. It is unclear if it is the size of the dependency tree or the logic in the Makefile to generate all of the targets. I may want to try both approaches to see which one is more fruitful.
This alternative approach could be built from a copy of the flit_ninja.py script in the experimental folder.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/PRUNERS/FLiT/issues/310?email_source=notifications&email_token=ABGKECT433EESYP7IJLNPGTQYRANFA5CNFSM4J2YHQN2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IAO7VVA, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABGKECRDC5SENRVXA6ULY6LQYRANFANCNFSM4J2YHQNQ .
Bug Report
Describe the problem For a project with not too many compilations, but many many source files, the
Makefile
takes way too long to load and run. I would like something that runs faster.Suggested Fix More recursion. Only have variable valeues and phony targets on the top level. One layer of recursion to define the phony targets and the next for the definition of each phony target. A second layer of recursion for each regular flit compilation. The bisect target and trouble target for the bisect Makefile would also be one level of recursion.
Alternative approaches: It may be beneficial to make a flat
Makefile
instead of a recursive one. It is unclear if it is the size of the dependency tree or the logic in theMakefile
to generate all of the targets. I may want to try both approaches to see which one is more fruitful.This alternative approach could be built from a copy of the
flit_ninja.py
script in theexperimental
folder.