|
a/Makefile |
|
b/Makefile |
1 |
C2IEC=c2iec |
1 |
C2IEC=c2iec |
2 |
TESTS=$(patsubst %.c, %.test, $(wildcard test/*.c)) |
2 |
TESTS=$(patsubst %.c, %.test, $(wildcard test/*.c)) |
3 |
TEST_LOGS=$(patsubst %.c, %.test.log, $(wildcard test/*.c)) |
3 |
TEST_LOGS=$(patsubst %.c, %.test.log, $(wildcard test/*.c)) |
4 |
|
4 |
|
|
|
5 |
# if parameter "DEBUG" is set, we set debug flags for lex/yacc |
|
|
6 |
ifneq (${DEBUG},) |
|
|
7 |
DEBUG_FLAGS += -d |
|
|
8 |
endif |
|
|
9 |
|
5 |
all: ${C2IEC} |
10 |
all: ${C2IEC} |
6 |
|
11 |
|
7 |
${C2IEC}: lex.yy.c y.tab.c |
12 |
${C2IEC}: lex.yy.c y.tab.c |
8 |
gcc -o $@ $^ |
13 |
gcc -o $@ $^ |
9 |
|
14 |
|
10 |
lex.yy.c: ${C2IEC}.l |
15 |
lex.yy.c: ${C2IEC}.l |
11 |
flex -d $^ |
16 |
flex ${DEBUG_FLAGS} $^ |
12 |
|
17 |
|
13 |
y.tab.c: ${C2IEC}.y |
18 |
y.tab.c: ${C2IEC}.y |
14 |
yacc -d $^ |
19 |
yacc ${DEBUG_FLAGS} $^ |
15 |
|
20 |
|
16 |
y.dot: ${C2IEC}.y |
21 |
y.dot: ${C2IEC}.y |
17 |
yacc -g $^ |
22 |
yacc -g $^ |
18 |
|
23 |
|
19 |
commit: ${TEST_LOGS} |
24 |
commit: ${TEST_LOGS} |
20 |
for i in ${TEST_LOGS}; do \ |
25 |
for i in ${TEST_LOGS}; do \ |
21 |
cp $$i $$(dirname $$i)/$$(basename $$i .log).expected; \ |
26 |
cp $$i $$(dirname $$i)/$$(basename $$i .log).expected; \ |
22 |
done |
27 |
done |
23 |
clean: |
28 |
clean: |
24 |
rm -f ${C2IEC} |
29 |
rm -f ${C2IEC} |
25 |
rm -f ${TEST_LOGS} |
30 |
rm -f ${TEST_LOGS} |
|
|
31 |
rm -f lex.yy.c |
|
|
32 |
rm -f y.tab.c |
26 |
|
33 |
|
27 |
.PHONY: test |
34 |
.PHONY: test |
28 |
test: ${TESTS} |
35 |
test: ${TESTS} |
29 |
|
36 |
|
30 |
%.test: %.test.log |
37 |
%.test: %.test.log |
|
... |
|
... |
44 |
|
51 |
|