.d files are now created with .o files
authorPatrik Gornicz <Gornicz.P@gmail.com>
Sun, 23 Aug 2009 19:56:25 +0000 (15:56 -0400)
committerPatrik Gornicz <Gornicz.P@gmail.com>
Sun, 23 Aug 2009 19:56:25 +0000 (15:56 -0400)
lib/tvars.mk
rules.mk
tests/tvars.mk

index 3a37c57..93e70dc 100644 (file)
@@ -1,10 +1,10 @@
 
 # add flags specific to the library target and all prerequisites
-${L_OBJS_$P} ${L_DEPS_$P}: CXX      := ${CXX_$P}
-${L_OBJS_$P} ${L_DEPS_$P}: CXXFLAGS := ${CXXFLAGS_$P}
-${L_OBJS_$P} ${L_DEPS_$P}: INCFLAGS := ${INCFLAGS_$P}
-             ${L_DEPS_$P}: DEPSDIR  := ${DEPSDIR_$P}
-             ${L_DEPS_$P}: OBJSDIR  := ${OBJSDIR_$P}
+${L_OBJS_$P}: CXX      := ${CXX_$P}
+${L_OBJS_$P}: CXXFLAGS := ${CXXFLAGS_$P}
+${L_OBJS_$P}: INCFLAGS := ${INCFLAGS_$P}
+${L_OBJS_$P}: DEPSDIR  := ${DEPSDIR_$P}
+${L_OBJS_$P}: OBJSDIR  := ${OBJSDIR_$P}
 
 ${TARGETTMP_$P}: CXX      := ${CXX_$P}
 ${TARGETTMP_$P}: CXXFLAGS := ${CXXFLAGS_$P}
index 61c1d18..9a08b18 100644 (file)
--- a/rules.mk
+++ b/rules.mk
@@ -30,15 +30,13 @@ endef
 define cmd-cpptoobj
   ${Q1s}${PRNTLOG} "${CXX}" "$@" ${Q1e}
   ${Q2s}${PRNTFMT} "${CXX}" "$@" ${Q2e}
-  ${Q3s}${CXX} $< -o $@ ${CXXFLAGS} ${INCFLAGS} -c ${Q3e}
-  ${Q4s}${CXX} $< -o $@ ${CXXFLAGS} ${INCFLAGS} -c ${Q4e}
+  ${Q3s}${CXX} -c $< -o $@ -MF ${@:${OBJSDIR}%.o=${DEPSDIR}%.d} ${CXXFLAGS} ${INCFLAGS} -MMD -MQ $@ ${Q3e}
+  ${Q4s}${CXX} -c $< -o $@ -MF ${@:${OBJSDIR}%.o=${DEPSDIR}%.d} ${CXXFLAGS} ${INCFLAGS} -MMD -MQ $@ ${Q4e}
 endef
 
+# Do nothing. This is now done in parallel with cpptoobj. However, you still
+# need to write rules using this to cause dependency directories to be created
 define cmd-cpptodep
-  ${Q1s}${PRNTLOG} "DEP" "$@" ${Q1e}
-  ${Q2s}${PRNTFMT} "DEP" "$@" ${Q2e}
-  ${Q3s}${CXX} $< -MF $@ ${CXXFLAGS} ${INCFLAGS} -MM -MQ ${@:${DEPSDIR}%.d=${OBJSDIR}%.o} -MQ $@ ${Q3e}
-  ${Q4s}${CXX} $< -MF $@ ${CXXFLAGS} ${INCFLAGS} -MM -MQ ${@:${DEPSDIR}%.d=${OBJSDIR}%.o} -MQ $@ ${Q4e}
 endef
 
 
index 59015c1..5b6f710 100644 (file)
@@ -1,9 +1,9 @@
 
-${L_OBJS_$P} ${L_DEPS_$P}: CXX      := ${CXX_$P}
-${L_OBJS_$P} ${L_DEPS_$P}: CXXFLAGS := ${CXXFLAGS_$P}
-${L_OBJS_$P} ${L_DEPS_$P}: INCFLAGS := ${INCFLAGS_$P}
-             ${L_DEPS_$P}: DEPSDIR  := ${DEPSDIR_$P}
-             ${L_DEPS_$P}: OBJSDIR  := ${OBJSDIR_$P}
+${L_OBJS_$P}: CXX      := ${CXX_$P}
+${L_OBJS_$P}: CXXFLAGS := ${CXXFLAGS_$P}
+${L_OBJS_$P}: INCFLAGS := ${INCFLAGS_$P}
+${L_OBJS_$P}: DEPSDIR  := ${DEPSDIR_$P}
+${L_OBJS_$P}: OBJSDIR  := ${OBJSDIR_$P}
 
 cleanbin-$P:    BINDIR      := ${BINDIR_$P}
 cleanobjs-$P:   OBJSDIR     := ${OBJSDIR_$P}