[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