[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