0
|
1 CFLAGS += -g -W -Wall -Wextra -DHAVE_CONFIG_H=1 -I.
|
|
2 CFLAGS += -O2
|
|
3 #CFLAGS += -std=c99 -pedantic
|
|
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 ENDIANCHK_BIN=$(BINPATH)endianchk$(EXEEXT)
|
|
16
|
|
17 SIDINFO_OBJ=sidinfo.o
|
|
18 SIDINFO_BIN=$(BINPATH)sidinfo$(EXEEXT)
|
|
19
|
|
20 TARGETS+=$(THLIBS_A) $(SIDINFO_BIN) $(ENDIANCHK_BIN)
|
|
21
|
|
22 NONBUILD+=$(OBJPATH) $(BINPATH) config.h
|
|
23
|
|
24
|
|
25 #
|
|
26 # Target rules
|
|
27 #
|
|
28 all: $(NONBUILD) $(TARGETS)
|
|
29
|
|
30 $(OBJPATH):
|
|
31 $(MKDIR_P) $@
|
|
32
|
|
33 $(BINPATH):
|
|
34 $(MKDIR_P) $@
|
|
35
|
|
36 $(OBJPATH)%.o: $(THLIBS)%.c $(THLIBS)%.h
|
|
37 $(CC) $(CFLAGS) -c -o $@ $<
|
|
38
|
|
39 $(OBJPATH)%.o: %.c %.h
|
|
40 $(CC) $(CFLAGS) -c -o $@ $< -I$(THLIBS)
|
|
41
|
|
42 $(OBJPATH)%.o: %.c
|
|
43 $(CC) $(CFLAGS) -c -o $@ $< -I$(THLIBS)
|
|
44
|
|
45
|
|
46 $(THLIBS_A): $(ENDIANCHK_BIN) $(addprefix $(OBJPATH),$(THLIBS_OBJ))
|
|
47 $(AR) cru $@ $(addprefix $(OBJPATH),$(THLIBS_OBJ))
|
|
48 $(RANLIB) $@
|
|
49
|
|
50 $(SIDINFO_BIN): $(addprefix $(OBJPATH),$(SIDINFO_OBJ)) $(THLIBS_A) $(EXTRAOBJS)
|
|
51 $(CC) $(CFLAGS) -o $@ $+ $(LDFLAGS)
|
|
52
|
|
53 $(ENDIANCHK_BIN): endianchk.o
|
|
54 $(CC) -o $@ $+
|
|
55
|
|
56 config.h:
|
|
57 $(ENDIANCHK_BIN) > $@
|
|
58
|
|
59 #
|
|
60 # Special targets
|
|
61 #
|
|
62 clean:
|
|
63 $(RM) $(TARGETS) $(OBJPATH)*.o
|
|
64
|
|
65 srcclean: clean
|
|
66 $(RM) *~
|
|
67
|