AM_CFLAGS = $(GSL_CFLAGS)
MAINTAINERCLEANFILES = src/scan.c src/scan.h src/scan.stamp \
- src/parse.c src/parse.h src/parse.stamp
+ src/parse.c src/parse.h src/parse.stamp
DISTCLEANFILES =
CLEANFILES = src/validtypes.h src/errtab.h src/namespecs.h src/ordspecs.h \
test/typegen.h $(EXTRA_LTLIBRARIES)
-EXTRA_DIST = bootstrap common/scripts/fix-gnulib.pl m4/gnulib-cache.m4 \
+EXTRA_DIST = bootstrap $(DX_BASEDIR)/scripts/fix-gnulib.pl m4/gnulib-cache.m4 \
src/types.lst src/validtypes.sed src/specs.lst src/namespecs.sed \
src/ordspecs.sed src/errors.lst src/strtab.sed test/typegen.sh \
src/parse.y src/parse.stamp src/scan.l src/scan.stamp \
dist_man_MANS = doc/man/cdecl99.1 doc/man/libcdecl.3
include_HEADERS = src/cdecl.h
-noinst_HEADERS = conf_pre.h conf_post.h src/typemap.h src/output.h src/scan.h \
- src/parse.h src/i18n.h src/normalize.h src/error.h src/history.h \
- test/declgen.h test/test.h
+noinst_HEADERS = conf_pre.h conf_post.h src/scan.h src/parse.h \
+ test/declgen.h test/test.h
noinst_DATA = $(MOFILES)
lib_LTLIBRARIES = libcdecl.la
-libcdecl_la_LDFLAGS = -no-undefined \
- -export-symbols-regex '^cdecl_[[:lower:]]'
+libcdecl_la_LDFLAGS = -export-symbols-regex '^cdecl_[[:lower:]]' \
+ -no-undefined
libcdecl_la_SOURCES = src/scan.c src/parse.c src/parse-decl.c src/typemap.c \
- src/output.c src/explain.c src/declare.c src/i18n.c src/error.c \
- src/normalize.c
+ src/output.c src/explain.c src/declare.c src/i18n.c \
+ src/error.c src/normalize.c src/cdecl-internal.h
libcdecl_la_LIBADD = libgnu.la $(LTLIBINTL) $(LTLIBTHREAD)
$(libcdecl_la_OBJECTS): $(gnulib_headers)
bin_PROGRAMS = cdecl99
-cdecl99_SOURCES = src/cdecl99.c
-cdecl99_LDADD = libcdecl.la libgnu.la \
- $(LTLIBICONV) $(LTLIBINTL) $(LTLIBREADLINE)
+cdecl99_SOURCES = src/commands.c src/cdecl99.h
+cdecl99_LDADD = $(libmain_a_OBJECTS) $(libexec_a_OBJECTS) libcdecl.la \
+ libgnu.la $(LTLIBICONV) $(LTLIBINTL) $(LTLIBREADLINE)
$(cdecl99_OBJECTS): $(gnulib_headers)
+$(cdecl99_OBJECTS): src/options.h
+
+EXTRA_LIBRARIES = libexec.a
+libexec_a_SOURCES = src/execute.c src/commands.h
+$(libexec_a_OBJECTS): $(gnulib_headers)
+$(libexec_a_OBJECTS): src/commands.h src/cmdlist.h
+
+EXTRA_LIBRARIES += libmain.a
+libmain_a_SOURCES = src/cdecl99.c src/options.h
+$(libmain_a_OBJECTS): $(gnulib_headers)
+$(libmain_a_OBJECTS): src/options.h
check_PROGRAMS = test/crossparse
check_LTLIBRARIES = libtest.la
echo ' *** programs are required for ChangeLog generation to work.'; \
$(TEST_DISTRIBUTION_OR_ERROR); } >&2
+OPTFILES = src/options.opt
+.opt.h:
+ $(AM_V_GEN) $(AWK) -f $(DX_BASEDIR)/scripts/gen-options.awk $< >$@.tmp
+ $(AM_V_at) mv -f $@.tmp $@
+$(OPTFILES:.opt=.h): $(DX_BASEDIR)/scripts/gen-options.awk
+MAINTAINERCLEANFILES += $(OPTFILES:.opt=.h)
+EXTRA_DIST += $(DX_BASEDIR)/scripts/gen-options.awk $(OPTFILES)
+
+STRFILES = src/commands.str
+.str.h:
+ $(AM_V_GEN) $(AWK) -f $(DX_BASEDIR)/scripts/gen-strtab.awk $< >$@.tmp
+ $(AM_V_at) mv -f $@.tmp $@
+$(STRFILES:.str=.h): $(DX_BASEDIR)/scripts/gen-strtab.awk
+MAINTAINERCLEANFILES += $(STRFILES:.str=.h)
+EXTRA_DIST += $(DX_BASEDIR)/scripts/gen-strtab.awk $(STRFILES)
+
+src/cmdlist.h: src/gen-cmdlist.awk src/execute.c
+ $(AM_V_GEN) if test -f '$(builddir)/src/execute.c'; \
+ then f='$(builddir)/src/execute.c'; \
+ else f='$(srcdir)/src/execute.c'; \
+ fi; $(AWK) -f $(srcdir)/src/gen-cmdlist.awk "$$f" >$@.tmp
+ $(AM_V_at) mv -f $@.tmp $@
+DISTCLEANFILES += src/cmdlist.h
+EXTRA_DIST += src/gen-cmdlist.awk
+
# Supporting rules for bison/flex.
BISON_V = $(BISON_V_@AM_V@)
$(MAKE) $(AM_MAKEFLAGS) $<; \
fi
+GPERFFILES = src/execute.gperf
+.gperf.c:
+ $(V_GPERF) $(GPERF) $< >$@.tmp
+ $(AM_V_at) mv $@.tmp $@
+MAINTAINERCLEANFILES += $(GPERFFILES:.gperf=.c)
+EXTRA_DIST += $(GPERFFILES)
+
atlocal: config.status
$(AM_V_GEN) :; { \
printf ': "$${%s=%s}"\n' \