Corrected make clean.
[gedcom-parse.git] / Makefile
index 125b82e0b281410b448c600f6205c72dd60d8cd6..db56b46f1881f83f01b80b212b1b60c0943b38a2 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -8,53 +8,70 @@ CFLAGS=-g -W -Wall -pedantic
 YFLAGS=--debug --defines
 LFLAGS=-8
 
+all:   ansel_module gedcom_parse
+
 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:
+ansel_module:
+       cd ansel && $(MAKE)
 
-lex.gedcom_1byte_.c:   gedcom_1byte.lex gedcom.tab.h gedcom.h multilex.h
+lex.gedcom_1byte_.c:   gedcom_1byte.lex gedcom.tab.h gedcom.h multilex.h \
+                       gedcom_lex_common.c encoding.h
        $(LEX) $(LFLAGS) -Pgedcom_1byte_ gedcom_1byte.lex
 
-lex.gedcom_hilo_.c:    gedcom_hilo.lex gedcom.tab.h gedcom.h multilex.h
+lex.gedcom_hilo_.c:    gedcom_hilo.lex gedcom.tab.h gedcom.h multilex.h \
+                       gedcom_lex_common.c encoding.h
        $(LEX) $(LFLAGS) -Pgedcom_hilo_ gedcom_hilo.lex
 
-lex.gedcom_lohi_.c:    gedcom_lohi.lex gedcom.tab.h gedcom.h multilex.h
+lex.gedcom_lohi_.c:    gedcom_lohi.lex gedcom.tab.h gedcom.h multilex.h \
+                       gedcom_lex_common.c encoding.h
        $(LEX) $(LFLAGS) -Pgedcom_lohi_ gedcom_lohi.lex
 
 gedcom.tab.c gedcom.tab.h:     gedcom.y gedcom.h
        $(YACC) $(YFLAGS) --name-prefix=gedcom_ gedcom.y
 
 clean:
-       rm -f core gedcom_parse test_* *.o lex.gedcom_* \
+       rm -f core gedcom_parse lexer_* *.o lex.gedcom_* \
         gedcom.tab.* gedcom.output
+       cd ansel && $(MAKE) clean
 
 # Lexer test programs
 
-test_1byte:    lex.gedcom_1byte_.test.o message.o encoding.o
+lexer_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
+test_1byte:    lexer_1byte
+       cat t/allged.ged | ./lexer_1byte
+
+lexer_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
+test_hilo:     lexer_hilo
+       cat t/uhlcl.ged | ./lexer_hilo
+
+lexer_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 $@
 
+test_lohi:     lexer_lohi
+       cat t/ulhcl.ged | ./lexer_lohi
+
 # Test of parser
 
-test:  gedcom_parse
-       @for file in t/*.ged; do \
+test:  all
+       @export GCONV_PATH=./ansel; \
+        for file in t/*.ged; do \
          echo "=== testing $$file"; \
          ./gedcom_parse $$file; \
        done