[ET Trac] [Einstein Toolkit] #976: Cactus ignors (since r4839 ie #768) changes to param.ccl when recompiling
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Sun Jul 15 08:22:17 CDT 2012
#976: Cactus ignors (since r4839 ie #768) changes to param.ccl when recompiling
-----------------------+----------------------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: review
Priority: critical | Milestone:
Component: Cactus | Version:
Resolution: | Keywords:
-----------------------+----------------------------------------------------
Comment (by eschnett):
The m{: } (matching colon-space) is there to ensure that only the first
rule matches, which is the one that happens to have the .o file as target.
Since we now explicitly match the .o file name, we don't need this if
condition any more.
To avoid misunderstandings, this is the new definition that I propose:
{{{
# 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{^\Q$(basename $(basename $@)).o:\E}{$(basename
$@).o $(basename $@).d:}' $@
endef
else
define DEPENDENCY_FIXER
$(PERL) -pi.bak -e 's{^\Q$(basename $(basename
$@)).o:\E}{$(basename $@).o $(basename $@).d:}' $@
rm $@.bak
endef
endif
}}}
I also suggest to add a new line to "force-reconfigure" to ensure that
these changes are immediately picked up:
{{{
15 Jul 2012: Correct error in determining make dependencies
}}}
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/976#comment:10>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list