-CURDIR := GameStates/
-FILES := # insure blank
-FILES += CreatingPolygon.cpp
-FILES += GameState.cpp
-FILES += Paused.cpp
-FILES += Running.cpp
+NEWSRCS := # := start; empty
-FILES := $(addprefix ${CURDIR},${FILES})
+NEWSRCS += CreatingPolygon.cpp
+NEWSRCS += GameState.cpp
+NEWSRCS += Paused.cpp
+NEWSRCS += Running.cpp
+
+NEWDIRS := # := start; empty
+
+################################################################################
+
+NEWSRCS := $(addprefix ${SRCPATH},${NEWSRCS})
+NEWDIRS := $(addprefix ${SRCPATH},${NEWDIRS})
+NEWOBJS := ${NEWSRCS:.cpp=.o}
+NEWDEPS := ${NEWSRCS:.cpp=.d}
+
+NEWOBJSDIRS := $(addprefix ${OBJSDIR_$P},${NEWDIRS})
+NEWDEPSDIRS := $(addprefix ${DEPSDIR_$P},${NEWDIRS})
+
+# Append to lists
+
+L_SRCS_$P += ${NEWSRCS}
+L_OBJS_$P += $(addprefix ${OBJSDIR_$P},${NEWOBJS})
+L_DEPS_$P += $(addprefix ${DEPSDIR_$P},${NEWDEPS})
+
+L_BLDDIRS_$P += ${NEWOBJSDIRS}
+L_BLDDIRS_$P += ${NEWDEPSDIRS}
-SRCS += ${FILES}