blob: f4ec8630de29f007595aea93487d4f33144a0bca (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
TARGETS = priotest
KNOWN_TARGETS = \
priotest \
seek3test \
seek2test \
offsettest \
arctab-1test \
seektest \
gfsmlabdump \
iotest \
structtest \
pathtest \
memtest \
memtest-general \
ftest \
flextest \
calctest \
flex2test \
calc2test \
flex3test \
compretest \
comprelex \
compre2test
CC = gcc
#CC = ccmalloc --no-wrapper gcc
LD = $(CC)
CPPFLAGS = -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
CFLAGS ?= -O2 -pipe
#CFLAGS ?= -Wall -g
#CFLAGS += -Wall -g
#CFLAGS = -Wall -g
CFLAGS += -Wall -Winline
LDFLAGS = -L../libgfsm/.libs -L/usr/local/lib -L/usr/lib
LIBS = -lz -lglib-2.0 -lm
GFSMLIBS = ../.libs/libgfsm.a
LEX ?= flex
FLEX ?= flex
FLEXFLAGS ?=
BISON ?= bison
BISONFLAGS ?= --verbose
all: $(TARGETS)
##-- keep intermediate files
.SECONDARY:
seektest.o: seektest.c labprobs.h
seektest: seektest.o
##-- flex
%.lex.c %.lex.h: %.l
$(FLEX) $(FLEXFLAGS) --outfile="$*.lex.c" --header-file="$*.lex.h" $^
calctest.lex.o: calctest.tab.h
calc2test.lex.o: calc2test.tab.h ../gfsmRegexCompiler.h
compretest.lex.o: compretest.tab.h ../gfsmRegexCompiler.h
comprelex.lex.o: compretest.lex.c compretest.lex.h ../gfsmRegexCompiler.h
##-- gfsmlabdump
gfsmlabdump: gfsmlabdump.o ../.libs/libgfsm.a
$(LD) $(LDFLAGS) -o $@ $< $(GFSMLIBS) $(LIBS)
##-- bison
%.tab.c %.tab.h: %.y
$(BISON) $(BISONFLAGS) --defines --file-prefix="$*" --name-prefix="$*_yy" $^
##-- flex+bison
calctest: calctest.lex.o calctest.tab.o $(GFSMLIBS)
$(LD) $(LDFLAGS) -o $@ $^ $(GFSMLIBS) $(LIBS)
calc2test: calc2test.lex.o calc2test.tab.o $(GFSMLIBS)
$(LD) $(LDFLAGS) -o $@ $^ $(GFSMLIBS) $(LIBS)
flex2test: flex2test.lex.o $(GFSMLIBS)
$(LD) $(LDFLAGS) -o $@ $^ $(GFSMLIBS) $(LIBS)
flex3test: flex3test.lex.o $(GFSMLIBS)
$(LD) $(LDFLAGS) -o $@ $^ $(GFSMLIBS) $(LIBS)
compretest: compretest.lex.o compretest.tab.o $(GFSMLIBS)
$(LD) $(LDFLAGS) -o $@ $^ $(GFSMLIBS) $(LIBS)
comprelex: comprelex.lex.o $(GFSMLIBS)
$(LD) $(LDFLAGS) -o $@ $^ $(GFSMLIBS) $(LIBS)
compre2test: compre2test.o $(GFSMLIBS)
$(LD) $(LDFLAGS) -o $@ $^ $(GFSMLIBS) $(LIBS)
##-- io
iotest: iotest.o
$(LD) $(LDFLAGS) -o $@ $^ $(GFSMLIBS) $(LIBS)
##-- .c -> .o
%.o: %.c
$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $<
##-- clean
clean:
rm -f *.o *.lo *.tab.[ch] *.lex.[ch] $(KNOWN_TARGETS)
##-- executables
%test: %test.o
$(LD) $(LDFLAGS) -o $@ $^ $(GFSMLIBS) $(LIBS)
%-general: %-general.o
$(LD) $(LDFLAGS) -o $@ $^ $(GFSMLIBS) $(LIBS)
|