1
## Makefile.am for GTK+
2
include $(top_srcdir)/Makefile.decl
3
4
SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
5
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros
6
7
# require automake 1.4
8
AUTOMAKE_OPTIONS = 1.7
9
10
EXTRA_DIST +=			\
11
	HACKING			\
12
	makecopyright		\
13
	NEWS.pre-1-0		\
14
	ChangeLog.pre-1-0	\
15
	ChangeLog.pre-1-2	\
16
	ChangeLog.pre-2-0	\
17
	ChangeLog.pre-2-2	\
18
	ChangeLog.pre-2-4	\
19
	ChangeLog.pre-2-6	\
20
	ChangeLog.pre-2-8	\
21
	ChangeLog.pre-2-10	\
22
	ChangeLog.pre-2-12	\
23
	ChangeLog.pre-2-14	\
24
	ChangeLog.pre-2-16	\
25
	ChangeLog.gtk-async-file-chooser	\
26
	ChangeLog.gtk-printing	\
27
	README.commits	\
28
	README.win32		\
29
	config.h.win32		\
30
	makefile.msc	\
31
	gtk-zip.sh.in		\
32
	sanitize-la.sh		\
33
	po/README.translators	\
34
	po/po2tbl.sed.in	\
35
	examples/aspectframe/Makefile  \
36
	examples/aspectframe/aspectframe.c  \
37
	examples/Makefile  \
38
	examples/README.1ST  \
39
	examples/extract.awk  \
40
	examples/extract.sh  \
41
	examples/arrow/Makefile	\
42
	examples/arrow/arrow.c	\
43
	examples/base/Makefile  \
44
	examples/base/base.c  \
45
	examples/buttonbox/Makefile \
46
	examples/buttonbox/buttonbox.c	\
47
	examples/buttons/Makefile  \
48
	examples/buttons/buttons.c  \
49
	examples/buttons/info.xpm  \
50
	examples/calendar/Makefile  \
51
	examples/calendar/calendar.c  \
52
	examples/clist/Makefile  \
53
	examples/clist/clist.c  \
54
	examples/entry/Makefile  \
55
	examples/entry/entry.c  \
56
	examples/eventbox/Makefile  \
57
	examples/eventbox/eventbox.c  \
58
	examples/filesel/Makefile  \
59
	examples/filesel/filesel.c  \
60
	examples/gtkdial/Makefile  \
61
	examples/gtkdial/dial_test.c  \
62
	examples/gtkdial/gtkdial.c  \
63
	examples/gtkdial/gtkdial.h  \
64
	examples/helloworld/Makefile  \
65
	examples/helloworld/helloworld.c  \
66
	examples/helloworld2/Makefile  \
67
	examples/helloworld2/helloworld2.c  \
68
	examples/label/Makefile	\
69
	examples/label/label.c	\
70
	examples/list/Makefile  \
71
	examples/list/list.c  \
72
	examples/menu/Makefile  \
73
	examples/menu/menu.c  \
74
	examples/menu/itemfactory.c  \
75
	examples/notebook/Makefile  \
76
	examples/notebook/notebook.c  \
77
	examples/packbox/Makefile  \
78
	examples/packbox/packbox.c  \
79
	examples/paned/Makefile  \
80
	examples/paned/paned.c  \
81
	examples/pixmap/Makefile  \
82
	examples/pixmap/pixmap.c  \
83
	examples/progressbar/Makefile  \
84
	examples/progressbar/progressbar.c  \
85
	examples/radiobuttons/Makefile  \
86
	examples/radiobuttons/radiobuttons.c  \
87
	examples/rangewidgets/Makefile  \
88
	examples/rangewidgets/rangewidgets.c  \
89
	examples/rulers/Makefile  \
90
	examples/rulers/rulers.c  \
91
	examples/scribble-simple/Makefile  \
92
	examples/scribble-simple/scribble-simple.c  \
93
	examples/scribble-xinput/Makefile	\
94
	examples/scribble-xinput/scribble-xinput.c	\
95
	examples/scrolledwin/Makefile  \
