]> git.draconx.ca Git - cdecl99.git/blobdiff - Makefile.am
Hand-code the normalized specifier ordering.
[cdecl99.git] / Makefile.am
index 6556f922276344142513d5d35f9000579ad83078..9698512190b33e6f42221ea86b9675fda4f725a0 100644 (file)
@@ -23,15 +23,14 @@ 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 = src/validtypes.h src/namespecs.h $(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/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 \
@@ -66,7 +65,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
@@ -77,17 +76,19 @@ libtest_la_SOURCES += test/declgen.c
 check_PROGRAMS += test/randomdecl
 endif
 
-test_crossparse_LDADD = libcdecl.la libtest.la libgnu.la
+test_crossparse_LDADD = libtest.la libcdecl.la libgnu.la
 $(test_crossparse_OBJECTS): $(gnulib_headers)
-test_randomdecl_LDADD = libcdecl.la libtest.la libgnu.la
+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/error.lo: src/errtab.h
-src/normalize.lo: src/ordspecs.h
 src/output.lo: src/namespecs.h
 test/declgen.lo: test/typegen.h
 
@@ -101,16 +102,6 @@ src/namespecs.h: $(srcdir)/src/specs.lst $(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
 
@@ -185,6 +176,14 @@ distcheck-hook:
              echo '       *** be the stub from a git checkout.  The "git" and "perl"'; \
              echo '       *** programs are required for ChangeLog generation to work.'; \
              $(TEST_DISTRIBUTION_OR_ERROR); } >&2
+       $(GENERIC_V) : 'CHECK   ' NEWS; \
+         $(AWK) 'NR == 1 && $$NF != "$(PACKAGE_VERSION):" \
+           { print FILENAME ":" NR ":", $$0; exit 1}' \
+           $(distdir)/NEWS || { \
+             echo 'ERROR: *** First line of NEWS should match the package version'; \
+             echo '       *** $(PACKAGE_VERSION), but that does not appear to be the case.'; \
+             echo '       *** Remember to update NEWS before preparing a release.'; \
+             $(TEST_DISTRIBUTION_OR_ERROR); } >&2
 
 OPTFILES = src/options.opt
 .opt.h:
@@ -211,6 +210,13 @@ src/cmdlist.h: src/gen-cmdlist.awk src/execute.c
 DISTCLEANFILES += src/cmdlist.h
 EXTRA_DIST += src/gen-cmdlist.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@)