0
|
1 # common makefile
|
|
2
|
|
3 # program
|
|
4 PROGRAM = baum
|
2
|
5 SRC = baum.c actions.c
|
0
|
6 OBJ = ${SRC:.c=.o}
|
2
|
7 DEP = baum.h actions.h
|
0
|
8
|
|
9 # compile env
|
|
10 CC = gcc
|
|
11 LD = ${CC}
|
|
12 DEBUG = -g
|
|
13 CFLAGS = -Wall -c ${DEBUG}
|
|
14 LFLAGS = -Wall ${DEBUG}
|
|
15
|
|
16 ####
|
|
17
|
|
18 all: options ${PROGRAM}
|
|
19
|
|
20 options:
|
|
21 @echo build options:
|
|
22 @echo "CC = ${CC}"
|
|
23 @echo "LD = ${LD}"
|
|
24 @echo "CFLAGS = ${CFLAGS}"
|
|
25 @echo "LFLAGS = ${LFLAGS}"
|
|
26 @echo
|
|
27
|
|
28 .cpp.o:
|
|
29 $(CC) $(CFLAGS) $<
|
|
30
|
|
31 ${OBJ}: ${DEP}
|
|
32
|
|
33 ${PROGRAM}: ${OBJ}
|
|
34 $(LD) $(LFLAGS) ${OBJ} -o $@
|
|
35
|
|
36 debug: all
|
|
37 gdb ${PROGRAM}
|
|
38
|
|
39 strip: ${PROGRAM}
|
|
40 @echo stripping ${PROGRAM}
|
|
41 @strip ${PROGRAM}
|
|
42
|
|
43 tar: clean
|
|
44 @echo creating archive
|
|
45 @tar -czvf ${PROGRAM}.tar.gz *
|
|
46
|
|
47 clean:
|
|
48 @echo cleaning
|
|
49 @rm -f ${PROGRAM} ${OBJ}
|
|
50
|
|
51 .PHONY: all options debug strip tar clean
|