11 CFLAGS=-g -W -Wall -pedantic $(DMALLOC_CFLAGS)
12 YFLAGS=--debug --defines
14 LOADLIBES=$(DMALLOC_LOADLIBES)
15 LDFLAGS_GEDCOM=-L.libs
17 all: ansel_module libgedcom.so gedcom_parse
19 gedcom_parse: standalone.o
20 $(CC) $(LDFLAGS) $(LDFLAGS_GEDCOM) -lgedcom $^ $(LOADLIBES) $(LDLIBS) -o $@
22 libgedcom.so: lex.gedcom_1byte_.lo lex.gedcom_hilo_.lo lex.gedcom_lohi_.lo \
23 gedcom.tab.lo message.lo multilex.lo encoding.lo interface.lo
24 $(LIBTOOL) $(CC) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o libgedcom.la -rpath $(LIBPATH)
26 ln -s .libs/libgedcom.so.0.0.0 libgedcom.so
29 $(LIBTOOL) $(CC) -c $(CPPFLAGS) $(CFLAGS) $^
34 lex.gedcom_1byte_.c: gedcom_1byte.lex gedcom.tab.h gedcom_internal.h multilex.h \
35 gedcom_lex_common.c encoding.h
36 $(LEX) $(LFLAGS) -Pgedcom_1byte_ gedcom_1byte.lex
38 lex.gedcom_hilo_.c: gedcom_hilo.lex gedcom.tab.h gedcom_internal.h multilex.h \
39 gedcom_lex_common.c encoding.h
40 $(LEX) $(LFLAGS) -Pgedcom_hilo_ gedcom_hilo.lex
42 lex.gedcom_lohi_.c: gedcom_lohi.lex gedcom.tab.h gedcom_internal.h multilex.h \
43 gedcom_lex_common.c encoding.h
44 $(LEX) $(LFLAGS) -Pgedcom_lohi_ gedcom_lohi.lex
46 gedcom.tab.c gedcom.tab.h: gedcom.y gedcom_internal.h
47 $(YACC) $(YFLAGS) --name-prefix=gedcom_ gedcom.y
51 rm -f core gedcom_parse lexer_* *.o *.lo *.la .libs/* lex.gedcom_* \
52 gedcom.tab.* gedcom.output libgedcom.so
54 cd ansel && $(MAKE) clean
58 lexer_1byte: lex.gedcom_1byte_.test.o message.o encoding.o
59 $(CC) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@
61 lex.gedcom_1byte_.test.o: lex.gedcom_1byte_.c
62 $(CC) -DLEXER_TEST -c $(CPPFLAGS) $(CFLAGS) $^ -o $@
64 test_1byte: lexer_1byte
65 cat t/allged.ged | ./lexer_1byte
67 lexer_hilo: lex.gedcom_hilo_.test.o message.o encoding.o
68 $(CC) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@
70 lex.gedcom_hilo_.test.o: lex.gedcom_hilo_.c
71 $(CC) -DLEXER_TEST -c $(CPPFLAGS) $(CFLAGS) $^ -o $@
74 cat t/uhlcl.ged | ./lexer_hilo
76 lexer_lohi: lex.gedcom_lohi_.test.o message.o encoding.o
77 $(CC) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@
79 lex.gedcom_lohi_.test.o: lex.gedcom_lohi_.c
80 $(CC) -DLEXER_TEST -c $(CPPFLAGS) $(CFLAGS) $^ -o $@
83 cat t/ulhcl.ged | ./lexer_lohi
88 @export GCONV_PATH=./ansel; \
89 export LD_LIBRARY_PATH=.libs; \
90 for file in t/*.ged; do \
91 echo "=== testing $$file"; \
92 ./gedcom_parse -2 $$file; \
95 testmem: DMALLOC_CFLAGS=-DMALLOC
96 testmem: DMALLOC_LOADLIBES=-ldmalloc