]> git.localhorst.tv Git - l2e.git/blobdiff - build/l2e.mk
switched to hand-written makefiles
[l2e.git] / build / l2e.mk
diff --git a/build/l2e.mk b/build/l2e.mk
new file mode 100644 (file)
index 0000000..e756cf8
--- /dev/null
@@ -0,0 +1,43 @@
+L2E_DIRS := $(shell cd $(srcdir) && find * -type d)
+L2E_SRCS := $(shell cd $(srcdir)&& find * -type f -name '*.cpp')
+L2E_DEPS = $(L2E_SRCS:%.cpp=%.d)
+L2E_OBJS = $(L2E_SRCS:%.cpp=%.o)
+L2E_EXES = l2e
+
+L2E_FLAGS = $(sort $(strip \
+               $(SDL_FLAGS) \
+               $(SDL_IMG_FLAGS) \
+               ))
+L2E_LIBS = $(sort $(strip \
+               $(SDL_LIBS) \
+               $(SDL_IMG_LIBS) \
+               ))
+
+-include $(L2E_DEPS)
+
+$(L2E_OBJS): %.o: $(srcdir)/%.cpp
+       -@$(MKDIR) "$(@D)"
+       @echo "compile: $@"
+       $(VERBOSE) $(CXX) -c -o "$@" -MMD -MP -MF"$*.d" -MT"$@)" "$<" \
+                       $(L2E_FLAGS) $(CPPFLAGS) $(CXXFLAGS)
+
+$(L2E_EXES): $(L2E_OBJS)
+       -@$(MKDIR) "$(@D)"
+       @echo "link: $@"
+       $(VERBOSE) $(CXX) -o "$@" $^ \
+                       $(L2E_FLAGS) $(L2E_LIBS) $(LDFLAGS)
+
+l2e-all: $(L2E_EXES)
+
+l2e-clean:
+       $(VERBOSE) -$(RM) $(L2E_DEPS)
+       $(VERBOSE) -$(RM) $(L2E_OBJS)
+       $(VERBOSE) -$(RM) $(L2E_EXES)
+       $(VERBOSE) -$(RMDIR) $(L2E_DIRS)
+
+all: l2e-all
+clean: l2e-clean
+
+.PHONY: l2e-all l2e-clean
+
+-include $(BUILD)l2e-local.mk