--- /dev/null
+
+# 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
+