X-Git-Url: https://git.draconx.ca/gitweb/cdecl99.git/blobdiff_plain/8185af6a8e8e587f267d901328f7c5d956c06de3..eb7be85350a2dd971bb509e9191c33fc640cd0d5:/Makefile.am diff --git a/Makefile.am b/Makefile.am index 4af8e9a..87cf0bd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -29,12 +29,21 @@ EXTRA_DIST = bootstrap $(DX_BASEDIR)/scripts/fix-gnulib.pl m4/gnulib-cache.m4 \ dist_man_MANS = doc/cdecl99.1 doc/libcdecl.3 -include_HEADERS = src/cdecl.h noinst_HEADERS = conf_pre.h conf_post.h common/src/help.h common/src/tap.h \ - common/src/xtra.h src/scan.h src/parse.h t/declgen.h t/test.h + common/src/xtra.h src/cdecl.h src/scan.h src/parse.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_GEN) $(MKDIR_P) $(@D) + $(AM_V_at) $(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 +CLEANFILES += src/config/cdecl.h + shared_gl_objects = $(gnulib_symfiles:.glsym=.lo) static_gl_objects = $(gnulib_extra_objects:.lo=.@OBJEXT@) @@ -81,7 +90,7 @@ $(libmain_a_OBJECTS): src/options.h check_PROGRAMS = t/crossparse t/normalize t/randomdecl t/rng-test check_LIBRARIES = libtest.a -libtest_a_SOURCES = t/testlib.c t/rng.c common/src/help.c +libtest_a_SOURCES = t/testlib.c t/rng.c common/src/help.c common/src/tap.c $(libtest_a_OBJECTS): $(gnulib_headers) TEST_LIBS = libtest.a libcdecl.la libgnu.a $(LDEXP_LIBM) @@ -115,7 +124,7 @@ 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) +EXTRA_t_cdeclerr_DEPENDENCIES = src/error.lo src/output.lo $(shared_gl_objects) t_cdeclerr_LDADD = $(EXTRA_t_cdeclerr_DEPENDENCIES) $(LIBTHREAD) $(t_cdeclerr_OBJECTS): $(gnulib_headers) @@ -325,16 +334,31 @@ EXTRA_DIST += $(GPERFFILES) src/gperf-wordwrap.awk $(GPERFFILES:.gperf=.c): $(srcdir)/src/gperf-wordwrap.awk atlocal: config.status - $(AM_V_GEN) :; { \ - printf ': "$${%s=%s}"\n' \ - AWK '$(AWK)' \ - EXEEXT '$(EXEEXT)' \ - check_PROGRAMS '$(check_PROGRAMS)' \ - ; } >$@.tmp + $(AM_V_GEN) $(AWK) $@.tmp \ + 'BEGIN{ for (i = 1; i < ARGC; i++) print ": \"$${" ARGV[i] "}\""; }' \ + 'AWK=$(AWK)' 'EXEEXT=$(EXEEXT)' 'check_PROGRAMS=$(check_PROGRAMS)' $(AM_V_at) mv -f $@.tmp $@ check_DATA = atlocal CLEANFILES += atlocal +# Note: to reliably test linking against the installed library we directly +# refer to the just-installed .la file, rather than more typical library flags +# (-Lfoo -lfoo). Otherwise libtool can pick up libcdecl.la from the current +# working directory which defeats the point of an install check. +EXTRA_PROGRAMS = t/installcheck +t_installcheck_CPPFLAGS = -I$(DESTDIR)$(includedir) +t_installcheck_LDADD = $(DESTDIR)$(libdir)/libcdecl.la +t_installcheck_CFLAGS = +t_installcheck_SHORTNAME = x + +installcheck-local: + rm -f t/installcheck$(EXEEXT) $(t_installcheck_OBJECTS) + $(MAKE) $(AM_MAKEFLAGS) t/installcheck$(EXEEXT) + t/installcheck$(EXEEXT) | diff - $(srcdir)/t/installcheck.exp +.PHONY: installcheck-local +EXTRA_DIST += t/installcheck.c t/installcheck.exp +CLEANFILES += t/installcheck$(EXEEXT) + include $(top_srcdir)/lib/gnulib.mk include $(top_srcdir)/common/snippet/glconfig.mk include $(top_srcdir)/common/snippet/autotest.mk