-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile.common.mk
88 lines (74 loc) · 1.72 KB
/
Makefile.common.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
########################
# Utility Declarations #
########################
ifeq ($(VERBOSE_BUILD),true)
DO_CC=$(CC) $(CFLAGS) -o $@ -c $<
DO_CXX=$(CXX) $(CFLAGS) -o $@ -c $<
else
DO_CC=@$(ECHO) "CC: $@" &&\
$(CC) $(CFLAGS) -o $@ -c $<
DO_CXX=@$(ECHO) "CXX: $@" &&\
$(CXX) $(CFLAGS) -o $@ -c $<
endif
########################
# GameLib Declarations #
########################
CFLAGS += -Isrc
GAMELIB_HEADS := \
src/TimeUtils.h \
src/Util.h \
src/QuadArray2D.h \
src/Draw.h \
src/Input.h \
src/Audio.h \
src/Anim.h \
src/Entity.h \
src/GameLib.h
GAMELIBS_OBJS := \
$(BUILDDIR)/TimeUtils.o \
$(BUILDDIR)/Util.o \
$(BUILDDIR)/QuadArray2D.o \
$(BUILDDIR)/Draw.o \
$(BUILDDIR)/Input.o \
$(BUILDDIR)/Audio.o \
$(BUILDDIR)/Anim.o \
$(BUILDDIR)/Entity.o \
$(BUILDDIR)/GameLib.o
RES_GAMELIB_OUT := $(BUILDDIR)/$(RES_GAMELIB)
#################
# General Rules #
#################
all: $(BUILDDIR) $(RES_GAMELIB_OUT)
$(BUILDDIR):
$(MKDIR) $(BUILDDIR)
clean:
$(RM) $(BUILDDIR)
lib: $(BUILDDIR) $(RES_GAMELIB_OUT)
rebuild: clean all
#################
# GameLib Rules #
#################
$(BUILDDIR)/TimeUtils.o: src/TimeUtils.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/Util.o: src/Util.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/QuadArray2D.o: src/QuadArray2D.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/Draw.o: src/Draw.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/Input.o: src/Input.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/Audio.o: src/Audio.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/Entity.o: src/Entity.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/Anim.o: src/Anim.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/GameLib.o: src/GameLib.c $(HEADS)
$(DO_CC)
################
# Result Rules #
################
$(RES_GAMELIB_OUT): $(GAMELIBS_OBJS)
@$(ECHO) "STATICLIB: $@"
@$(AR) rcs $(RES_GAMELIB_OUT) $(GAMELIBS_OBJS)