TARGETTMP := ${OBJSDIR}${TARGETNAME}
TARGET := ${WORKINGDIR}${TARGETNAME}
-BLDDIRS := $(addprefix ${DEPSDIR},${DIRS}) $(addprefix ${OBJSDIR},${DIRS}) ${WORKINGDIR}
+CONFIGDIRNAME := configs/
+CONFIGDIR := ../${CONFIGDIRNAME}
+CONFIGDEST := ${WORKINGDIR}${CONFIGDIRNAME}
+
+CONFIGS := # := start
+CONFIGS += keys.cfg
+CONFIGS := $(addprefix ${CONFIGDEST},${CONFIGS})
+
+DEPSBLDDIRS := $(addprefix ${DEPSDIR},${DIRS})
+OBJSBLDDIRS := $(addprefix ${OBJSDIR},${DIRS})
+BLDDIRS := ${OBJSBLDDIRS} ${DEPSBLDDIRS} ${WORKINGDIR} ${CONFIGDEST}
VERBOSE := 0
endif
.PHONY: all
-all: ${TARGET}
+all: ${TARGET} ${CONFIGS}
+
+# rule to copy the config files into the working directory
+${CONFIGDEST}%.cfg: ${CONFIGDIR}%.cfg | ${CONFIGDEST} ${WORKINGDIR}
+ ${Q1}echo "cp: $@"
+ ${Q2}cp $< $@
# rule to copy tmp target to working directory
-${TARGET}: ${TARGETTMP}
+${TARGET}: ${TARGETTMP} | ${WORKINGDIR}
${Q1}echo "cp: $@"
- ${Q2}cp $^ $@
+ ${Q2}cp $< $@
# how to link the main target
${TARGETTMP}: ${OBJS}
${Q2}mkdir -p $@
# rule to make a depend file from a .cpp
-${DEPSDIR}%.d: %.cpp | ${BLDDIRS}
+${DEPSDIR}%.d: %.cpp | ${DEPSBLDDIRS}
${Q1}echo "DEP: $@"
${Q2}${CXX} -MM ${CXXFLAGS} $< | sed 's,\(^.*\):,${OBJSDIR}\1 $@:,' > $@
# rule to make an object file from a .cpp
-${OBJSDIR}%.o: %.cpp | ${BLDDIRS}
+${OBJSDIR}%.o: %.cpp | ${OBJSBLDDIRS}
${Q1}echo "${CXX}: $@"
${Q2}${CXX} ${CXXFLAGS} -c -o $@ $<