summaryrefslogtreecommitdiff
path: root/Makefile.am
blob: 22fc051986386063435e4095143b4ef6560db8c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
ACLOCAL_AMFLAGS	= -I scripts

SUBDIRS		= tools glib gio examples scripts tests MSVC_Net2005 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


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: upload-release
	@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, used by gtkmm."
	@echo ""
	@echo "    $(PACKAGE) 2.16 wraps new API in glib 2.16, including the new gio library, "
	@echo "    and is API/ABI-compatibile with glibmm 2.14, 2.12, 2.10, 2.8, 2.6 and "
	@echo "    2.4. It is a version of the glibmm-2.4 API."
	@echo ""
	@echo "    gtkmm and $(PACKAGE) stay in-sync with GTK+ by following the official GNOME release schedule:"
	@echo "    http://www.gnome.org/start/unstable/"
	@echo ""
	@echo "    Bindings for the rest of the GNOME Platform are also available, and are also "
	@echo "    API-stable."
	@echo ""
	@echo "    http://www.gtkmm.org"
	@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 "*** Changes:"
	@echo ""
	@echo "    --- INSERT NEWS HERE ---"
	@echo "============================== CUT HERE =============================="

install-module:
	ssh master.gnome.org install-module $(DIST_ARCHIVES)

release: release-announce

.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