-# Copyright © 2019 Nick Bowler
+# Copyright © 2019-2020 Nick Bowler
#
# Based on original work Copyright © 1999-2013 Jiri (George) Lebl.
#
# 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
+
AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src \
-I$(builddir) -I$(srcdir) -DPKGDATADIR=\"$(pkgdatadir)\"
-AM_CFLAGS = $(GLIB_CFLAGS)
+AM_CFLAGS = $(LIBGLIB_CFLAGS)
AM_YFLAGS = -d -t
bin_PROGRAMS = gob2
-EXTRA_DIST = COPYING.generated-code examples/GNOME_Foo_SomeInterface.idl \
- examples/README examples/foo-some-interface.gob \
- examples/gtk-button-count.gob examples/my-glade-main.c \
- examples/my-glade.glade examples/my-glade.gob gob2.spec \
- src/treefuncs.c src/treefuncs.h src/treefuncs.stamp \
- src/treefuncs.def src/generate_treefuncs.pl
+EXTRA_DIST = COPYING.GPL3 COPYING.generated-code \
+ examples/GNOME_Foo_SomeInterface.idl examples/README \
+ examples/foo-some-interface.gob examples/gtk-button-count.gob \
+ examples/my-glade-main.c examples/my-glade.glade \
+ examples/my-glade.gob gob2.spec src/generate_treefuncs.pl \
+ src/treefuncs.def src/treefuncs.stamp t/str.gob t/test.gob
CLEANFILES =
DISTCLEANFILES =
gob2_SOURCES = src/main.c src/main.h src/treefuncs.c src/out.c src/util.c \
src/checks.c src/parse.y src/lexer.l
-gob2_LDADD = $(GLIB_LIBS) @LEXLIB@
+gob2_LDADD = $(LIBGLIB_LIBS) @LEXLIB@
$(gob2_OBJECTS): src/treefuncs.h
man_MANS = doc/gob2.1
.PHONY: uninstall-gob2-html
m4dir = $(datadir)/aclocal
-dist_m4_DATA = gob2.m4
+m4_DATA = gob2.m4
+
+gob2.m4: $(top_srcdir)/common/m4/gob2.m4
+ $(AM_V_GEN) $(SED) 's/DX_PROG_GOB2/GOB2_CHECK/g' \
+ $(top_srcdir)/common/m4/gob2.m4 >$@.tmp
+ $(AM_V_at) mv -f $@.tmp $@
+DISTCLEANFILES += gob2.m4
+EXTRA_DIST += common/m4/gob2.m4
+
+git_changelog_start = 2cd951c678998b2b0230c8eb25717ecf0f1dd2db
+dist-hook: generate-changelog
+generate-changelog:
+ -: "$${GIT_DIR=$(top_srcdir)/.git}"; \
+ test -d "$$GIT_DIR" || exit 0; { \
+ $(PERL) -x $(top_srcdir)/build-aux/gitlog-to-changelog -- \
+ $(git_changelog_start).. && \
+ echo && \
+ git show $(git_changelog_start):ChangeLog; \
+ } >$(distdir)/ChangeLog.gen && \
+ mv -f $(distdir)/ChangeLog.gen $(distdir)/ChangeLog
+ rm -f $(distdir)/ChangeLog.gen
+.PHONY: generate-changelog
+
+GENERIC_V = $(GENERIC_V_@AM_V@)
+GENERIC_V_ = $(GENERIC_V_@AM_DEFAULT_V@)
+GENERIC_V_0 = @printf '%2.0s%$(DX_ALIGN_V)s %s\n'
+
+TEST_DISTRIBUTION = false
+TEST_DISTRIBUTION_OR_ERROR = if $(TEST_DISTRIBUTION); \
+ then echo 'Proceeding anyway...'; \
+ else echo 'Run $(MAKE) TEST_DISTRIBUTION=true to ignore this failure.'; \
+ false; \
+ fi
+
+distcheck-hook:
+ $(GENERIC_V) : 'CHECK ' ChangeLog; \
+ $(AWK) '/^Stub/ { print FILENAME ":" NR ":", $$0; exit 1 }' \
+ $(distdir)/ChangeLog || { \
+ echo 'ERROR: *** Packaged ChangeLog was not properly generated from git log.'; \
+ echo ' *** The source version was used instead, but this appears to'; \
+ echo ' *** be the stub from a git checkout. The "git" and "perl"'; \
+ echo ' *** programs are required for ChangeLog generation to work.'; \
+ $(TEST_DISTRIBUTION_OR_ERROR); } >&2
+
+include $(top_srcdir)/common/snippet/autotest.mk