13
0
livetrax/libs/glibmm2/Makefile.am
Paul Davis e916ac2821 upgrade to glibmm 2.16
git-svn-id: svn://localhost/ardour2/branches/3.0@5303 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-02 13:12:38 +00:00

166 lines
6.1 KiB
Makefile

ACLOCAL_AMFLAGS = -I scripts
SUBDIRS = tools glib gio examples scripts tests MSVC_Net2005 MSVC_Net2008 docs
DIST_SUBDIRS = $(SUBDIRS)
EXTRA_DIST = build_shared/Makefile_build.am_fragment \
build_shared/Makefile_build_gensrc.am_fragment \
build_shared/Makefile_gensrc.am_fragment \
build_shared/Makefile_conditional.am_fragment \
README.win32 \
COPYING COPYING.tools
all-local:
@echo "*** Everything completed ***"
dist-hook:
@echo; echo; \
echo "**********************************************************"; \
echo "* IMPORTANT NOTICE: *"; \
echo "* *"; \
echo "* Be sure you have done a complete build before running *"; \
echo "* 'make dist' or 'make distcheck', because otherwise *"; \
echo "* the tarball will _not_ contain the dependency rules *"; \
echo "* generated by the compiler. *"; \
echo "**********************************************************"; \
echo; echo
include $(top_srcdir)/docs/Makefile_web.am_fragment
doc_tarball_files = \
docs/images/*.gif \
docs/internal/*.txt docs/internal/*.dia docs/reference/html
# This doesn't work very well in a $(srcdir) != $(builddir) setup,
# but this target is for maintainer use only anyway.
glibmm-docs.tar.gz:
find examples -name '*.cc' -o -name '*.h' -o -name '*.xpm' -o -name '*.xml' | \
tar cf - --files-from - $(doc_tarball_files) | gzip -c --best >$@
# Upload documentation and examples:
post-html-recursive:
list='docs examples'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) post-html); \
done
post-html-local: glibmm-docs.tar.gz
rsync $(rsync_args) glibmm-docs.tar.gz $$USER@$(web_host):$(web_path_gtkmm)
post-html: post-html-recursive post-html-local
doc-clean-recursive:
(cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-clean)
doc-clean: doc-clean-recursive
doc-rebuild:
(cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-rebuild)
SVN_REV=`svnversion -n`
URL_KEY=URL:
SVN_PATH=`svn info |grep "$(URL_KEY)" |sed -e "s/$(URL_KEY)\s*//"`
ROOT_KEY=Repository Root:
SVN_ROOT=`svn info |grep "$(ROOT_KEY)" |sed -e "s/$(ROOT_KEY)\s*//"`
tag-release: distcheck
@svn cp -r$(SVN_REV) -m "tag $(PACKAGE) $(VERSION)" $(SVN_PATH) $(SVN_ROOT)/tags/$(PACKAGE)-$(VERSION) \
|| (echo "Tagging failed. Do you have local changes that are not committed?" \
&& echo "Try running 'svn update'." && false)
@echo "Release Tagged."
upload-release: tag-release
scp $(DIST_ARCHIVES) master.gnome.org:
@echo "Tarball uploaded. Now run install-module on master.gnome.org"
@echo "[hint: make install-module]"
RELEASE_ANNOUNCE_LIST = gnome-announce-list@gnome.org, gtkmm-list@gnome.org
release-announce:
@echo "Please send the following announcement to:"
@echo "$(RELEASE_ANNOUNCE_LIST)"
@echo ""
@echo "Subject: ANNOUNCE: $(PACKAGE) $(VERSION) released"
@echo ""
@echo "============================== CUT HERE =============================="
@echo "* ABOUT $(PACKAGE) *"
@echo ""
@echo " $(PACKAGE) is a C++ API for glib and gio. It is useful on its own "
@echo " and is a dependency of gtkmm, the C++ API for GTK+."
@echo ""
@echo " $(PACKAGE) $(GLIBMM_RELEASE) wraps new API in glib $(GLIBMM_RELEASE), including the gio library, "
@echo " and is API/ABI-compatibile with older versions of glibmm back to "
@echo " version 2.4. It is a version of the glibmm-2.4 API."
@echo ""
@echo " For more information, please visit http://gtkmm.org/"
@echo ""
@echo "* DOWNLOAD *"
@echo ""
@echo " Source packages for $(PACKAGE) (as well as API-stable bindings for the "
@echo " rest of the GNOME platform) can be downloaded from:"
@echo ""
@echo " http://www.gtkmm.org/download.shtml"
@echo ""
@echo "* DEVELOPMENT *"
@echo ""
@echo " There is active discussion on the mailing list: "
@echo " http://www.gtkmm.org/mailinglist.shtml"
@echo " and in the #c++ channel on irc.gnome.org"
@echo ""
@echo " gtkmm and $(PACKAGE) stay in-sync with GTK+ by following the official "
@echo " GNOME release schedule:"
@echo ""
@echo " http://www.gnome.org/start/unstable/"
@echo ""
@echo "* CHANGES *"
@echo ""
@echo " --- INSERT NEWS HERE ---"
@echo "============================== CUT HERE =============================="
install-module:
ssh master.gnome.org install-module $(DIST_ARCHIVES)
release: upload-release release-announce
#FIXME: use generic paths, rather than my particular paths
H2DEF = env python /opt/gnome2/share/pygobject/2.0/codegen/h2def.py
DEFS_INC_DIR = /opt/gnome2/include
GEN_ENUM = env perl ./tools/enum.pl
GEN_EXTRA_DEFS_GLIB = ./tools/extra_defs_gen/generate_extra_defs
GEN_EXTRA_DEFS_GIO = ./tools/extra_defs_gen/generate_defs_gio
DOCEXTRACT = /home/jonathon/gnome-build/pygobject/codegen/docextract_to_xml.py
defs: glib-defs gio-defs docextract
@echo
@echo "*** Make sure to examine the .defs files to make sure they look reasonable"
@echo
glib-defs:
$(H2DEF) $(DEFS_INC_DIR)/glib-2.0/glib/*.h > glib/src/glib_functions.defs
$(H2DEF) $(DEFS_INC_DIR)/glib-2.0/gobject/*.h > glib/src/gobject_functions.defs
$(H2DEF) $(DEFS_INC_DIR)/glib-2.0/gmodule.h > glib/src/gmodule_functions.defs
$(GEN_ENUM) $(DEFS_INC_DIR)/glib-2.0/glib/*.h > glib/src/glib_enums.defs
$(GEN_ENUM) $(DEFS_INC_DIR)/glib-2.0/gobject/*.h > glib/src/gobject_enums.defs
$(GEN_ENUM) $(DEFS_INC_DIR)/glib-2.0/gmodule.h > glib/src/gmodule_enums.defs
gio-defs:
$(H2DEF) $(DEFS_INC_DIR)/glib-2.0/gio/*.h \
$(DEFS_INC_DIR)/gio-unix-2.0/gio/*.h > gio/src/gio_methods.defs
$(GEN_ENUM) $(DEFS_INC_DIR)/glib-2.0/gio/*.h \
$(DEFS_INC_DIR)/gio-unix-2.0/gio/*.h > gio/src/gio_enums.defs
$(GEN_EXTRA_DEFS_GIO) > gio/src/gio_signals.defs
docextract:
$(DOCEXTRACT) -s ../glib/glib \
-s ../glib/docs/reference/glib \
-s ../glib/gobject \
-s ../glib/docs/reference/gobject > glib/src/glib_docs.xml
$(DOCEXTRACT) -s ../glib/gio \
-s ../glib/docs/reference/gio > gio/src/gio_docs.xml
.PHONY: post-html post-html-local post-html-recursive doc-clean doc-clean-recursive doc-rebuild release tag-release upload-release release-announce install-module defs glib-defs gio-defs docextract