]> git.draconx.ca Git - cdecl99.git/blobdiff - Makefile.am
Generate specifier strings directly from cdecl.h
[cdecl99.git] / Makefile.am
index 82a6c0dfb3b6ff8400d29fd06efb58d36b608934..9bef1c9f3770c119743084022053dd21647cc7e6 100644 (file)
@@ -23,12 +23,10 @@ MAINTAINERCLEANFILES = src/scan.c src/scan.h src/scan.stamp \
 
 DISTCLEANFILES =
 
-CLEANFILES = src/validtypes.h src/namespecs.h src/ordspecs.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 src/parse.y src/parse.stamp src/scan.l \
+             src/types.lst src/parse.y src/parse.stamp src/scan.l \
              src/scan.stamp COPYING.WTFPL2 README.md INSTALL
 
 dist_man_MANS = doc/cdecl99.1 doc/libcdecl.3
@@ -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,31 +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 $@
-
 # Supporting rules for gettext.
 include $(top_srcdir)/common/snippet/gettext.mk
 
@@ -214,6 +197,20 @@ 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