96
	examples/scrolledwin/scrolledwin.c  \
97
	examples/selection/Makefile  \
98
	examples/selection/gettargets.c  \
99
	examples/selection/setselection.c  \
100
	examples/statusbar/Makefile  \
101
	examples/statusbar/statusbar.c  \
102
	examples/table/Makefile  \
103
	examples/table/table.c  \
104
	examples/text/Makefile  \
105
	examples/text/text.c  \
106
	examples/tictactoe/Makefile  \
107
	examples/tictactoe/tictactoe.c  \
108
	examples/tictactoe/tictactoe.h  \
109
	examples/tictactoe/ttt_test.c  \
110
	examples/tree/Makefile  \
111
	examples/tree/tree.c  \
112
	examples/wheelbarrow/Makefile  \
113
	examples/wheelbarrow/wheelbarrow.c  \
114
	examples/fixed/fixed.c  \
115
	examples/fixed/Makefile  \
116
	examples/frame/frame.c  \
117
	examples/frame/Makefile  \
118
	examples/spinbutton/spinbutton.c  \
119
	examples/spinbutton/Makefile  \
120
	examples/find-examples.sh
121
MAINTAINERCLEANFILES = \
122
	$(srcdir)/INSTALL \
123
	$(srcdir)/README \
124
	$(srcdir)/aclocal.m4 \
125
	$(srcdir)/autoscan.log \
126
	$(srcdir)/compile \
127
	$(srcdir)/config.guess \
128
	$(srcdir)/config.h.in \
129
	$(srcdir)/config.sub \
130
	$(srcdir)/configure.scan \
131
	$(srcdir)/depcomp \
132
	$(srcdir)/install-sh \
133
	$(srcdir)/ltmain.sh \
134
	$(srcdir)/missing \
135
	$(srcdir)/mkinstalldirs \
136
	$(srcdir)/omf.make \
137
	$(srcdir)/xmldocs.make \
138
	$(srcdir)/gtk-doc.make \
139
	$(srcdir)/ChangeLog \
140
	`find "$(srcdir)" -type f -name Makefile.in -print`
141
142
GDKTARGET=@gdktarget@
143
144
## Copy .pc files to target-specific names
145
gtk+-$(GDKTARGET)-2.0.pc: gtk+-2.0.pc
146
	rm -f gtk+-$(GDKTARGET)-2.0.pc && \
147
	cp gtk+-2.0.pc gtk+-$(GDKTARGET)-2.0.pc
148
149
gdk-$(GDKTARGET)-2.0.pc: gdk-2.0.pc
150
	rm -f gdk-$(GDKTARGET)-2.0.pc && \
151
	cp gdk-2.0.pc gdk-$(GDKTARGET)-2.0.pc
152
153
gtk+-$(GDKTARGET)-2.0-uninstalled.pc: gtk+-2.0-uninstalled.pc
154
	rm -f gtk+-$(GDKTARGET)-2.0-uninstalled.pc && \
155
	cp gtk+-2.0-uninstalled.pc gtk+-$(GDKTARGET)-2.0-uninstalled.pc
156
157
gdk-$(GDKTARGET)-2.0-uninstalled.pc: gdk-2.0-uninstalled.pc
158
	rm -f gdk-$(GDKTARGET)-2.0-uninstalled.pc && \
159
	cp gdk-2.0-uninstalled.pc gdk-$(GDKTARGET)-2.0-uninstalled.pc
160
161
pkgconfigdir = $(libdir)/pkgconfig
162
pkgconfig_DATA= gdk-pixbuf-2.0.pc gdk-$(GDKTARGET)-2.0.pc gtk+-$(GDKTARGET)-2.0.pc gail.pc
163
164
if OS_UNIX
165
pkgconfig_DATA += gtk+-unix-print-2.0.pc
166
endif
167
168
DISTCLEANFILES =				\
169
	gtk+-unix-print-2.0.pc			\
170
	gtk+-$(GDKTARGET)-2.0.pc		\
