]> git.draconx.ca Git - cdecl99.git/blobdiff - Makefile.am
Port to use getline.h from dxcommon.
[cdecl99.git] / Makefile.am
index cb50bfc3d5e95ead2c612ccdb14dab58100fe7d8..006d97f9c0560ff89ff1c2b687f1752f391caf0b 100644 (file)
@@ -1,7 +1,7 @@
 # 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.
+# License GPLv3+: GNU General Public License version 3 or any later version.
+# This is free software: you are free to change and redistribute it.
 # There is NO WARRANTY, to the extent permitted by law.
 
 ACLOCAL_AMFLAGS = -I m4 -I common/m4
@@ -11,6 +11,9 @@ MOSTLYCLEANFILES =
 EXTRA_LTLIBRARIES =
 EXTRA_PROGRAMS =
 
+# Ensure .stamp rules are handled first
+SUFFIXES = .stamp
+
 AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src \
        -I$(top_builddir)/lib -I$(top_srcdir)/lib \
        -I$(DX_BASEDIR)/src -I$(top_builddir)/t \
@@ -31,9 +34,11 @@ EXTRA_DIST = bootstrap $(DX_BASEDIR)/scripts/fix-gnulib.pl m4/gnulib-cache.m4 \
 
 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
+noinst_HEADERS = conf_pre.h conf_post.h common/src/getline.h \
+                 common/src/help.h common/src/tap.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)
 
@@ -74,7 +79,7 @@ EXTRA_libgnu_a_DEPENDENCIES = $(static_gl_objects)
 dummy $(static_gl_objects): $(gnulib_headers)
 
 bin_PROGRAMS = cdecl99
-cdecl99_SOURCES = common/src/help.c src/commands.c src/cdecl99.h src/getline.h
+cdecl99_SOURCES = common/src/help.c src/commands.c src/cdecl99.h
 EXTRA_cdecl99_DEPENDENCIES = $(libmain_a_OBJECTS) $(libexec_a_OBJECTS)
 cdecl99_LDADD = $(EXTRA_cdecl99_DEPENDENCIES) libcdecl.la libgnu.a \
                 $(LTLIBINTL) $(LTLIBREADLINE)
@@ -123,6 +128,21 @@ check_PROGRAMS += t/scantest
 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
@@ -133,9 +153,10 @@ 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
+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) $(LTLIBINTL) $(LIBTHREAD)
+t_cdeclerr_LDADD = $(EXTRA_t_cdeclerr_DEPENDENCIES) \
+                   libtest.a $(LTLIBINTL) $(LIBTHREAD)
 $(t_cdeclerr_OBJECTS): $(gnulib_headers)
 
 # Supporting rules for gettext.
@@ -346,7 +367,8 @@ $(GPERFFILES:.gperf=.c): $(srcdir)/src/gperf-wordwrap.awk
 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