summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authoreschnett <eschnett@17b73243-c579-4c4c-a9d2-2d5706c11dac>2012-07-15 16:24:46 +0000
committereschnett <eschnett@17b73243-c579-4c4c-a9d2-2d5706c11dac>2012-07-15 16:24:46 +0000
commit08386918f42a416fee4e4000ab70102c1b31e141 (patch)
tree96eda24c222a8e0f33a50bded6382bb3ba6393e3 /lib
parentd7190398513e1781e3b99b70baf2661d5a5ffb6a (diff)
Correct error in determining dependencies
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4843 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'lib')
-rw-r--r--lib/make/force-reconfigure1
-rw-r--r--lib/make/make.config.rules.in13
2 files changed, 9 insertions, 5 deletions
diff --git a/lib/make/force-reconfigure b/lib/make/force-reconfigure
index dbac1c08..731c340e 100644
--- a/lib/make/force-reconfigure
+++ b/lib/make/force-reconfigure
@@ -31,3 +31,4 @@
26 Apr 2011: Add CCTK_BUILTIN_EXPECT
27 Jun 2011: Add HAVE_SCHED_H
01 May 2012: Add OpenCL support
+15 Jul 2012: Correct error in determining make dependencies
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