Makefile

changeset 0
86b7f6f9c5c0
child 1
6e704fc09528
equal deleted inserted replaced
-1:000000000000 0:86b7f6f9c5c0
1 #
2 # libtu Makefile
3 #
4
5 # Where to install? ($PREFIX/lib/libtu.a, $PREFIX/include/libtu/)
6 #
7 PREFIX=/usr/local
8
9 # Any extra defines needed
10 #
11 #DEFINES=
12
13 # Any extra include paths needed
14 #
15 #INCLUDES=
16
17 ######################################
18
19 WARN= -W -Wimplicit -Wreturn-type -Wswitch -Wcomment \
20 -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized \
21 -Wparentheses -pedantic-errors
22
23 CC_FLAGS=-g -O2 -ansi $(DEFINES) $(INCLUDES) $(WARN)
24 CC=gcc
25 AR=ar
26 AR_FLAGS=crs
27
28 INSTALL=install
29 MODE=644
30
31 ######################################
32
33 OBJS= misc.o output.o util.o optparser.o parser.o tokenizer.o
34
35 DEPEND= .depend
36
37 LIBDIR=$(PREFIX)/lib
38 INCDIR=$(PREFIX)/include/libtu
39
40 TARGETS=libtu.a
41 TESTERS=tester tester2 tester3
42
43 ######################################
44
45 all: $(TARGETS)
46
47 testers: $(TESTERS)
48
49 libtu.a: $(OBJS)
50 $(AR) $(AR_FLAGS) $@ $+
51
52 %: %.c
53 $(CC) $(CC_FLAGS) $+ -L. -ltu -lm -o $@
54
55 %.o: %.c
56 $(CC) $(CC_FLAGS) -c $< -o $@
57
58 clean:
59 rm -f $(OBJS) $(DEPEND)
60
61 realclean: clean
62 rm -f $(TARGETS)
63
64 depend:
65 $(CC) -M $(CC_FLAGS) *.c > $(DEPEND)
66
67 install:
68 $(INSTALL) -d $(LIBDIR)
69 $(INSTALL) -d $(INCDIR)
70 $(INSTALL) -m $(MODE) libtu.a $(LIBDIR)
71 $(INSTALL) -m $(MODE) include/* $(INCDIR)
72
73 ifeq ($(DEPEND),$(wildcard $(DEPEND)))
74 include $(DEPEND)
75 endif

mercurial