X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=Makefile;h=1ceaa658c5cf02fe7df3fda17a3ca34a3fca3fca;hb=f48274eafac8d5fcbc0c87af7706bdfd623adfa5;hp=125b82e0b281410b448c600f6205c72dd60d8cd6;hpb=845f7ac49d5e63b96aca7a4cd1f60ac5e3230033;p=gedcom-parse.git diff --git a/Makefile b/Makefile index 125b82e..1ceaa65 100644 --- a/Makefile +++ b/Makefile @@ -1,60 +1,42 @@ # $Id$ # $Name$ -YACC=bison -LEX=flex - -CFLAGS=-g -W -Wall -pedantic +DMALLOC_CFLAGS= +DMALLOC_LOADLIBES= +CFLAGS=-g -W -Wall -pedantic $(DMALLOC_CFLAGS) +CPPFLAGS=-I ./include YFLAGS=--debug --defines LFLAGS=-8 +LOADLIBES=$(DMALLOC_LOADLIBES) +LDFLAGS_GEDCOM=-Lgedcom/.libs -gedcom_parse: standalone.o lex.gedcom_1byte_.o lex.gedcom_hilo_.o \ - lex.gedcom_lohi_.o gedcom.tab.o message.o multilex.o \ - encoding.o - $(CC) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@ - -libgedcom.so: - -lex.gedcom_1byte_.c: gedcom_1byte.lex gedcom.tab.h gedcom.h multilex.h - $(LEX) $(LFLAGS) -Pgedcom_1byte_ gedcom_1byte.lex +all: ansel_module libgedcom gedcom_parse -lex.gedcom_hilo_.c: gedcom_hilo.lex gedcom.tab.h gedcom.h multilex.h - $(LEX) $(LFLAGS) -Pgedcom_hilo_ gedcom_hilo.lex +gedcom_parse: standalone.o + $(CC) $(LDFLAGS) $(LDFLAGS_GEDCOM) -lgedcom $^ $(LOADLIBES) $(LDLIBS) -o $@ -lex.gedcom_lohi_.c: gedcom_lohi.lex gedcom.tab.h gedcom.h multilex.h - $(LEX) $(LFLAGS) -Pgedcom_lohi_ gedcom_lohi.lex +libgedcom: + cd gedcom && $(MAKE) -gedcom.tab.c gedcom.tab.h: gedcom.y gedcom.h - $(YACC) $(YFLAGS) --name-prefix=gedcom_ gedcom.y +ansel_module: + cd ansel && $(MAKE) +.PHONY: clean clean: - rm -f core gedcom_parse test_* *.o lex.gedcom_* \ - gedcom.tab.* gedcom.output - -# Lexer test programs - -test_1byte: lex.gedcom_1byte_.test.o message.o encoding.o - $(CC) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@ - -lex.gedcom_1byte_.test.o: lex.gedcom_1byte_.c - $(CC) -DLEXER_TEST -c $(CPPFLAGS) $(CFLAGS) $^ -o $@ - -test_hilo: lex.gedcom_hilo_.test.o message.o encoding.o - $(CC) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@ - -lex.gedcom_hilo_.test.o: lex.gedcom_hilo_.c - $(CC) -DLEXER_TEST -c $(CPPFLAGS) $(CFLAGS) $^ -o $@ - -test_lohi: lex.gedcom_lohi_.test.o message.o encoding.o - $(CC) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@ - -lex.gedcom_lohi_.test.o: lex.gedcom_lohi_.c - $(CC) -DLEXER_TEST -c $(CPPFLAGS) $(CFLAGS) $^ -o $@ + rm -f core gedcom_parse *.o + cd gedcom && $(MAKE) clean + cd ansel && $(MAKE) clean # Test of parser -test: gedcom_parse - @for file in t/*.ged; do \ +test: all + @export GCONV_PATH=./ansel; \ + export LD_LIBRARY_PATH=gedcom/.libs; \ + for file in t/*.ged; do \ echo "=== testing $$file"; \ - ./gedcom_parse $$file; \ + ./gedcom_parse -2 $$file; \ done + +testmem: DMALLOC_CFLAGS=-DMALLOC +testmem: DMALLOC_LOADLIBES=-ldmalloc +testmem: clean test