config dir fix
[physics.git] / src / Makefile
index 662824e..ec5ce8e 100644 (file)
@@ -39,7 +39,17 @@ TARGETNAME  := run_physics
 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
@@ -57,12 +67,17 @@ else
 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}
@@ -74,12 +89,12 @@ ${BLDDIRS}:
        ${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 $@ $<