Tag names are now automatically generated.
[gedcom-parse.git] / gedcom / Makefile.am
1 ## Process this file with automake to produce Makefile.in
2 # $Id$
3 # $Name$
4
5 SUBDIRS = calendar .
6
7 localedir = $(datadir)/locale
8 INCLUDES = -I $(srcdir)/../intl -I $(srcdir)/../include -I $(srcdir)/calendar \
9            -I $(srcdir)/../utf8 \
10            -DPKGDATADIR=\"$(pkgdatadir)\" -DLOCALEDIR=\"$(localedir)\"
11 YFLAGS   = --debug --defines
12 LFLAGS   = -8
13 CFLAGS   = -O2 -W -Wall -pedantic -Wno-long-long @EXTRA_CFLAGS@
14
15 lib_LTLIBRARIES = libgedcom.la
16 libgedcom_la_SOURCES = lex.gedcom_1byte_.c \
17                        lex.gedcom_hilo_.c \
18                        lex.gedcom_lohi_.c \
19                        lex.gedcom_date_.c \
20                        gedcom.tab.c \
21                        gedcom_date.tab.c \
22                        message.c \
23                        multilex.c \
24                        encoding.c \
25                        interface.c \
26                        date.c \
27                        hash.c \
28                        xref.c \
29                        age.c \
30                        compat.c \
31                        buffer.c \
32                        write.c
33 libgedcom_la_LDFLAGS = -export-dynamic -version-info $(LIBVERSION)
34 libgedcom_la_LIBADD  = calendar/libcalendar.la ../utf8/libutf8.la @INTLLIBS@
35 BUILT_SOURCES = lex.gedcom_1byte_.c \
36                 lex.gedcom_hilo_.c \
37                 lex.gedcom_lohi_.c \
38                 lex.gedcom_date_.c \
39                 gedcom.tab.c \
40                 gedcom.tab.h \
41                 gedcom.tabgen.h \
42                 gedcom_date.tab.c \
43                 gedcom_date.tab.h \
44                 gedcom_date.tabgen.h \
45                 tag_names.h
46 noinst_HEADERS = encoding.h \
47                  gedcom_internal.h \
48                  interface.h \
49                  multilex.h \
50                  date.h \
51                  hash.h \
52                  xref.h \
53                  age.h \
54                  compat.h \
55                  buffer.h \
56                  tag_data.h
57 EXTRA_DIST = gedcom.y \
58              gedcom_date.y \
59              gedcom_1byte.lex \
60              gedcom_hilo.lex \
61              gedcom_lohi.lex \
62              gedcom_date.lex \
63              gedcom_lex_common.c \
64              process_tags
65              $(BUILT_SOURCES)
66
67 include $(top_srcdir)/Makefile.inc
68
69 gedcom.tab.c gedcom.tab.h:      gedcom.y
70         $(YACC) $(YFLAGS) --name-prefix=gedcom_ $<
71
72 gedcom_date.tab.c gedcom_date.tab.h:    gedcom_date.y
73         $(YACC) $(YFLAGS) --name-prefix=gedcom_date_ $<
74
75 lex.gedcom_1byte_.c:    gedcom_1byte.lex
76         $(LEX) $(LFLAGS) -Pgedcom_1byte_ $<
77
78 lex.gedcom_hilo_.c:     gedcom_hilo.lex
79         $(LEX) $(LFLAGS) -Pgedcom_hilo_ $<
80
81 lex.gedcom_lohi_.c:     gedcom_lohi.lex
82         $(LEX) $(LFLAGS) -Pgedcom_lohi_ $<
83
84 lex.gedcom_date_.c:     gedcom_date.lex
85         $(LEX) $(LFLAGS) -Pgedcom_date_ $<
86
87 tag_names.h:    $(srcdir)/gedcom.tabgen.h process_tags
88         srcdir=$(srcdir); export srcdir; \
89         perl $(srcdir)/process_tags
90
91 lex.gedcom_1byte_.c:    gedcom.tabgen.h gedcom_lex_common.c
92 lex.gedcom_hilo_.c:     gedcom.tabgen.h gedcom_lex_common.c
93 lex.gedcom_lohi_.c:     gedcom.tabgen.h gedcom_lex_common.c
94 lex.gedcom_date_.c:     gedcom_date.tabgen.h
95
96 # Lexer test programs
97
98 EXTRA_PROGRAMS = lexer_1byte lexer_hilo lexer_lohi
99 lexer_1byte_SOURCES =
100 lexer_1byte_LDADD = lex.gedcom_1byte_.test.o message.o encoding.o hash.o
101 lexer_hilo_SOURCES =
102 lexer_hilo_LDADD = lex.gedcom_hilo_.test.o message.o encoding.o hash.o
103 lexer_lohi_SOURCES =
104 lexer_lohi_LDADD = lex.gedcom_lohi_.test.o message.o encoding.o hash.o
105
106 lex.gedcom_1byte_.test.o:       lex.gedcom_1byte_.c
107         $(COMPILE) -DLEXER_TEST -c $(CPPFLAGS) $(CFLAGS) $< -o $@
108 lex.gedcom_hilo_.test.o:        lex.gedcom_hilo_.c
109         $(COMPILE) -DLEXER_TEST -c $(CPPFLAGS) $(CFLAGS) $< -o $@
110 lex.gedcom_lohi_.test.o:        lex.gedcom_lohi_.c
111         $(COMPILE) -DLEXER_TEST -c $(CPPFLAGS) $(CFLAGS) $< -o $@
112
113 clean-local:
114         rm -f $(EXTRA_PROGRAMS)