X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=build%2Fl2e.mk;h=cfc4e745be50a7d02e738415790f83d0a2ee5d62;hb=ef2496b3cb7ce66b7f831278be66261834b732e5;hp=19d3f5b15211ae2a9fd338a0719fbf1cea4f29d4;hpb=c5e56f45e08fcc6c4dceb586ce3d671a3f3907ab;p=l2e.git diff --git a/build/l2e.mk b/build/l2e.mk index 19d3f5b..cfc4e74 100644 --- a/build/l2e.mk +++ b/build/l2e.mk @@ -1,9 +1,15 @@ -L2E_DIRS := $(shell cd $(srcdir) && find * -type d) -L2E_SRCS := $(shell cd $(srcdir)&& find * -type f -name '*.cpp') +L2E_DIRS := $(shell cd $(TOP) && find src -type d) +L2E_SRCS := $(shell cd $(TOP) && find src -type f -name '*.cpp') L2E_DEPS = $(L2E_SRCS:%.cpp=%.d) L2E_OBJS = $(L2E_SRCS:%.cpp=%.o) L2E_EXES = l2e +L2E_TEST_DIRS := $(shell cd $(TOP) && find tests -type d) +L2E_TEST_SRCS := $(shell cd $(TOP) && find tests -type f -name '*.cpp') +L2E_TEST_DEPS := $(L2E_TEST_SRCS:%.cpp=%.d) +L2E_TEST_OBJS := $(L2E_TEST_SRCS:%.cpp=%.o) +L2E_TEST_EXES := test-all + L2E_FLAGS = $(sort $(strip \ $(SDL_FLAGS) \ $(SDL_IMG_FLAGS) \ @@ -13,9 +19,13 @@ L2E_LIBS = $(sort $(strip \ $(SDL_IMG_LIBS) \ )) +L2E_TEST_FLAGS = $(L2E_FLAGS) $(CPPUNIT_FLAGS) +L2E_TEST_LIBS = $(L2E_LIBS) $(CPPUNIT_LIBS) + -include $(L2E_DEPS) +-include $(L2E_TEST_DEPS) -$(L2E_OBJS): %.o: $(srcdir)/%.cpp +$(L2E_OBJS): %.o: $(TOP)/%.cpp -@$(MKDIR) "$(@D)" @echo "compile: $@" $(VERBOSE) $(CXX) -c -o "$@" -MMD -MP -MF"$*.d" -MT"$@" "$<" \ @@ -27,17 +37,41 @@ $(L2E_EXES): $(L2E_OBJS) $(VERBOSE) $(CXX) -o "$@" $^ \ $(L2E_FLAGS) $(L2E_LIBS) $(LDFLAGS) +$(L2E_TEST_OBJS): %.o: $(TOP)/%.cpp + -@$(MKDIR) "$(@D)" + @echo "compile: $@" + $(VERBOSE) $(CXX) -c -o "$@" -MMD -MP -MF"$*.d" -MT"$@" "$<" \ + $(L2E_TEST_FLAGS) $(CPPFLAGS) $(CXXFLAGS) + +$(L2E_TEST_EXES): $(L2E_TEST_OBJS) $(filter-out src/main.o, $(L2E_OBJS)) + -@$(MKDIR) "$(@D)" + @echo "link: $@" + $(VERBOSE) $(CXX) -o "$@" $^ \ + $(L2E_TEST_FLAGS) $(L2E_TEST_LIBS) $(LDFLAGS) + l2e-all: $(L2E_EXES) l2e-clean: $(VERBOSE) -$(RM) $(L2E_DEPS) $(VERBOSE) -$(RM) $(L2E_OBJS) $(VERBOSE) -$(RM) $(L2E_EXES) + $(VERBOSE) -$(RM) $(L2E_TEST_DEPS) + $(VERBOSE) -$(RM) $(L2E_TEST_OBJS) + $(VERBOSE) -$(RM) $(L2E_TEST_EXES) $(VERBOSE) -$(RMDIR) $(L2E_DIRS) + $(VERBOSE) -$(RMDIR) $(L2E_TEST_DIRS) + +l2e-tests: $(L2E_TEST_EXES) + +l2e-test-all: test-all + @echo "test: test-all" + $(VERBOSE) ./test-all all: l2e-all clean: l2e-clean +tests: l2e-tests +test: l2e-test-all -.PHONY: l2e-all l2e-clean +.PHONY: l2e-all l2e-clean l2e-tests l2e-test-all -include $(BUILD)l2e-local.mk