Additional arguments to to_internal to specify output_buffer explicitly.
[gedcom-parse.git] / Makefile
1 # $Id$
2 # $Name$
3
4 YACC=bison
5 LEX=flex
6
7 CFLAGS=-g -W -Wall -pedantic
8 YFLAGS=--debug --defines
9 LFLAGS=-8
10
11 all:    ansel_module gedcom_parse
12
13 gedcom_parse:   standalone.o lex.gedcom_1byte_.o lex.gedcom_hilo_.o \
14                 lex.gedcom_lohi_.o gedcom.tab.o message.o multilex.o \
15                 encoding.o
16         $(CC) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@
17
18 ansel_module:
19         cd ansel && $(MAKE)
20
21 lex.gedcom_1byte_.c:    gedcom_1byte.lex gedcom.tab.h gedcom.h multilex.h \
22                         gedcom_lex_common.c encoding.h
23         $(LEX) $(LFLAGS) -Pgedcom_1byte_ gedcom_1byte.lex
24
25 lex.gedcom_hilo_.c:     gedcom_hilo.lex gedcom.tab.h gedcom.h multilex.h \
26                         gedcom_lex_common.c encoding.h
27         $(LEX) $(LFLAGS) -Pgedcom_hilo_ gedcom_hilo.lex
28
29 lex.gedcom_lohi_.c:     gedcom_lohi.lex gedcom.tab.h gedcom.h multilex.h \
30                         gedcom_lex_common.c encoding.h
31         $(LEX) $(LFLAGS) -Pgedcom_lohi_ gedcom_lohi.lex
32
33 gedcom.tab.c gedcom.tab.h:      gedcom.y gedcom.h
34         $(YACC) $(YFLAGS) --name-prefix=gedcom_ gedcom.y
35
36 clean:
37         rm -f core gedcom_parse test_* *.o lex.gedcom_* \
38         gedcom.tab.* gedcom.output
39         cd ansel && $(MAKE) clean
40
41 # Lexer test programs
42
43 test_1byte:     lex.gedcom_1byte_.test.o message.o encoding.o
44         $(CC) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@
45
46 lex.gedcom_1byte_.test.o:       lex.gedcom_1byte_.c
47         $(CC) -DLEXER_TEST -c $(CPPFLAGS) $(CFLAGS) $^ -o $@
48
49 test_hilo:      lex.gedcom_hilo_.test.o message.o encoding.o
50         $(CC) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@
51
52 lex.gedcom_hilo_.test.o:        lex.gedcom_hilo_.c
53         $(CC) -DLEXER_TEST -c $(CPPFLAGS) $(CFLAGS) $^ -o $@
54
55 test_lohi:      lex.gedcom_lohi_.test.o message.o encoding.o
56         $(CC) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@
57
58 lex.gedcom_lohi_.test.o:        lex.gedcom_lohi_.c
59         $(CC) -DLEXER_TEST -c $(CPPFLAGS) $(CFLAGS) $^ -o $@
60
61 # Test of parser
62
63 test:   all
64         @export GCONV_PATH=./ansel; \
65         for file in t/*.ged; do \
66           echo "=== testing $$file"; \
67           ./gedcom_parse $$file; \
68         done