+clean::
+ -rm -rf .libs
+ -rm -rf *.a
+ -rm -rf *.d
+ -rm -rf *.o
+ -rm -rf *.la
+ -rm -rf *.lo
+ -rm -rf *.so
+ -rm -rf ${OBJ_DIR}
+ -rm -rf ${DEP_DIR}
+ -rm -rf ${TESTDATA_DIR}
+
+.PHONY: testdata
+testdata:
+ ./genTestData.sh
+
+build: cassiopeia-test testdata
+ ${BIN}
+
+.PHONY: install
+install: build
+
+.PHONY: libs
+libs: ${LIBS}
+
+.PHONY: openssl
+openssl:
+ ${MAKE} -C ../lib openssl
+
+.PHONY: collissiondetect
+collissiondetect:
+ ${MAKE} -C ../lib/collissiondetect
+
+# --------
+
+cassiopeia-test: bin/cassiopeia-test
+
+bin/cassiopeia-test: libs ${FS_OBJ}
+ ${MKDIR} $(shell dirname $@) && ${LD} ${LDFLAGS} -o $@ ${FS_OBJ} $(filter-out %/main.o,$(wildcard ../obj/*.o))
+
+${DEP_DIR}/%.d: ${SRC_DIR}/%.cpp
+ ${MKDIR} $(shell dirname $@) && $(CXX_DEP) $(CXXFLAGS) -M -MF $@ $<
+${DEP_DIR}/%.d: ${SRC_DIR}/%.c
+ ${MKDIR} $(shell dirname $@) && $(CC) $(CXXFLAGS) -M -MF $@ $<
+
+${OBJ_DIR}/%.lo ${OBJ_DIR}/%.o: ${SRC_DIR}/%.c ${DEP_DIR}/%.d
+ ${MKDIR} $(shell dirname $@) && $(CC) $(CFLAGS) -o $@ -c $<
+${OBJ_DIR}/%.lo ${OBJ_DIR}/%.o: ${SRC_DIR}/%.cpp ${DEP_DIR}/%.d
+ ${MKDIR} $(shell dirname $@) && $(CXX) $(CXXFLAGS) -o $@ -c $<
+
+-include $(FS_DEP)