+cdecl99_LDADD = libcdecl.la libgnu.la \
+ $(LTLIBICONV) $(LTLIBINTL) $(LTLIBREADLINE)
+$(cdecl99_OBJECTS): $(gnulib_headers)
+
+check_PROGRAMS = test/crossparse
+check_LTLIBRARIES = libtest.la
+libtest_la_LIBADD = $(GSL_LIBS)
+libtest_la_SOURCES = test/testlib.c
+$(libtest_la_OBJECTS): $(gnulib_headers)
+
+if HAVE_GSL
+libtest_la_SOURCES += test/declgen.c
+check_PROGRAMS += test/randomdecl
+endif
+
+test_crossparse_LDADD = libcdecl.la libtest.la libgnu.la
+$(test_crossparse_OBJECTS): $(gnulib_headers)
+test_randomdecl_LDADD = libcdecl.la libtest.la libgnu.la
+$(test_randomdecl_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
+
+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 $@
+
+src/errtab.h: $(srcdir)/src/errors.lst $(srcdir)/src/strtab.sed
+ $(AM_V_GEN)sed -f $(srcdir)/src/strtab.sed \
+ < $(srcdir)/src/errors.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