-${DEPSDIR}%.d: ${SRCSDIR}%.cpp | ${DEPSBLDDIRS}
- ${Q1}echo "DEP: $@"
- ${Q2}${CXX} -MM ${CXXFLAGS} $< | sed 's,\(^.*\):,${OBJSDIR}\1 $@:,' > $@
-
-# rule to copy the config files into the working directory
-${DSTCFGDIR}%.cfg: ${SRCCFGDIR}%.cfg | ${DSTCFGDIR}
- ${Q1}echo "cp: $@"
- ${Q2}cp $< $@
-
-
-tags: ${SRCS}
- ${Q1}echo "ctags: $@"
- ${Q2}ctags $^
-
+# 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}%.d: ${SRCSDIR}%.cpp | $$(dir $$@)
+ ${Q1}${PRNTFMT} "DEP" "$@"
+ ${Q2}${CXX} -MM ${CXXFLAGS} $< -I "${INCDIRS}" | \
+ sed 's/\(^.*\):/$(subst /,\/,${OBJSDIR}\1 $@):/' > $@
+
+.PHONY: cleanbin
+cleanbin:
+ ${Q1}${PRNTFMT} "rm" "${WORKINGDIR}"
+ ${Q2}rm -rf ${WORKINGDIR}
+
+.PHONY: cleanobjs
+cleanobjs:
+ ${Q1}${PRNTFMT} "rm" "${OBJSDIR}"
+ ${Q2}rm -rf ${OBJSDIR}
+
+.PHONY: cleandeps
+cleandeps:
+ ${Q1}${PRNTFMT} "rm" "${DEPSDIR}"
+ ${Q2}rm -rf ${DEPSDIR}