X-Git-Url: http://git.draconx.ca/gitweb/gob-dx.git/blobdiff_plain/14f532691ec5161558c80bfbaa81be053d05f0ca..HEAD:/Makefile.am diff --git a/Makefile.am b/Makefile.am index e8afbc6..c7ca686 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ -# Copyright © 2019-2020 Nick Bowler +# Copyright © 2019-2022 Nick Bowler # # Based on original work Copyright © 1999-2013 Jiri (George) Lebl. # @@ -9,36 +9,47 @@ ACLOCAL_AMFLAGS = -I m4 -I common/m4 AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src \ - -I$(builddir) -I$(srcdir) -DPKGDATADIR=\"$(pkgdatadir)\" + -I$(top_builddir)/lib -I$(top_srcdir)/lib \ + -I$(DX_BASEDIR)/src -DPKGDATADIR=\"$(pkgdatadir)\" AM_CFLAGS = $(LIBGLIB_CFLAGS) AM_YFLAGS = -d -t bin_PROGRAMS = gob2 -EXTRA_DIST = COPYING.GPL3 COPYING.generated-code \ +EXTRA_DIST = COPYING.GPL3 COPYING.generated-code common/scripts/fix-gnulib.pl \ 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/lexer.l src/lexer.stamp src/treefuncs.def \ src/treefuncs.stamp t/str.gob t/test-fooable.c t/test-fooable.h \ - t/test.gob + t/test.gob m4/gnulib-cache.m4 bootstrap -CLEANFILES = +CLEANFILES = $(EXTRA_LIBRARIES) DISTCLEANFILES = +MOSTLYCLEANFILES = MAINTAINERCLEANFILES = src/lexer.c src/lexer.h src/lexer.stamp \ src/treefuncs.c src/treefuncs.h src/treefuncs.stamp +# For Gnulib +EXTRA_LIBRARIES = + EXTRA_PROGRAMS = parser-rdeps parser_rdeps_SOURCES = src/main.c src/lexer.c $(parser_rdeps_OBJECTS): src/parse.h -noinst_HEADERS = src/main.h src/treefuncs.h src/out.h src/util.h src/checks.h +noinst_HEADERS = src/main.h src/treefuncs.h src/out.h src/util.h src/checks.h \ + common/src/help.h 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.c src/lexer.h -gob2_LDADD = $(LIBGLIB_LIBS) -$(gob2_OBJECTS): src/treefuncs.h + src/checks.c src/parse.y src/lexer.c src/lexer.h src/options.h \ + common/src/help.c +gob2_LDADD = $(LIBGLIB_LIBS) libgnu.a +$(gob2_OBJECTS): $(gnulib_headers) src/treefuncs.h src/options.h + +if GOB_STRCASE +gob2_SOURCES += src/gob-strcase.c +endif man_MANS = doc/gob2.1 EXTRA_DIST += doc/makehtml.pl @@ -48,6 +59,13 @@ FLEX_V_ = $(FLEX_V_@AM_DEFAULT_V@) FLEX_V_0 = @printf ' %$(DX_ALIGN_V)s %s\n' 'FLEX ' $<; TOOL_ERROR = { \ + echo "ERROR: *** $$tool is missing on your system."; \ + echo " *** Because of this, I cannot compile $$toolsrc."; \ + echo " *** If $$tool is installed but was not detected by configure,";\ + echo " *** consider setting $$toolvar and re-running configure."; \ + echo " *** See config.log for more details."; } >&2; false + +DEV_TOOL_ERROR = { \ echo "ERROR: *** $$tool is missing on your system."; \ echo " *** Because of this, I cannot compile $$toolsrc, but"; \ echo " *** (perhaps because you modified it) the sources appear out"; \ @@ -57,7 +75,7 @@ TOOL_ERROR = { \ src/treefuncs.stamp: src/generate_treefuncs.pl src/treefuncs.def if !HAVE_PERL - @tool=perl toolvar=PERL toolsrc=src/treefuncs.def; $(TOOL_ERROR) + @tool=perl toolvar=PERL toolsrc=src/treefuncs.def; $(DEV_TOOL_ERROR) endif $(AM_V_at) $(MKDIR_P) $(@D) && touch $@.tmp $(AM_V_GEN) (cd $(@D) && \ @@ -65,10 +83,18 @@ endif $(abs_srcdir)/src/treefuncs.def; ) $(AM_V_at) mv -f $@.tmp $@ +OPTFILES = src/options.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) + .l.c: ; .l.stamp: if !HAVE_FLEX - @tool=flex toolvar=FLEX toolsrc=$<; $(TOOL_ERROR) + @tool=flex toolvar=FLEX toolsrc=$<; $(DEV_TOOL_ERROR) endif $(AM_V_at) touch $@.tmp $(AM_V_at) rm -f $*.h.tmp; mv -f $*.h $*.h.tmp 2>/dev/null; : @@ -89,7 +115,7 @@ src/lexer.c src/lexer.h: src/lexer.stamp html-local: doc/gob2.html doc/gob2.html: doc/gob2.1 if !HAVE_PERL - $(PERL_ERROR) + @tool=perl toolvar=PERL toolsrc=$@; $(TOOL_ERROR) endif $(AM_V_GEN) $(PERL) $(top_srcdir)/doc/makehtml.pl $@.tmp $(AM_V_at) mv -f $@.tmp $@ @@ -110,18 +136,23 @@ uninstall-gob2-html: m4dir = $(datadir)/aclocal 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 +gob2.m4: $(DX_BASEDIR)/m4/gob2.m4 $(DX_BASEDIR)/m4/basename.m4 + $(AM_V_GEN) :; { \ + $(SED) -e 's/DX_PROG_GOB2/GOB2_CHECK/g' \ + -e 's/DX_BASENAME/GOB2_BASENAME/g' \ + $(DX_BASEDIR)/m4/gob2.m4 && echo && \ + $(SED) -e 's/DX_/GOB2_/g' -e 's/dx_fn_/gob2_fn_/g' \ + $(DX_BASEDIR)/m4/basename.m4; \ + } >$@.tmp $(AM_V_at) mv -f $@.tmp $@ DISTCLEANFILES += gob2.m4 -EXTRA_DIST += common/m4/gob2.m4 +EXTRA_DIST += $(DX_BASEDIR)/m4/gob2.m4 $(DX_BASEDIR)/m4/basename.m4 git_changelog_start = 2cd951c678998b2b0230c8eb25717ecf0f1dd2db dist-hook: generate-changelog generate-changelog: unfuck-distdir -: "$${GIT_DIR=$(top_srcdir)/.git}"; \ - test -d "$$GIT_DIR" || exit 0; { \ + export GIT_DIR; test -d "$$GIT_DIR" || exit 0; { \ $(PERL) -x $(top_srcdir)/build-aux/gitlog-to-changelog -- \ $(git_changelog_start).. && \ echo && \ @@ -177,4 +208,28 @@ distcheck-hook: echo ' *** Remember to update NEWS before preparing a release.'; \ $(TEST_DISTRIBUTION_OR_ERROR); } >&2 +atlocal: config.status + $(AM_V_GEN) :; { \ + printf ': "$${%s=%s}"\n' \ + CC '$(CC)' \ + CXX '$(CXX)' \ + AWK '$(AWK)' \ + CPPFLAGS '$(CPPFLAGS)' \ + CFLAGS '$(CFLAGS)' \ + CXXFLAGS '$(CXXFLAGS)' \ + LDFLAGS '$(LDFLAGS)' \ + GTK_CFLAGS '$(GTK_CFLAGS)' \ + GTK_LIBS '$(GTK_LIBS)' \ + LIBGOBJECT_CFLAGS '$(LIBGOBJECT_CFLAGS)' \ + LIBGOBJECT_LIBS '$(LIBGOBJECT_LIBS)' \ + HAVE_GOBJECT '$(HAVE_GOBJECT)' \ + HAVE_GOBJECT_PRIVATES '$(HAVE_GOBJECT_PRIVATES)' \ + HAVE_GTK2 '$(HAVE_GTK2)' \ + pkgdatadir '$(pkgdatadir)' \ + ; } >$@.tmp + $(AM_V_at) mv -f $@.tmp $@ +check_DATA = atlocal +CLEANFILES += atlocal + +include $(top_srcdir)/lib/gnulib.mk include $(top_srcdir)/common/snippet/autotest.mk