Eliminate redundant deep dependencies #386
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
EUMM-generated makefiles currently have direct dependencies e.g. from
manifypods
to module files underlib
, which are redundant becausemanifypods
also depends onpure_all
, which indirectly depends on those module files. A particular culprit is things depending on$(FIRST_MAKEFILE)
directly, rather than viaconfig
. This PR eliminates those redundant dependencies.Here is a run of
pure-perl-make --analyse-redundancy
(from CPAN Make), on PDL::Stats:The makefile for Graph is visualised here, using tkgvizmakefile (not PDL::Stats which is too big as it has 5 subdirs, and the tool pulls in all the recursive makefiles):
The bottom left shows
distdir
depending oncreate_distdir
both directly (and redundantly), but also viadistmeta
.