]> git.localhorst.tv Git - l2e.git/blob - build/l2e.mk
19d3f5b15211ae2a9fd338a0719fbf1cea4f29d4
[l2e.git] / build / l2e.mk
1 L2E_DIRS := $(shell cd $(srcdir) && find * -type d)
2 L2E_SRCS := $(shell cd $(srcdir)&& find * -type f -name '*.cpp')
3 L2E_DEPS = $(L2E_SRCS:%.cpp=%.d)
4 L2E_OBJS = $(L2E_SRCS:%.cpp=%.o)
5 L2E_EXES = l2e
6
7 L2E_FLAGS = $(sort $(strip \
8                 $(SDL_FLAGS) \
9                 $(SDL_IMG_FLAGS) \
10                 ))
11 L2E_LIBS = $(sort $(strip \
12                 $(SDL_LIBS) \
13                 $(SDL_IMG_LIBS) \
14                 ))
15
16 -include $(L2E_DEPS)
17
18 $(L2E_OBJS): %.o: $(srcdir)/%.cpp
19         -@$(MKDIR) "$(@D)"
20         @echo "compile: $@"
21         $(VERBOSE) $(CXX) -c -o "$@" -MMD -MP -MF"$*.d" -MT"$@" "$<" \
22                         $(L2E_FLAGS) $(CPPFLAGS) $(CXXFLAGS)
23
24 $(L2E_EXES): $(L2E_OBJS)
25         -@$(MKDIR) "$(@D)"
26         @echo "link: $@"
27         $(VERBOSE) $(CXX) -o "$@" $^ \
28                         $(L2E_FLAGS) $(L2E_LIBS) $(LDFLAGS)
29
30 l2e-all: $(L2E_EXES)
31
32 l2e-clean:
33         $(VERBOSE) -$(RM) $(L2E_DEPS)
34         $(VERBOSE) -$(RM) $(L2E_OBJS)
35         $(VERBOSE) -$(RM) $(L2E_EXES)
36         $(VERBOSE) -$(RMDIR) $(L2E_DIRS)
37
38 all: l2e-all
39 clean: l2e-clean
40
41 .PHONY: l2e-all l2e-clean
42
43 -include $(BUILD)l2e-local.mk