From d01059360cb7df6fd97977fcdbe3dc3cefa89522 Mon Sep 17 00:00:00 2001 From: Patrik Gornicz Date: Mon, 31 Aug 2009 23:13:56 -0400 Subject: [PATCH] started fix to deps directory building --- lib/rules.mk | 9 +++------ rules.mk | 11 +++++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/rules.mk b/lib/rules.mk index 7dae416..e2e53ae 100644 --- a/lib/rules.mk +++ b/lib/rules.mk @@ -29,12 +29,9 @@ ${TARGET_$P}: ${TARGETTMP_$P} | $${@D} ${cmd-cp} # rule to make an object file from a .cpp -${OBJSDIR_$P}%.o: ${SRCSDIR_$P}%.cpp | $${@D} - ${cmd-cpptoobj} - -# rule to make a depend file from a .cpp -${DEPSDIR_$P}%.d: ${SRCSDIR_$P}%.cpp | $${@D} - ${cmd-cpptodep} +${OBJSDIR_$P}%.o: ${SRCSDIR_$P}%.cpp | $${@D} \ + $$(patsubst ${OBJSDIR_$P},${DEPSDIR_$P},$${@D}) + ${cmd-cpp_to_obj_and_dep} T := $P diff --git a/rules.mk b/rules.mk index 9a08b18..db6d2a2 100644 --- a/rules.mk +++ b/rules.mk @@ -27,16 +27,19 @@ define cmd-rmrec ${Q4s}rm -rf ${CLEANTARGET} ${Q4e} endef -define cmd-cpptoobj +define cmd-cpp_to_obj_and_dep ${Q1s}${PRNTLOG} "${CXX}" "$@" ${Q1e} ${Q2s}${PRNTFMT} "${CXX}" "$@" ${Q2e} ${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 +# Deprecated, use cmd-cpptoobjdep to create obj and dep +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} endef -- 2.10.2