]> git.draconx.ca Git - cdecl99.git/blobdiff - Makefile.am
Port to use getline.h from dxcommon.
[cdecl99.git] / Makefile.am
index 90818f5f496d788de219bb38cea9d6b38599ac73..006d97f9c0560ff89ff1c2b687f1752f391caf0b 100644 (file)
@@ -1,7 +1,7 @@
-# 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.
+# 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 \
@@ -26,19 +29,22 @@ CLEANFILES = $(EXTRA_LTLIBRARIES) $(EXTRA_LIBRARIES)
 
 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/scan.h src/parse.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)
 
 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
@@ -118,6 +124,25 @@ check_PROGRAMS += t/rendertest
 t_rendertest_LDADD = $(TEST_LIBS)
 $(t_rendertest_OBJECTS): $(gnulib_headers)
 
+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
@@ -128,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) $(LIBTHREAD)
+t_cdeclerr_LDADD = $(EXTRA_t_cdeclerr_DEPENDENCIES) \
+                   libtest.a $(LTLIBINTL) $(LIBTHREAD)
 $(t_cdeclerr_OBJECTS): $(gnulib_headers)
 
 # Supporting rules for gettext.
@@ -341,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