created some cmd varibles
authorPatrik Gornicz <Gornicz.P@gmail.com>
Sat, 20 Jun 2009 18:13:16 +0000 (14:13 -0400)
committerPatrik Gornicz <Gornicz.P@gmail.com>
Sat, 20 Jun 2009 18:13:16 +0000 (14:13 -0400)
Makefile
lib/rules.mk
rules.mk [new file with mode: 0644]
tests/rules.mk
tests/src/1/rules.mk
tests/src/printTrace/rules.mk

index c20587b..5fa4417 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -10,10 +10,6 @@ BUILD := DEBUG
 default:
 
 
-include packages.mk
-include targets.mk
-
-
 G_DIRMK     := dir.mk
 G_VARSMK    := vars.mk
 G_FILESMK   := files.mk
@@ -22,6 +18,11 @@ G_LISTSMK   := lists.mk
 G_TVARSMK   := tvars.mk
 
 
+include packages.mk
+include targets.mk
+include ${G_RULESMK}
+
+
 include ${G_VARSMK}
 include ${G_LISTSMK}
 
index 4f9bffa..47656e5 100644 (file)
@@ -22,13 +22,11 @@ ${G_DEPS_LIB}: ${L_DEPS_$P}
 
 # how to link the main target
 ${TARGETTMP_$P}: ${L_OBJS_$P} | $${@D}
-       ${Q1}${PRNTFMT} "${CXX}" "$@"
-       ${Q2}${CXX} ${CXXFLAGS} ${LNKFLAGS} -o $@ $^ ${LIBS}
+       ${cmd-link}
 
 # rule to copy tmp target to working directory
 ${TARGET_$P}: ${TARGETTMP_$P} | $${@D}
-       ${Q1}${PRNTFMT} "cp" "$@"
-       ${Q2}cp $< $@
+       ${cmd-cp}
 
 # how to make a directory
 ${L_BLDDIRS_$P}:
@@ -37,15 +35,13 @@ ${L_BLDDIRS_$P}:
 
 # rule to make an object file from a .cpp
 ${OBJSDIR_$P}%.o: ${SRCSDIR_$P}%.cpp | $${@D}
-       ${Q1}${PRNTFMT} "${CXX}" "$@"
-       ${Q2}${CXX} ${CXXFLAGS} -c -o $@ $< ${INCFLAGS}
+       ${cmd-cpptoobj}
 
 # rule to make a depend file from a .cpp
 #   be clever and escape the / chars in file paths
 #   DON'T simply use another sed delimiter or it can't appear in the file paths
 ${DEPSDIR_$P}%.d: ${SRCSDIR_$P}%.cpp | $${@D}
-       ${Q1}${PRNTFMT} "DEP" "$@"
-       ${Q2}${CXX} -MM ${CXXFLAGS} $< ${INCFLAGS} | sed 's/\(^.*\):/$(subst /,\/,${@:${DEPSDIR}%.d=${OBJSDIR}%.o} $@):/' > $@
+       ${cmd-cpptodep}
 
 
 L_CLEANCMDS +=  cleanbin-$P
diff --git a/rules.mk b/rules.mk
new file mode 100644 (file)
index 0000000..2011d30
--- /dev/null
+++ b/rules.mk
@@ -0,0 +1,21 @@
+
+define cmd-link
+  ${Q1}${PRNTFMT} "${CXX}" "$@"
+  ${Q2}${CXX} ${CXXFLAGS} ${LNKFLAGS} -o $@ $^ ${LIBS}
+endef
+
+define cmd-cp
+  ${Q1}${PRNTFMT} "cp" "$@"
+  ${Q2}cp $< $@
+endef
+
+define cmd-cpptoobj
+  ${Q1}${PRNTFMT} "${CXX}" "$@"
+  ${Q2}${CXX} ${CXXFLAGS} -c -o $@ $< ${INCFLAGS}
+endef
+
+define cmd-cpptodep
+  ${Q1}${PRNTFMT} "DEP" "$@"
+  ${Q2}${CXX} -MM ${CXXFLAGS} $< ${INCFLAGS} | sed 's/\(^.*\):/$(subst /,\/,${@:${DEPSDIR}%.d=${OBJSDIR}%.o} $@):/' > $@
+endef
+
index 518da1e..bf3aaa1 100644 (file)
@@ -4,8 +4,7 @@ ${G_DEPS_TESTS}: ${L_DEPS_$P}
 
 # HACK
 tests/bind/libbear.so.0: lib/bind/libbear.so.0.0 | $${@D}
-       ${Q1}${PRNTFMT} "cp" "$@"
-       ${Q2}cp $< $@
+       ${cmd-cp}
 
 # how to make a directory
 ${L_BLDDIRS_$P}:
@@ -14,15 +13,13 @@ ${L_BLDDIRS_$P}:
 
 # rule to make an object file from a .cpp
 ${OBJSDIR_$P}%.o: ${SRCSDIR_$P}%.cpp | $${@D}
-       ${Q1}${PRNTFMT} "${CXX}" "$@"
-       ${Q2}${CXX} ${CXXFLAGS} -c -o $@ $< ${INCFLAGS}
+       ${cmd-cpptoobj}
 
 # rule to make a depend file from a .cpp
 #   be clever and escape the / chars in file paths
 #   DON'T simply use another sed delimiter or it can't appear in the file paths
 ${DEPSDIR_$P}%.d: ${SRCSDIR_$P}%.cpp | $${@D}
-       ${Q1}${PRNTFMT} "DEP" "$@"
-       ${Q2}${CXX} -MM ${CXXFLAGS} $< ${INCFLAGS} | sed 's/\(^.*\):/$(subst /,\/,${@:${DEPSDIR}%.d=${OBJSDIR}%.o} $@):/' > $@
+       ${cmd-cpptodep}
 
 
 L_CLEANCMDS +=  cleanbin-$P
index 21bf89b..130bab4 100644 (file)
@@ -7,11 +7,9 @@ ${TARGETTMP_$D}: tests/bind/libbear.so.0
 
 # how to link the main target
 ${TARGETTMP_$D}: ${L_OBJS_$D} | $${@D}
-       ${Q1}${PRNTFMT} "${CXX}" "$@"
-       ${Q2}${CXX} ${CXXFLAGS} ${LNKFLAGS} -o $@ $^ ${LIBS}
+       ${cmd-link}
 
 # rule to copy tmp target to working directory
 ${TARGET_$D}: ${TARGETTMP_$D} | $${@D}
-       ${Q1}${PRNTFMT} "cp" "$@"
-       ${Q2}cp $< $@
+       ${cmd-cp}
 
index 21bf89b..130bab4 100644 (file)
@@ -7,11 +7,9 @@ ${TARGETTMP_$D}: tests/bind/libbear.so.0
 
 # how to link the main target
 ${TARGETTMP_$D}: ${L_OBJS_$D} | $${@D}
-       ${Q1}${PRNTFMT} "${CXX}" "$@"
-       ${Q2}${CXX} ${CXXFLAGS} ${LNKFLAGS} -o $@ $^ ${LIBS}
+       ${cmd-link}
 
 # rule to copy tmp target to working directory
 ${TARGET_$D}: ${TARGETTMP_$D} | $${@D}
-       ${Q1}${PRNTFMT} "cp" "$@"
-       ${Q2}cp $< $@
+       ${cmd-cp}