aboutsummaryrefslogtreecommitdiff
path: root/gfsm/gfsm/src/libgfsm/tests/Makefile
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)