-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/error.lo: src/errtab.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 $@
+t_randomdecl_SOURCES = t/randomdecl.c t/declgen.c
+t_randomdecl_LDADD = $(TEST_LIBS)
+$(t_randomdecl_OBJECTS): $(gnulib_headers)
+
+t_crossparse_LDADD = $(TEST_LIBS)
+$(t_crossparse_OBJECTS): $(gnulib_headers)
+
+t_normalize_LDADD = src/output.lo src/normalize.lo $(TEST_LIBS)
+$(t_normalize_OBJECTS): $(gnulib_headers)
+
+t_rng_test_LDADD = $(TEST_LIBS)
+$(t_rng_test_OBJECTS): $(gnulib_headers)
+EXTRA_DIST += t/xos256p.c
+
+src/parse.lo: src/scan.h src/errmsg.h
+src/scan.lo: src/parse.h src/errmsg.h
+src/parse-decl.lo: src/scan.h src/parse.h src/typemap.h src/errmsg.h
+src/output.lo: src/specstr.h
+src/error.lo: src/errmsg.h
+t/declgen.$(OBJEXT): t/typegen.h
+t/cdeclerr.$(OBJEXT): src/errmsg.h
+
+check_PROGRAMS += t/cdeclerr
+t_cdeclerr_SOURCES = common/src/tap.c t/cdeclerr.c
+EXTRA_t_cdeclerr_DEPENDENCIES = src/error.lo $(shared_gl_objects)
+t_cdeclerr_LDADD = $(EXTRA_t_cdeclerr_DEPENDENCIES) $(LIBTHREAD)
+$(t_cdeclerr_OBJECTS): $(gnulib_headers)