make system changed to be a subset of the library make system
[physics.git] / rules.mk
diff --git a/rules.mk b/rules.mk
new file mode 100644 (file)
index 0000000..ac7ed7d
--- /dev/null
+++ b/rules.mk
@@ -0,0 +1,72 @@
+
+# HACK
+all: ${TARGET_$P} ${CFGS_$P} ${LIBSTXT_$P} ${LIBSCPY_$P} ${TXT_$P}
+
+#${G_OBJS_TESTS}: ${L_OBJS_$P}
+#${G_DEPS_TESTS}: ${L_DEPS_$P}
+
+
+# how to link the main target
+${TARGETTMP_$P}: ${L_OBJS_$P} | $${@D}
+       ${cmd-link}
+
+# rule to copy tmp target to working directory
+${TARGET_$P}: ${TARGETTMP_$P} | $${@D}
+       ${cmd-cp}
+
+# how to copy a library to the bin directory
+#${BINDIR_$P}${SONAME_${G_LIB}}: ${TARGET_${G_LIB}} | $${@D}
+#      ${cmd-cp}
+
+# rule to copy the config files into the working directory
+${DSTCFGDIR_$P}%: ${SRCCFGDIR_$P}% | $$(dir $$@)
+       ${cmd-cp}
+
+# rule to copy the library files into the working directory
+${DSTLIBSDIR_$P}%: ${SRCLIBSDIR_$P}% | $$(dir $$@)
+       ${cmd-cp}
+
+# rule to copy the text files into the working directory
+${DSTTXTDIR_$P}%: ${SRCTXTDIR_$P}% | $$(dir $$@)
+       ${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}
+
+
+L_CLEANCMDS +=  cleanbin-$P
+cleanbin:       cleanbin-$P
+.PHONY:         cleanbin-$P
+cleanbin-$P:
+       ${Q1}${PRNTFMT} "rm" "${BINDIR}"
+       ${Q2}rm -rf ${BINDIR}
+
+L_CLEANCMDS +=  cleanobjs-$P
+cleanobjs:      cleanobjs-$P
+.PHONY:         cleanobjs-$P
+cleanobjs-$P:
+       ${Q1}${PRNTFMT} "rm" "${OBJSDIR}"
+       ${Q2}rm -rf ${OBJSDIR}
+
+L_CLEANCMDS +=  cleandeps-$P
+cleandeps:      cleandeps-$P
+.PHONY:         cleandeps-$P
+cleandeps-$P:
+       ${Q1}${PRNTFMT} "rm" "${DEPSDIR}"
+       ${Q2}rm -rf ${DEPSDIR}
+
+L_CLEANCMDS +=  clean-$P
+clean:          clean-$P
+.PHONY:         clean-$P
+clean-$P: cleanobjs-$P cleanbin-$P
+
+L_CLEANCMDS +=  cleanall-$P
+cleanall:       cleanall-$P
+.PHONY:         cleanall-$P
+cleanall-$P: cleanbin-$P cleanobjs-$P cleandeps-$P
+