diff options
Diffstat (limited to 'lib/make/make.config.rules.in')
-rw-r--r-- | lib/make/make.config.rules.in | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/make/make.config.rules.in b/lib/make/make.config.rules.in index 0d8d2db6..9e292d06 100644 --- a/lib/make/make.config.rules.in +++ b/lib/make/make.config.rules.in @@ -59,16 +59,19 @@ define NOTIFY_DIVIDER endef endif -# Define how to do dependencies +# Define how to do dependencies. +# Correct the dependency target (i.e. the item on the LHS of a make +# rule). The name of the object file is wrong, and the dependency file +# (.d file) is missing. To simplify things, we don't try to match the +# object file name -- we assume that any file ending in .o is the +# object file. ifeq ($(strip $(PERL_BACKUP_NECESSARY)),) define DEPENDENCY_FIXER - #$(PERL) -pi -e "s,([^:]*),$(basename $@).o $(basename $@).d, if(m/: /);\ - s:\s+\S*[/\\\]($(DEP_EXCLUDE_FILES))\b::g" $@ + $(PERL) -pi -e 's{^\Q$(basename $(basename $@)).o:\E}{$(basename $@).o $(basename $@).d:}' $@ endef else define DEPENDENCY_FIXER - #$(PERL) -pi.bak -e "s,([^:]*),$(basename $@).o $(basename $@).d, if(m/: /);\ - s:\s+\S*[/\\\]($(DEP_EXCLUDE_FILES))\b::g" $@ + $(PERL) -pi.bak -e 's{^\Q$(basename $(basename $@)).o:\E}{$(basename $@).o $(basename $@).d:}' $@ rm $@.bak endef endif |