[ET Trac] [Einstein Toolkit] #1522: Improve determining make dependencies

Einstein Toolkit trac-noreply at einsteintoolkit.org
Fri Jan 17 12:27:37 CST 2014


#1522: Improve determining make dependencies
--------------------------+-------------------------------------------------
  Reporter:  eschnett     |       Owner:                     
      Type:  enhancement  |      Status:  new                
  Priority:  major        |   Milestone:                     
 Component:  Cactus       |     Version:  development version
Resolution:               |    Keywords:                     
--------------------------+-------------------------------------------------

Comment (by sbrandt):

 I created a small copy of this code and tested it. Here's what I got in my
 tst.d. Note what happens to the appended piece. I think

 {{{
  /usr/include/c++/4.8.2/bits/basic_ios.tcc \
  /usr/include/c++/4.8.2/bits/ostream.tcc /usr/include/c++/4.8.2/istream \
  /usr/include/c++/4.8.2/bits/istream.tcc
 tst.cc /usr/include/stdc-predef.h header.h :
  /usr/include/c++/4.8.2/iostream :
  /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++config.h :
  /usr/include/bits/wordsize.h :
  ...
  /usr/include/c++/4.8.2/bits/basic_ios.tcc \
  /usr/include/c++/4.8.2/bits/ostream.tcc /usr/include/c++/4.8.2/istream \
  /usr/include/c++/4.8.2/bits/istream.tcc
 tst.cc /usr/include/stdc-predef.h header.h :
  /usr/include/c++/4.8.2/iostream :
  /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++config.h :
  /usr/include/bits/wordsize.h :
 }}}

 I think you want something more like this:

 {{{
 PROCESS_DEPENDENCIES =                                  \
         sed -e 's/$@.tmp/$@/g' < $*.o.d > $*.d &&       \
         sed -e 's/\#.*//'                               \
                 -e 's/^[^:]*: *//'                      \
                 -e '/^$$/ d'                            \
                 -e 's/$<[ ]/$< : /' < $*.o.d >> $*.d

 %.o: %.cc
         ${CXX} -MD ${CPPFLAGS} ${CXXFLAGS} -o $@.tmp -c $*.cc
         ${PROCESS_DEPENDENCIES}
         mv $@.tmp $@

 -include ${DEPS}
 }}}

-- 
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1522#comment:4>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit


More information about the Trac mailing list