-# Copyright © 2011-2013, 2019-2023 Nick Bowler
+# Copyright © 2011-2013, 2019-2024 Nick Bowler
#
# License WTFPL2: Do What The Fuck You Want To Public License, version 2.
# This is free software: you are free to do what the fuck you want to.
EXTRA_DIST = bootstrap $(DX_BASEDIR)/scripts/fix-gnulib.pl m4/gnulib-cache.m4 \
src/types.lst src/parse.y src/parse.stamp src/scan.l \
- src/scan.stamp COPYING.WTFPL2 README.md INSTALL
+ src/scan.stamp COPYING.WTFPL2 README.md INSTALL \
+ tests/data/manyspec.gz tests/data/manydecl.gz
dist_man_MANS = doc/cdecl99.1 doc/libcdecl.3
noinst_HEADERS = conf_pre.h conf_post.h common/src/help.h common/src/tap.h \
- common/src/xtra.h src/cdecl.h src/intconv.h src/scan.h \
- src/parse.h src/version.h t/declgen.h t/test.h
+ common/src/xtra.h src/cdecl.h src/intconv.h src/parse.h \
+ src/scan.h src/thread-posix.h src/thread-stdc.h \
+ src/thread-w32.h src/version.h t/declgen.h t/test.h
noinst_DATA = $(MOFILES)
nodist_include_HEADERS = src/config/cdecl.h
src/config/cdecl.h: config.h src/cdecl.h $(DX_BASEDIR)/scripts/bake-config.awk
- $(AM_V_at) $(AWK) -f $(DX_BASEDIR)/scripts/bake-config.awk \
+ $(AM_V_GEN) $(AWK) -f $(DX_BASEDIR)/scripts/bake-config.awk \
config.h $(srcdir)/src/cdecl.h >$@-t
$(AM_V_at) mv -f $@-t $@
EXTRA_DIST += $(DX_BASEDIR)/scripts/bake-config.awk
dummy $(static_gl_objects): $(gnulib_headers)
bin_PROGRAMS = cdecl99
-cdecl99_SOURCES = common/src/help.c src/commands.c src/cdecl99.h
+cdecl99_SOURCES = common/src/help.c src/commands.c src/cdecl99.h src/getline.h
EXTRA_cdecl99_DEPENDENCIES = $(libmain_a_OBJECTS) $(libexec_a_OBJECTS)
cdecl99_LDADD = $(EXTRA_cdecl99_DEPENDENCIES) libcdecl.la libgnu.a \
$(LTLIBINTL) $(LTLIBREADLINE)
t_scantest_LDADD = src/scan.lo src/parse.lo src/keywords.lo $(TEST_LIBS)
$(t_scantest_OBJECTS): $(gnulib_headers) src/scan.h src/parse.h
+EXTRA_LTLIBRARIES += t/liberrtest.la
+t_liberrtest_la_SOURCES = src/error.c t/errmemwrap.c
+t_liberrtest_la_CPPFLAGS = $(AM_CPPFLAGS) -DTEST_MALLOC_HOOK
+t_liberrtest_la_LDFLAGS = -no-undefined -avoid-version \
+ -bindir '$(bindir)' -rpath '$(libdir)'
+EXTRA_t_liberrtest_la_DEPENDENCIES = $(shared_gl_objects)
+t_liberrtest_la_LIBADD = src/output.lo $(EXTRA_t_liberrtest_la_DEPENDENCIES) \
+ $(LTLIBINTL) $(LIBTHREAD)
+t_liberrtest_la_SHORTNAME = t
+$(t_liberrtest_la_OBJECTS): $(gnulib_headers)
+
+check_PROGRAMS += t/errthread
+t_errthread_LDADD = t/liberrtest.la libtest.a $(LIBMULTITHREAD)
+$(t_errthread_OBJECTS): $(gnulib_headers) src/errmsg.h
+
src/error.lo: src/errmsg.h
src/keywords.lo: src/parse.h
src/output.lo: src/parse.h src/specstr.h
t/cdeclerr.$(OBJEXT): src/errmsg.h
check_PROGRAMS += t/cdeclerr
-t_cdeclerr_SOURCES = common/src/tap.c t/cdeclerr.c
+t_cdeclerr_SOURCES = t/cdeclerr.c
EXTRA_t_cdeclerr_DEPENDENCIES = src/error.lo src/output.lo $(shared_gl_objects)
-t_cdeclerr_LDADD = $(EXTRA_t_cdeclerr_DEPENDENCIES) $(LIBTHREAD)
+t_cdeclerr_LDADD = $(EXTRA_t_cdeclerr_DEPENDENCIES) \
+ libtest.a $(LTLIBINTL) $(LIBTHREAD)
$(t_cdeclerr_OBJECTS): $(gnulib_headers)
# Supporting rules for gettext.
atlocal: config.status
$(AM_V_GEN) $(AWK) </dev/null >$@.tmp \
'BEGIN{ for (i = 1; i < ARGC; i++) print ": \"$${" ARGV[i] "}\""; }' \
- 'AWK=$(AWK)' 'EXEEXT=$(EXEEXT)' 'check_PROGRAMS=$(check_PROGRAMS)'
+ 'AWK=$(AWK)' 'EXEEXT=$(EXEEXT)' 'check_PROGRAMS=$(check_PROGRAMS)' \
+ 'host_os=$(host_os)'
$(AM_V_at) mv -f $@.tmp $@
check_DATA = atlocal
CLEANFILES += atlocal