X-Git-Url: http://git.draconx.ca/gitweb/upkg.git/blobdiff_plain/b314e07b6d7bf0f69929409ebeae8fd45eecef59..HEAD:/Makefile.am diff --git a/Makefile.am b/Makefile.am index f454e35..fa034c3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,25 +1,24 @@ -# Copyright © 2009-2012, 2015, 2019-2020 Nick Bowler +# Copyright © 2009-2012, 2015, 2019-2020, 2022 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. # There is NO WARRANTY, to the extent permitted by law. -AUTOMAKE_OPTIONS = parallel-tests color-tests ACLOCAL_AMFLAGS = -I m4 -I common/m4 MAINTAINERCLEANFILES = MOSTLYCLEANFILES = DISTCLEANFILES = -CLEANFILES = # Distribution should be buildable without working gob. AM_DISTCHECK_CONFIGURE_FLAGS = GOB2=false EXTRA_DIST = $(MAINTAINERCLEANFILES) m4/gnulib-cache.m4 +CLEANFILES = $(EXTRA_LTLIBRARIES) $(EXTRA_LIBRARIES) AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src \ - -I$(top_srcdir)/$(DX_BASEDIR)/src \ - -I$(top_builddir)/lib -I$(top_srcdir)/lib \ - -DPKGLIBDIR=\"$(pkglibdir)\" -DPKGDATADIR=\"$(pkgdatadir)\" + -I$(top_builddir)/lib -I$(top_srcdir)/lib \ + -I$(DX_BASEDIR)/src -DPKGLIBDIR=\"$(pkglibdir)\" \ + -DPKGDATADIR=\"$(pkgdatadir)\" AM_CFLAGS = $(LTDLINCL) $(GLIB_CFLAGS) $(LIBMODPLUG_CFLAGS) @@ -32,16 +31,14 @@ include_HEADERS = dist_man_MANS = doc/man/upkg.1 -# This trick should define orderonly to | iff we're using GNU make. -have_orderonly = $(findstring order-only,$(.FEATURES)) -orderonly = $(have_orderonly:order-only=|) - -upkg_SOURCES = src/upkg.c src/upkg.h -upkg_LDFLAGS = $(AM_LDFLAGS) -export-dynamic -upkg_LDADD = libuobject.la libupkg.la libgnu.la $(GLIB_LIBS) -$(upkg_OBJECTS): $(gnulib_headers) +upkg_SOURCES = src/upkg.c src/upkg.h src/upkgopts.h \ + common/src/help.c common/src/help.h +upkg_LDFLAGS = $(AM_LDFLAGS) -export-dynamic +upkg_LDADD = libuobject.la libupkg.la libgnu.la $(GLIB_LIBS) +$(upkg_OBJECTS): $(gnulib_headers) src/upkgopts.h libupkg_la_SOURCES = src/libupkg.c common/src/pack.c common/src/pack.h +$(libupkg_la_OBJECTS): $(gnulib_headers) uobjectdir = $(includedir)/uobject uobject_HEADERS = src/uobject/uobject.h src/uobject/exportable.h \ @@ -75,7 +72,7 @@ engine_la_SOURCES = $(engine_GOBS:.gob=.c) $(engine_GOBS:.gob=.h) \ src/engine/pcx.h engine_la_LDFLAGS = $(AM_LDFLAGS) $(moduleflags) engine_la_LIBADD = $(GLIB_LIBS) -$(engine_la_OBJECTS): $(orderonly) $(engine_GOBS:.gob=.gobstamp) +$(engine_la_OBJECTS): $(gnulib_headers) $(engine_GOBS:.gob=.gobstamp) if USE_DUMMYMOD engine_la_SOURCES += src/engine/music-dummymod.c @@ -86,22 +83,20 @@ engine_la_SOURCES += src/engine/music-modplug.c src/engine/modplug-types.h engine_la_LIBADD += $(LIBMODPLUG_LIBS) endif -check_LTLIBRARIES = libtest.la check_PROGRAMS = test/decodeindex test/pcxrle +check_LIBRARIES = libtest.a + +libtest_a_SOURCES = test/common.c test/common.h common/src/help.c +$(libtest_a_OBJECTS): $(gnulib_headers) -libtest_la_SOURCES = test/common.c test/common.h +TEST_LIBS = libtest.a libgnu.la -test_decodeindex_LDADD = libupkg.la libgnu.la libtest.la +test_decodeindex_LDADD = libupkg.la $(TEST_LIBS) $(test_decodeindex_OBJECTS): $(gnulib_headers) -test_pcxrle_LDADD = src/engine/pcx.lo libupkg.la libgnu.la libtest.la +test_pcxrle_LDADD = src/engine/pcx.lo libupkg.la $(TEST_LIBS) $(test_pcxrle_OBJECTS): $(gnulib_headers) -TESTS_ENVIRONMENT = SHELL='$(SHELL)' EXEEXT='$(EXEEXT)' -TEST_EXTENSIONS = .sh -SH_LOG_COMPILER = $(SHELL) - -TESTS = tests/libupkg-index-decode.sh tests/engine-pcx-rlencode.sh -EXTRA_DIST += $(TESTS) +EXTRA_DIST += tests/data/test0.utx tests/data/hatch2x2.pcx # Supporting rules for GObject Builder GOB_V = $(GOB_V_@AM_V@) @@ -141,6 +136,14 @@ STAMP_RECOVER = \ .gobstamp.c: ; $(STAMP_RECOVER) .gobstamp.h: ; $(STAMP_RECOVER) +OPTFILES = src/upkgopts.opt +.opt.h: + $(AM_V_GEN) $(AWK) -f $(DX_BASEDIR)/scripts/gen-options.awk $< >$@.tmp + $(AM_V_at) mv -f $@.tmp $@ +$(OPTFILES:.opt=.h): $(DX_BASEDIR)/scripts/gen-options.awk +MAINTAINERCLEANFILES += $(OPTFILES:.opt=.h) +EXTRA_DIST += $(DX_BASEDIR)/scripts/gen-options.awk $(OPTFILES) + # The gob rules refrain from updating unchanged headers for the convenience of # developers, but the headers should be distributed with up-to-date timestamps. dist-hook: update-headers @@ -162,3 +165,4 @@ unfuck-distdir: include $(top_srcdir)/lib/gnulib.mk include $(top_srcdir)/libltdl/ltdl.mk +include $(top_srcdir)/common/snippet/autotest.mk