comparison Makefile.gen @ 671:dd3083a3383d

Use the makefile.inc helper from th-libs for generic targets.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 09 Mar 2016 15:09:59 +0200
parents 32c13602c091
children 650e7a5c74c5
comparison
equal deleted inserted replaced
670:06199003043a 671:dd3083a3383d
4 CFLAGS += -g -W -Wall -Wextra -DTH_NO_DEFAULTS -I. 4 CFLAGS += -g -W -Wall -Wextra -DTH_NO_DEFAULTS -I.
5 CFLAGS += -O2 5 CFLAGS += -O2
6 CFLAGS += -std=c11 -pedantic -D_XOPEN_SOURCE=500 6 CFLAGS += -std=c11 -pedantic -D_XOPEN_SOURCE=500
7 THLIBS=th-libs/ 7 THLIBS=th-libs/
8 8
9 MKDIR ?= mkdir
10 MKDIR_P ?= $(MKDIR) -p
11 9
12 # 10 #
13 # Version strings 11 # Version strings
14 # 12 #
15 NN_VERSION := $(shell cat VERSION) 13 NN_VERSION := $(shell cat VERSION)
25 23
26 NNCHAT_OBJ=main.o util.o ui.o 24 NNCHAT_OBJ=main.o util.o ui.o
27 NNCHAT_BIN=$(BINPATH)nnchat$(EXEEXT) 25 NNCHAT_BIN=$(BINPATH)nnchat$(EXEEXT)
28 26
29 TARGETS += $(NNCHAT_BIN) 27 TARGETS += $(NNCHAT_BIN)
30 NOBUILD_TARGETS += $(OBJPATH) $(BINPATH)
31 NOINST_TARGETS += $(THLIBS_A)
32 28
29 include $(THLIBS)/Makefile.inc
33 30
34 # 31 #
35 # Target rules 32 # Target rules
36 # 33 #
37 all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS)
38
39 $(OBJPATH):
40 $(MKDIR_P) $@
41
42 $(BINPATH):
43 $(MKDIR_P) $@
44
45 $(OBJPATH)%.o: $(THLIBS)%.c $(THLIBS)%.h
46 $(CC) $(CFLAGS) -c -o $@ $<
47
48 $(OBJPATH)%.o: %.c %.h
49 $(CC) $(CFLAGS) -c -o $@ $< -I$(THLIBS)
50
51 $(OBJPATH)%.o: %.c
52 $(CC) $(CFLAGS) -c -o $@ $< -I$(THLIBS)
53
54 $(THLIBS_A): $(addprefix $(OBJPATH),$(THLIBS_OBJ))
55 $(AR) cru $@ $(addprefix $(OBJPATH),$(THLIBS_OBJ))
56 $(RANLIB) $@
57
58 main.c: VERSION 34 main.c: VERSION
59 35
60 $(NNCHAT_BIN): $(addprefix $(OBJPATH),$(NNCHAT_OBJ)) $(THLIBS_A) $(EXTRAOBJS) 36 $(NNCHAT_BIN): $(addprefix $(OBJPATH),$(NNCHAT_OBJ)) $(THLIBS_A) $(EXTRAOBJS)
61 $(CC) $(CFLAGS) -o $@ $+ $(LDFLAGS) 37 @echo " LINK $@"
38 @$(CC) $(CFLAGS) -o $@ $+ $(LDFLAGS)
62 39
63 # 40 #
64 # Documentation 41 # Documentation
65 # 42 #
66 $(DOC): 43 $(DOC):
67 @wget -qO- http://www.tnsp.org/~ccr/nnchat/ | tr '\n' '§' | \ 44 @wget -qO- http://www.tnsp.org/~ccr/nnchat/ | tr '\n' '§' | \
68 sed "s/<.-- BEGIN -->.*<.-- END -->//g;s/<script.*<\/script>//g" | tr '§' '\n' > "$@.tmp" 45 sed "s/<.-- BEGIN -->.*<.-- END -->//g;s/<script.*<\/script>//g" | tr '§' '\n' > "$@.tmp"
69 @links -dump "$@.tmp" > $@ 46 @links -dump "$@.tmp" > $@
70 47
71 48
72 #
73 # Special targets
74 #
75 clean:
76 $(RM) $(TARGETS) $(NOINST_TARGETS) $(OBJPATH)*.o
77
78 srcclean: clean
79 $(RM) *~
80