]> git.draconx.ca Git - cdecl99.git/blobdiff - Makefile.am
Generate specifier strings directly from cdecl.h
[cdecl99.git] / Makefile.am
index 1d40ab3edbbc0bfb845dec63dd6ed4bfba914c9e..9bef1c9f3770c119743084022053dd21647cc7e6 100644 (file)
@@ -23,15 +23,13 @@ MAINTAINERCLEANFILES = src/scan.c src/scan.h src/scan.stamp \
 
 DISTCLEANFILES =
 
-CLEANFILES = src/validtypes.h src/namespecs.h src/ordspecs.h \
-             test/typegen.h $(EXTRA_LTLIBRARIES)
+CLEANFILES = $(EXTRA_LTLIBRARIES)
 
 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 test/typegen.sh src/parse.y src/parse.stamp \
-             src/scan.l src/scan.stamp COPYING.WTFPL2 README.md INSTALL
+             src/types.lst src/parse.y src/parse.stamp src/scan.l \
+             src/scan.stamp COPYING.WTFPL2 README.md INSTALL
 
-dist_man_MANS = doc/man/cdecl99.1 doc/man/libcdecl.3
+dist_man_MANS = doc/cdecl99.1 doc/libcdecl.3
 
 include_HEADERS = src/cdecl.h
 noinst_HEADERS = conf_pre.h conf_post.h src/scan.h src/parse.h \
@@ -42,10 +40,9 @@ noinst_DATA = $(MOFILES)
 lib_LTLIBRARIES = libcdecl.la
 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/cdecl-internal.h \
-                      src/errtab.h
+libcdecl_la_SOURCES = src/scan.c src/parse.c src/parse-decl.c src/output.c \
+                      src/explain.c src/declare.c src/i18n.c src/error.c \
+                      src/normalize.c src/cdecl-internal.h src/errtab.h
 libcdecl_la_LIBADD = libgnu.la $(LTLIBINTL) $(LTLIBTHREAD)
 $(libcdecl_la_OBJECTS): $(gnulib_headers)
 
@@ -66,7 +63,7 @@ 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_PROGRAMS = test/crossparse test/normalize
 check_LTLIBRARIES = libtest.la
 libtest_la_LIBADD = $(GSL_LIBS)
 libtest_la_SOURCES = test/testlib.c
@@ -81,36 +78,17 @@ test_crossparse_LDADD = libtest.la libcdecl.la libgnu.la
 $(test_crossparse_OBJECTS): $(gnulib_headers)
 test_randomdecl_LDADD = libtest.la libcdecl.la libgnu.la
 $(test_randomdecl_OBJECTS): $(gnulib_headers)
+test_normalize_LDADD = libtest.la src/output.lo src/normalize.lo \
+                       libcdecl.la libgnu.la
+$(test_normalize_OBJECTS): $(gnulib_headers)
 
 src/parse.lo: src/scan.h
 src/scan.lo: src/parse.h
-src/parse-decl.lo: src/scan.h src/parse.h
-src/typemap.lo: src/validtypes.h
+src/parse-decl.lo: src/scan.h src/parse.h src/typemap.h
 src/error.lo: src/errtab.h
-src/normalize.lo: src/ordspecs.h
-src/output.lo: src/namespecs.h
+src/output.lo: src/specstr.h
 test/declgen.lo: test/typegen.h
 
-src/validtypes.h: $(srcdir)/src/types.lst $(srcdir)/src/validtypes.sed
-       $(AM_V_GEN)sed -f $(srcdir)/src/validtypes.sed \
-               < $(srcdir)/src/types.lst > $@.tmp
-       $(AM_V_at)mv -f $@.tmp $@
-
-src/namespecs.h: $(srcdir)/src/specs.lst $(srcdir)/src/namespecs.sed
-       $(AM_V_GEN) sed -f $(srcdir)/src/namespecs.sed \
-               < $(srcdir)/src/specs.lst > $@.tmp
-       $(AM_V_at) mv -f $@.tmp $@
-
-src/ordspecs.h: $(srcdir)/src/specs.lst $(srcdir)/src/ordspecs.sed
-       $(AM_V_GEN) sed -f $(srcdir)/src/ordspecs.sed \
-               < $(srcdir)/src/specs.lst > $@.tmp
-       $(AM_V_at) mv -f $@.tmp $@
-
-test/typegen.h: $(srcdir)/src/types.lst $(srcdir)/test/typegen.sh
-       $(AM_V_GEN) $(SHELL) $(srcdir)/test/typegen.sh \
-               < $(srcdir)/src/types.lst > $@.tmp
-       $(AM_V_at)mv -f $@.tmp $@
-
 # Supporting rules for gettext.
 include $(top_srcdir)/common/snippet/gettext.mk
 
@@ -219,6 +197,27 @@ src/cmdlist.h: src/gen-cmdlist.awk src/execute.c
 DISTCLEANFILES += src/cmdlist.h
 EXTRA_DIST += src/gen-cmdlist.awk
 
+src/specstr.h: src/gen-specstr.awk src/cdecl.h
+       $(AM_V_GEN) $(AWK) -f $(srcdir)/src/gen-specstr.awk \
+                             $(srcdir)/src/cdecl.h >$@.tmp
+       $(AM_V_at) mv -f $@.tmp $@
+DISTCLEANFILES += src/specstr.h
+EXTRA_DIST += src/gen-specstr.awk
+
+src/typemap.h: src/gen-typemap.awk src/types.lst
+       $(AM_V_GEN) $(AWK) -f $(srcdir)/src/gen-typemap.awk \
+                             $(srcdir)/src/types.lst >$@.tmp
+       $(AM_V_at) mv -f $@.tmp $@
+DISTCLEANFILES += src/typemap.h
+EXTRA_DIST += src/gen-typemap.awk
+
+test/typegen.h: test/gen-typegen.awk src/types.lst
+       $(AM_V_GEN) $(AWK) -f $(srcdir)/test/gen-typegen.awk \
+                             $(srcdir)/src/types.lst >$@.tmp
+       $(AM_V_at) mv -f $@.tmp $@
+DISTCLEANFILES += test/typegen.h
+EXTRA_DIST += test/gen-typegen.awk
+
 # Supporting rules for bison/flex.
 
 BISON_V   = $(BISON_V_@AM_V@)