40
|
1 CXXFLAGS ?= -O3 -W -Wall -DGL_GLEXT_PROTOTYPES -std=c++11
|
34
|
2 LDFLAGS ?=
|
40
|
3 CXXFLAGS += $(SDL_CFLAGS) $(GL_CFLAGS)
|
|
4
|
|
5 MKDIR ?= mkdir
|
|
6 MKDIR_P ?= $(MKDIR) -p
|
|
7 BINPATH ?= ./
|
34
|
8
|
40
|
9 ifneq ($(V),1)
|
|
10 COMPILE_C_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo " CC $<" && $(CC) $(CFLAGS) -c -o $@ $<
|
|
11 COMPILE_CXX_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo " CXX $<" && $(CXX) $(CXXFLAGS) -c -o $@ $<
|
|
12 LINK_C_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo " LINK $@" && $(CC) -o $@ $(filter %.o %.a,$+)
|
|
13 LINK_CXX_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo " LINK $@" && $(CXX) -o $@ $(filter %.o %.a,$+)
|
|
14 LINK_STATIC_LIB = @echo " AR $@" && $(AR) cru $@ $(filter %.o,$+) && $(RANLIB) $@
|
|
15 else
|
|
16 COMPILE_C_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo "$(CC) $(CFLAGS) -c -o $@ $<" && $(CC) $(CFLAGS) -c -o $@ $<
|
|
17 COMPILE_CXX_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo "$(CXX) $(CXXFLAGS) -c -o $@ $<" && $(CXX) $(CXXFLAGS) -c -o $@ $<
|
|
18 LINK_C_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo "$(CC) -o $@ $(filter %.o %.a,$+)" && $(CC) -o $@ $(filter %.o %.a,$+)
|
|
19 LINK_CXX_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo "$(CXX) -o $@ $(filter %.o %.a,$+)" && $(CXX) -o $@ $(filter %.o %.a,$+)
|
|
20 LINK_STATIC_LIB = @echo "$(AR) cru $@ $(filter %.o,$+)" && $(AR) cru $@ $(filter %.o,$+) && echo "$(RANLIB) $@" && $(RANLIB) $@
|
|
21 endif
|
34
|
22
|
41
|
23 BINARIES = gldragon ply2bin
|
|
24
|
|
25 TARGETS += \
|
|
26 $(addprefix $(BINPATH),$(addsuffix $(BINEXT),$(BINARIES)))
|
|
27
|
|
28 NOBUILD_TARGETS +=
|
|
29 NOINST_TARGETS +=
|
|
30 CLEAN_TARGETS +=
|
|
31 DISTCLEAN_TARGETS +=
|
|
32
|
34
|
33
|
40
|
34 ###
|
|
35 ### Target rules
|
|
36 ###
|
|
37 all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS)
|
|
38
|
|
39
|
|
40 $(OBJPATH)%.o: %.cpp %.h
|
|
41 $(COMPILE_CXX_OBJ)
|
|
42
|
|
43 $(OBJPATH)%.o: %.cpp
|
|
44 $(COMPILE_CXX_OBJ)
|
|
45
|
34
|
46
|
41
|
47 $(BINPATH)gldragon$(BINEXT): $(addprefix $(OBJPATH), gldragon.o dmmodel.o dmutil.o)
|
40
|
48 $(LINK_CXX_BIN) $(LDFLAGS) $(SDL_LDFLAGS) $(GL_LDFLAGS)
|
|
49
|
41
|
50 $(BINPATH)ply2bin$(BINEXT): $(addprefix $(OBJPATH), ply2bin.o dmmodel.o dmutil.o)
|
40
|
51 $(LINK_CXX_BIN) $(LDFLAGS) $(TOOL_LDFLAGS)
|
|
52
|
34
|
53
|
40
|
54 ###
|
|
55 ### Special targets
|
|
56 ###
|
34
|
57 clean:
|
40
|
58 -$(RM) $(TARGETS) $(NOINST_TARGETS) $(CLEAN_TARGETS) $(OBJPATH)*.o
|
|
59
|
|
60 distclean: clean
|
|
61 -$(RM) $(DISTCLEAN_TARGETS) *~ core *.core
|
|
62
|
|
63 .PHONY: clean distclean all
|