4
|
1 CFLAGS += -g -W -Wall -Wextra
|
0
|
2 CFLAGS += -O2
|
52
|
3 CFLAGS += -std=c11 -pedantic -D_XOPEN_SOURCE=500
|
0
|
4 THLIBS=th-libs/
|
|
5
|
|
6 MKDIR ?= mkdir
|
|
7 MKDIR_P ?= $(MKDIR) -p
|
|
8
|
|
9 #
|
|
10 # Objects
|
|
11 #
|
|
12 THLIBS_A=$(OBJPATH)thlibs.a
|
1
|
13 THLIBS_OBJ=th_util.o th_string.o th_endian.o th_args.o th_crypto.o
|
0
|
14
|
|
15
|
|
16 SIDINFO_OBJ=sidinfo.o
|
|
17 SIDINFO_BIN=$(BINPATH)sidinfo$(EXEEXT)
|
|
18
|
68
|
19 TARGETS += $(SIDINFO_BIN)
|
|
20 NOINST_TARGETS += $(THLIBS_A)
|
|
21 NONBUILD += $(OBJPATH) $(BINPATH)
|
0
|
22
|
|
23
|
|
24 #
|
|
25 # Target rules
|
|
26 #
|
68
|
27 all: $(NONBUILD) $(NOINST_TARGETS) $(TARGETS)
|
0
|
28
|
|
29 $(OBJPATH):
|
|
30 $(MKDIR_P) $@
|
|
31
|
|
32 $(BINPATH):
|
|
33 $(MKDIR_P) $@
|
|
34
|
|
35 $(OBJPATH)%.o: $(THLIBS)%.c $(THLIBS)%.h
|
|
36 $(CC) $(CFLAGS) -c -o $@ $<
|
|
37
|
|
38 $(OBJPATH)%.o: %.c %.h
|
|
39 $(CC) $(CFLAGS) -c -o $@ $< -I$(THLIBS)
|
|
40
|
|
41 $(OBJPATH)%.o: %.c
|
|
42 $(CC) $(CFLAGS) -c -o $@ $< -I$(THLIBS)
|
|
43
|
|
44
|
4
|
45 $(THLIBS_A): $(addprefix $(OBJPATH),$(THLIBS_OBJ))
|
0
|
46 $(AR) cru $@ $(addprefix $(OBJPATH),$(THLIBS_OBJ))
|
|
47 $(RANLIB) $@
|
|
48
|
|
49 $(SIDINFO_BIN): $(addprefix $(OBJPATH),$(SIDINFO_OBJ)) $(THLIBS_A) $(EXTRAOBJS)
|
|
50 $(CC) $(CFLAGS) -o $@ $+ $(LDFLAGS)
|
|
51
|
|
52 #
|
|
53 # Special targets
|
|
54 #
|
|
55 clean:
|
|
56 $(RM) $(TARGETS) $(OBJPATH)*.o
|
|
57
|
|
58 srcclean: clean
|
|
59 $(RM) *~
|
|
60
|