blob: 249db9878b8883c53e08de3bab5835a38d4389a5 (
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
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
|