]> git.draconx.ca Git - gob-dx.git/blobdiff - Makefile.am
Modernize build system a bit.
[gob-dx.git] / Makefile.am
index ed0463dfe73f4fe5a46abc3a0cd573aff6e189be..41ac9d8cbaa6737cf57809e754dddddf1f726e73 100644 (file)
@@ -1,10 +1,84 @@
-SUBDIRS = @SUBDIRS@
-DIST_SUBDIRS = src doc examples
+# Copyright © 2019 Nick Bowler
+#
+# Based on original work Copyright © 1999-2013 Jiri (George) Lebl.
+#
+# License GPLv2+: GNU General Public License version 2 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.
 
-m4dir=$(datadir)/aclocal
-m4_DATA=gob2.m4
+AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src \
+              -I$(builddir) -I$(srcdir) -DPKGDATADIR=\"$(pkgdatadir)\"
+AM_CFLAGS = $(GLIB_CFLAGS)
+AM_YFLAGS = -d -t
 
-EXTRA_DIST = gob2.spec.in $(m4_DATA) COPYING.generated-code
+bin_PROGRAMS = gob2
 
-dist-hook: gob2.spec
-       cp gob2.spec $(distdir)
+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
+
+CLEANFILES =
+DISTCLEANFILES =
+MAINTAINERCLEANFILES = src/treefuncs.c src/treefuncs.h src/treefuncs.stamp
+
+EXTRA_PROGRAMS = parser-rdeps
+parser_rdeps_SOURCES = src/main.c src/lexer.l
+$(parser_rdeps_OBJECTS): src/parse.h
+
+noinst_HEADERS = src/main.h src/treefuncs.h src/out.h src/util.h src/checks.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.l
+gob2_LDADD = $(GLIB_LIBS) @LEXLIB@
+$(gob2_OBJECTS): src/treefuncs.h
+
+man_MANS = doc/gob2.1
+EXTRA_DIST += doc/makehtml.pl
+
+PERL_ERROR = @:; { \
+         printf '%s: ERROR: perl was not available at configure time.\n' "$@"; \
+         printf '%s: If perl is installed but was not detected by configure,\n' "$@"; \
+         printf '%s: consider setting PERL and re-running configure.\n' "$@"; \
+       } 1>&2; false
+
+src/treefuncs.stamp: src/generate_treefuncs.pl src/treefuncs.def
+if !HAVE_PERL
+       $(PERL_ERROR)
+endif
+       $(AM_V_at) $(MKDIR_P) $(@D)
+       $(AM_V_GEN) (cd $(@D) && \
+         $(PERL) $(abs_srcdir)/src/generate_treefuncs.pl \
+                 $(abs_srcdir)/src/treefuncs.def; )
+       $(AM_V_at) touch $@
+
+.stamp.c:
+       @test -f $@ || { rm -f $<; $(MAKE) $(AM_MAKEFLAGS) $<; }
+.stamp.h:
+       @test -f $@ || { rm -f $<; $(MAKE) $(AM_MAKEFLAGS) $<; }
+
+html-local: doc/gob2.html
+doc/gob2.html: doc/gob2.1
+if !HAVE_PERL
+       $(PERL_ERROR)
+endif
+       $(AM_V_GEN) $(PERL) $(top_srcdir)/doc/makehtml.pl <doc/gob2.1 >$@.tmp
+       $(AM_V_at) mv -f $@.tmp $@
+CLEANFILES += doc/gob2.html
+
+install-html-local: install-gob2-html
+install-gob2-html: doc/gob2.html
+       $(MKDIR_P) "$(DESTDIR)$(docdir)"
+       $(INSTALL_DATA) doc/gob2.html "$(DESTDIR)$(docdir)/gob2.html"
+.PHONY: install-gob2-html
+
+uninstall-local: uninstall-gob2-html
+uninstall-gob2-html:
+       test ! -d "$(DESTDIR)$(docdir)" || \
+         cd "$(DESTDIR)$(docdir)" && rm -f gob2.html
+.PHONY: uninstall-gob2-html
+
+m4dir = $(datadir)/aclocal
+dist_m4_DATA = gob2.m4