171
	gdk-$(GDKTARGET)-2.0.pc			\
172
	gail.pc					\
173
	gtk+-$(GDKTARGET)-2.0-uninstalled.pc	\
174
	gdk-$(GDKTARGET)-2.0-uninstalled.pc	\
175
	gail-uninstalled.pc 			\
176
	config.lt
177
178
distclean-local:
179
	if test "$(srcdir)" = "."; then :; else \
180
		rm -f ChangeLog; \
181
	fi
182
183
ChangeLog:
184
	@echo Creating $@
185
	@if test -d "$(srcdir)/.git"; then \
186
	  (GIT_DIR=$(top_srcdir)/.git ./missing --run git log GTK_2_16_0^^.. --stat) | fmt --split-only > $@.tmp \
187
	  && mv -f $@.tmp $@ \
188
	  || ($(RM) $@.tmp; \
189
	      echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
190
	      (test -f $@ || echo git-log is required to generate this file >> $@)); \
191
	else \
192
	  test -f $@ || \
193
	  (echo A git checkout and git-log is required to generate ChangeLog >&2 && \
194
	  echo A git checkout and git-log is required to generate this file >> $@); \
195
	fi
196
197
## copy the default target for this platform to gdk-2.0.pc and gtk+-2.0.pc
198
DEFAULT_GDKTARGET=x11
199
install-data-hook:
200
	(cd $(DESTDIR)$(pkgconfigdir) && \
201
	 test -f gdk-$(DEFAULT_GDKTARGET)-2.0.pc && \
202
	 test -f gtk+-$(DEFAULT_GDKTARGET)-2.0.pc && \
203
	 rm -f gdk-2.0.pc && cp -f gdk-$(DEFAULT_GDKTARGET)-2.0.pc gdk-2.0.pc && \
204
	 rm -f gtk+-2.0.pc && cp -f gtk+-$(DEFAULT_GDKTARGET)-2.0.pc gtk+-2.0.pc) || \
205
	(cd $(DESTDIR)$(pkgconfigdir) && \
206
	 rm -f gdk-2.0.pc && cp -f gdk-$(GDKTARGET)-2.0.pc gdk-2.0.pc && \
207
	 rm -f gtk+-2.0.pc && cp -f gtk+-$(GDKTARGET)-2.0.pc gtk+-2.0.pc)
208
209
uninstall-local:
210
	rm -f $(DESTDIR)$(pkgconfigdir)/gdk-2.0.pc
211
	rm -f $(DESTDIR)$(pkgconfigdir)/gtk+-2.0.pc
212
213
dist-hook:
214
	if test -f $(srcdir)/INSTALL.in && test -f $(srcdir)/README.in ; then \
215
	     CONFIG_FILES="INSTALL:$(srcdir)/INSTALL.in README:$(srcdir)/README.in" \
216
	     CONFIG_HEADERS= \
217
	     $(SHELL) config.status \
218
	     && cp INSTALL README $(distdir) ; \
219
	fi
220
221
.PHONY: files release sanity snapshot ChangeLog
222
223
files:
224
	@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
225
	  echo $$p; \
226
	done
227
	@for subdir in $(SUBDIRS); do \
228
	  files=`cd $$subdir; $(MAKE) files | grep -v "make\[[1-9]\]"`; \
229
	  for file in $$files; do \
230
	    echo $$subdir/$$file; \
231
	  done; \
232
	done
233
234
release:
235
	rm -rf .deps */.deps
236
	$(MAKE) distcheck
237
238
sanity:
239
	./sanity_check $(VERSION)
240
241
242
snapshot:
243
	$(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
244
245
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-man --disable-rebuilds
246
247
GITIGNOREFILES = \
248
	po-properties/Makefile.in.in \
249
	po-properties/Makefile.in \
250
	po-properties/Makefile \
251
	po-properties/*.gmo \
252
	po-properties/*.mo \
253
	po-properties/POTFILES \
254
	po-properties/stamp-it \
255
	po-properties/.intltool-merge-cache
256
257
-include $(top_srcdir)/git.mk