1# Makefile.am for gtk+/gtk
2include $(top_srcdir)/Makefile.decl
3-include $(INTROSPECTION_MAKEFILE)
4INTROSPECTION_GIRS =
5INTROSPECTION_SCANNER_ARGS = \
6	--warn-all \
7	--add-include-path=../gdk
8INTROSPECTION_COMPILER_ARGS = \
9	--includedir=$(srcdir) \
10    --includedir=. \
11    --includedir=../gdk
12
13if USE_QUARTZ
14GTK_PRINT_PREVIEW_COMMAND="open -b com.apple.Preview %f"
15else
16GTK_PRINT_PREVIEW_COMMAND="evince --unlink-tempfile --preview --print-settings %s %f"
17endif
18
19SUBDIRS = theme-bits . tests
20DIST_SUBDIRS=theme-bits tests
21
22if HAVE_PAPI_CUPS
23GTK_PRINT_BACKENDS=file,papi,cups
24else
25if HAVE_CUPS
26GTK_PRINT_BACKENDS=file,cups
27else
28if HAVE_PAPI
29GTK_PRINT_BACKENDS=file,papi
30else
31GTK_PRINT_BACKENDS=file,lpr
32endif
33endif
34endif
35
36GTK_BASE_CFLAGS_DEFINES =				\
37	-DGTK_VERSION=\"$(GTK_VERSION)\"		\
38	-DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\"	\
39	-DGTK_COMPILATION				\
40	-DGTK_DISABLE_DEPRECATED			\
41	-DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED		\
42	-DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED
43
44GTK_PLAT_CFLAGS_DEFINES =				\
45	-DGTK_LIBDIR=\"$(libdir)\"			\
46	-DGTK_DATADIR=\"$(datadir)\"			\
47	-DGTK_DATA_PREFIX=\"$(prefix)\"			\
48	-DGTK_SYSCONFDIR=\"$(sysconfdir)\"		\
49	-DGTK_HOST=\"$(host)\"				\
50	-DGTK_PRINT_BACKENDS=\"$(GTK_PRINT_BACKENDS)\"	\
51	-DGTK_PRINT_PREVIEW_COMMAND=\"$(GTK_PRINT_PREVIEW_COMMAND)\"
52
53INCLUDES =						\
54	$(GTK_BASE_CFLAGS_DEFINES)			\
55	$(GTK_PLAT_CFLAGS_DEFINES)			\
56	-DG_LOG_DOMAIN=\"Gtk\"				\
57	-I$(top_builddir)				\
58	-I$(top_builddir)/gtk				\
59	-I$(top_srcdir) -I../gdk			\
60	-I$(top_srcdir)/gdk				\
61	$(GMODULE_CFLAGS)				\
62	$(GTK_DEBUG_FLAGS)				\
63	$(GTK_DEP_CFLAGS)				\
64	$(INCLUDED_IMMODULE_DEFINE)
65
66gtarget=$(gdktarget)
67
68if PLATFORM_WIN32
69no_undefined = -no-undefined
70endif
71
72if OS_WIN32
73gtk_def = gtk.def
74gtk_win32_symbols = -export-symbols gtk.def
75
76gtk_win32_res = gtk-win32-res.o
77gtk_win32_res_ldflag = -Wl,gtk-win32-res.o
78
79gtk-win32-res.o : gtk-win32.rc
80	$(WINDRES) gtk-win32.rc $@
81
82install-def-file: gtk.def
83	$(mkinstalldirs) $(DESTDIR)$(libdir)
84	$(INSTALL) gtk.def $(DESTDIR)$(libdir)/gtk-win32-2.0.def
85uninstall-def-file:
86	-rm $(DESTDIR)$(libdir)/gtk-win32-2.0.def
87else
88install-def-file:
89uninstall-def-file:
90endif
91
92if MS_LIB_AVAILABLE
93noinst_DATA = gtk-win32-$(GTK_API_VERSION).lib
94
95gtk-win32-$(GTK_API_VERSION).lib: libgtk-win32-$(GTK_API_VERSION).la gtk.def
96	lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgtk-win32-$(GTK_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:gtk.def -out:$@
97
98install-ms-lib:
99	$(mkinstalldirs) $(DESTDIR)$(libdir)
100	$(INSTALL) gtk-win32-$(GTK_API_VERSION).lib $(DESTDIR)$(libdir)
101
102uninstall-ms-lib:
103	-rm $(DESTDIR)$(libdir)/gtk-win32-$(GTK_API_VERSION).lib
104else
105install-ms-lib:
106uninstall-ms-lib:
107endif
108
109# gtk.def has to be put in builddir and should not be included in a source
110# tarball because it differs in 32-bit and 64-bit Windows builds.
111gtk.def: gtk.symbols
112	(echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/gtk.symbols | sed -e '/^$$/d' -e 's/^/	/' -e 's/G_GNUC_[^ ]*//g') > gtk.def
113
114gtkalias.h: gtk.symbols
115	  $(PERL) $(srcdir)/makegtkalias.pl < $(srcdir)/gtk.symbols > gtkalias.h
116gtkaliasdef.c: gtk.symbols
117	  $(PERL) $(srcdir)/makegtkalias.pl -def < $(srcdir)/gtk.symbols > gtkaliasdef.c
118
119check-aliases:
120	@$(TESTS_ENVIRONMENT) $(srcdir)/aliasfilescheck.sh
121
122.PHONY: check-aliases
123
124TESTS_ENVIRONMENT = srcdir="$(srcdir)" gtk_all_c_sources="$(gtk_all_c_sources)"
125TESTS = aliasfilescheck.sh
126if OS_LINUX
127TESTS += abicheck.sh pltcheck.sh
128endif
129
130libgtkincludedir = $(includedir)/gtk-2.0/gtk
131libadd =								\
132	$(top_builddir)/gdk/$(gdktargetlib)				\
133	$(GMODULE_LIBS) \
134	$(GTK_DEP_LIBS)
135deps =
136
137# libtool stuff: set version and export symbols for resolving
138# since automake doesn't support conditionalized libsomething_la_LDFLAGS
139# we use the general approach here
140libtool_opts =							\
141  -version-info $(LT_VERSION_INFO)				\
142  -export-dynamic $(no_undefined) $(LIBTOOL_EXPORT_OPTIONS)	\
143  -rpath $(libdir) $(libgtk_target_ldflags)
144
145
146included-modules:
147if HAVE_INCLUDED_IMMMODULES
148	@cd $(top_builddir)/modules/input && $(MAKE) $(AM_MAKEFLAGS) included-modules
149
150libadd += $(INCLUDED_IMMODULE_OBJ)
151deps += $(INCLUDED_IMMODULE_OBJ)
152
153$(INCLUDED_IMMODULE_OBJ): included-modules
154	@true
155endif
156
157.PHONY: included-modules
158
159#
160# setup source file variables
161#
162
163# GTK+ header files for public installation (non-generated, or generated
164# by configure)
165gtk_public_h_sources =          \
166	gtk.h			\
167	gtkaboutdialog.h	\
168	gtkaccelgroup.h		\
169	gtkaccellabel.h		\
170	gtkaccelmap.h		\
171	gtkaccessible.h		\
172	gtkaction.h		\
173	gtkactiongroup.h	\
174	gtkactivatable.h	\
175	gtkadjustment.h		\
176	gtkalignment.h		\
177	gtkarrow.h		\
178	gtkaspectframe.h	\
179	gtkassistant.h		\
180	gtkbbox.h		\
181	gtkbin.h		\
182	gtkbindings.h		\
183	gtkbox.h		\
184	gtkbuilder.h		\
185	gtkbuildable.h		\
186	gtkbutton.h		\
187	gtkcalendar.h		\
188	gtkcelleditable.h	\
189	gtkcelllayout.h		\
190	gtkcellrenderer.h	\
191	gtkcellrendereraccel.h	\
192	gtkcellrenderercombo.h	\
193	gtkcellrendererpixbuf.h	\
194	gtkcellrendererprogress.h \
195	gtkcellrendererspin.h   \
196	gtkcellrendererspinner.h\
197	gtkcellrenderertext.h	\
198	gtkcellrenderertoggle.h	\
199	gtkcellview.h		\
200	gtkcheckbutton.h	\
201	gtkcheckmenuitem.h	\
202	gtkclipboard.h		\
203	gtkcolorbutton.h	\
204	gtkcolorsel.h		\
205	gtkcolorseldialog.h	\
206	gtkcombobox.h		\
207	gtkcomboboxentry.h	\
208	gtkcomboboxtext.h	\
209	gtkcontainer.h		\
210	gtkdebug.h              \
211	gtkdialog.h		\
212	gtkdnd.h		\
213	gtkdrawingarea.h	\
214	gtkeditable.h           \
215	gtkentry.h		\
216	gtkentrybuffer.h	\
217	gtkentrycompletion.h	\
218	gtkenums.h		\
219	gtkeventbox.h		\
220	gtkexpander.h		\
221	gtkfilechooser.h        \
222	gtkfilechooserbutton.h  \
223	gtkfilechooserdialog.h  \
224	gtkfilechooserwidget.h  \
225	gtkfilefilter.h		\
226	gtkfixed.h		\
227	gtkfontbutton.h		\
228	gtkfontsel.h		\
229	gtkframe.h		\
230	gtkgc.h			\
231	gtkhandlebox.h		\
232	gtkhbbox.h		\
233	gtkhbox.h		\
234	gtkhpaned.h		\
235	gtkhruler.h		\
236	gtkhscale.h		\
237	gtkhscrollbar.h		\
238	gtkhseparator.h		\
239	gtkhsv.h		\
240	gtkiconfactory.h	\
241	gtkicontheme.h		\
242	gtkiconview.h		\
243	gtkimage.h		\
244	gtkimagemenuitem.h	\
245	gtkimcontext.h		\
246	gtkimcontextsimple.h	\
247	gtkimmodule.h		\
248	gtkimmulticontext.h	\
249	gtkinfobar.h		\
250	gtkinvisible.h		\
251	gtkitem.h		\
252	gtklabel.h		\
253	gtklayout.h             \
254	gtklinkbutton.h		\
255	gtkliststore.h		\
256	gtkmain.h		\
257	gtkmenu.h		\
258	gtkmenubar.h		\
259	gtkmenuitem.h		\
260	gtkmenushell.h		\
261	gtkmenutoolbutton.h	\
262	gtkmessagedialog.h	\
263	gtkmisc.h		\
264	gtkmodules.h		\
265	gtkmountoperation.h     \
266	gtknotebook.h		\
267	gtkobject.h		\
268	gtkoffscreenwindow.h	\
269	gtkorientable.h		\
270	gtkpagesetup.h		\
271	gtkpaned.h		\
272	gtkpapersize.h		\
273	gtkplug.h		\
274	gtkprintcontext.h	\
275	gtkprintoperation.h	\
276	gtkprintoperationpreview.h	\
277	gtkprintsettings.h	\
278	gtkprivate.h		\
279	gtkprogressbar.h	\
280	gtkradioaction.h	\
281	gtkradiobutton.h	\
282	gtkradiomenuitem.h	\
283	gtkradiotoolbutton.h	\
284	gtkrange.h		\
285	gtkrc.h			\
286	gtkrecentaction.h	\
287	gtkrecentchooser.h 	\
288	gtkrecentchooserdialog.h \
289	gtkrecentchoosermenu.h 	\
290	gtkrecentchooserwidget.h \
291	gtkrecentfilter.h 	\
292	gtkrecentmanager.h 	\
293	gtkruler.h		\
294	gtkscale.h		\
295	gtkscalebutton.h	\
296	gtkscrollbar.h		\
297	gtkscrolledwindow.h	\
298	gtkselection.h		\
299	gtkseparator.h		\
300	gtkseparatormenuitem.h	\
301	gtkseparatortoolitem.h	\
302	gtkshow.h		\
303	gtksettings.h		\
304	gtksizegroup.h		\
305	gtksocket.h		\
306	gtkspinbutton.h		\
307	gtkspinner.h		\
308	gtkstatusbar.h		\
309	gtkstatusicon.h		\
310	gtkstock.h		\
311	gtkstyle.h		\
312	gtktable.h		\
313	gtktearoffmenuitem.h    \
314	gtktestutils.h		\
315	gtktextbuffer.h		\
316	gtktextbufferrichtext.h	\
317	gtktextchild.h		\
318	gtktextdisplay.h	\
319	gtktextiter.h		\
320	gtktextmark.h		\
321	gtktexttag.h		\
322	gtktexttagtable.h	\
323	gtktextview.h		\
324	gtktoggleaction.h	\
325	gtktogglebutton.h	\
326	gtktoggletoolbutton.h	\
327	gtktoolbar.h		\
328	gtktoolbutton.h		\
329	gtktoolitem.h		\
330	gtktoolitemgroup.h	\
331	gtktoolpalette.h	\
332	gtktoolshell.h		\
333	gtktooltip.h		\
334	gtktreednd.h		\
335	gtktreemodel.h		\
336	gtktreemodelfilter.h	\
337	gtktreemodelsort.h	\
338	gtktreeselection.h	\
339	gtktreesortable.h	\
340	gtktreestore.h		\
341	gtktreeview.h		\
342	gtktreeviewcolumn.h	\
343	gtktypeutils.h		\
344	gtkuimanager.h		\
345	gtkvbbox.h		\
346	gtkvbox.h		\
347	gtkviewport.h		\
348	gtkvolumebutton.h	\
349	gtkvpaned.h		\
350	gtkvruler.h		\
351	gtkvscale.h		\
352	gtkvscrollbar.h		\
353	gtkvseparator.h		\
354	gtkwidget.h		\
355	gtkwindow.h
356
357if OS_UNIX
358gtk_unix_print_public_h_sources =    \
359	gtkpagesetupunixdialog.h	\
360	gtkprintunixdialog.h		\
361	gtkprinter.h			\
362	gtkprintjob.h			\
363	gtkunixprint.h
364endif
365
366# Installed header files without compatibility guarantees
367# that are not included in gtk/gtk.h
368gtk_semi_private_h_sources =    \
369	gtktextlayout.h
370
371# GTK+ header files that don't get installed
372gtk_private_h_sources =		\
373	gtkquery.h		\
374	gtksearchengine.h	\
375	gtksearchenginesimple.h	\
376	gtkdndcursors.h		\
377	gtkentryprivate.h	\
378	gtkbuilderprivate.h 	\
379	gtkcustompaperunixdialog.h\
380	gtkfilechooserdefault.h	\
381	gtkfilechooserembed.h	\
382	gtkfilechooserentry.h	\
383	gtkfilechooserprivate.h	\
384	gtkfilechoosersettings.h \
385	gtkfilechooserutils.h	\
386	gtkfilesystem.h		\
387	gtkfilesystemmodel.h	\
388	gtkiconcache.h		\
389	gtkimcontextsimpleseqs.h   \
390	gtkintl.h		\
391	gtkkeyhash.h		\
392	gtkmnemonichash.h	\
393	gtkmountoperationprivate.h \
394	gtkpango.h		\
395	gtkpathbar.h		\
396	gtkplugprivate.h	\
397	gtkprintoperation-private.h\
398	gtkprintutils.h		\
399	gtkrbtree.h		\
400	gtkrecentchooserdefault.h \
401	gtkrecentchooserprivate.h \
402	gtkrecentchooserutils.h \
403	gtksocketprivate.h	\
404	gtktextbtree.h		\
405	gtktextbufferserialize.h\
406	gtktextchildprivate.h	\
407	gtktextiterprivate.h	\
408	gtktextmarkprivate.h	\
409	gtktextsegment.h	\
410	gtktexttagprivate.h	\
411	gtktexttypes.h		\
412	gtktextutil.h		\
413	gtkthemes.h		\
414	gtktoggleactionprivate.h\
415	gtktoolpaletteprivate.h	\
416	gtktreedatalist.h	\
417	gtktreeprivate.h	\
418	gtkwindow-decorate.h	\
419	$(gtk_clipboard_dnd_h_sources)
420
421# GTK+ C sources to build the library from
422gtk_base_c_sources =            \
423	gtkquery.c		\
424	gtksearchengine.c	\
425	gtksearchenginesimple.c	\
426	fnmatch.c		\
427	gtkaboutdialog.c	\
428	gtkaccelgroup.c		\
429	gtkaccellabel.c		\
430	gtkaccelmap.c		\
431	gtkaccessible.c		\
432	gtkaction.c		\
433	gtkactiongroup.c	\
434	gtkactivatable.c	\
435	gtkadjustment.c		\
436	gtkalignment.c		\
437	gtkarrow.c		\
438	gtkaspectframe.c	\
439	gtkassistant.c		\
440	gtkbbox.c		\
441	gtkbin.c		\
442	gtkbindings.c		\
443	gtkbox.c		\
444	gtkbuildable.c		\
445	gtkbuilder.c		\
446	gtkbuilderparser.c	\
447	gtkbutton.c		\
448	gtkcalendar.c		\
449	gtkcelleditable.c	\
450	gtkcelllayout.c		\
451	gtkcellrenderer.c	\
452	gtkcellrendereraccel.c	\
453	gtkcellrenderercombo.c	\
454	gtkcellrendererpixbuf.c	\
455	gtkcellrendererprogress.c \
456	gtkcellrendererspin.c   \
457	gtkcellrendererspinner.c\
458	gtkcellrenderertext.c	\
459	gtkcellrenderertoggle.c	\
460	gtkcellview.c		\
461	gtkcheckbutton.c	\
462	gtkcheckmenuitem.c	\
463	gtkcolorbutton.c	\
464	gtkcolorsel.c		\
465	gtkcolorseldialog.c	\
466	gtkcombobox.c		\
467	gtkcomboboxentry.c	\
468	gtkcomboboxtext.c 	\
469	gtkcontainer.c		\
470	gtkdialog.c		\
471	gtkdrawingarea.c	\
472	gtkeditable.c           \
473	gtkentry.c		\
474	gtkentrybuffer.c	\
475	gtkentrycompletion.c	\
476	gtkeventbox.c		\
477	gtkexpander.c		\
478	gtkfilechooser.c	\
479	gtkfilechooserbutton.c	\
480	gtkfilechooserdefault.c	\
481	gtkfilechooserdialog.c	\
482	gtkfilechooserembed.c	\
483	gtkfilechooserentry.c	\
484	gtkfilechoosersettings.c \
485	gtkfilechooserutils.c	\
486	gtkfilechooserwidget.c	\
487	gtkfilefilter.c		\
488	gtkfilesystem.c		\
489	gtkfilesystemmodel.c	\
490	gtkfixed.c		\
491	gtkfontbutton.c         \
492	gtkfontsel.c            \
493	gtkframe.c		\
494	gtkgc.c			\
495	gtkhandlebox.c		\
496	gtkhbbox.c		\
497	gtkhbox.c		\
498	gtkhpaned.c		\
499	gtkhruler.c		\
500	gtkhscale.c		\
501	gtkhscrollbar.c		\
502	gtkhseparator.c		\
503	gtkhsv.c		\
504	gtkiconcache.c		\
505	gtkiconcachevalidator.c	\
506	gtkiconfactory.c	\
507	gtkicontheme.c		\
508	gtkiconview.c		\
509	gtkimage.c		\
510	gtkimagemenuitem.c	\
511	gtkimcontext.c		\
512	gtkimcontextsimple.c	\
513	gtkimmodule.c		\
514	gtkimmulticontext.c	\
515	gtkinfobar.c		\
516	gtkinputdialog.c	\
517	gtkinvisible.c		\
518	gtkitem.c		\
519	gtkkeyhash.c		\
520	gtklabel.c		\
521	gtklayout.c		\
522	gtklinkbutton.c		\
523	gtkliststore.c		\
524	gtkmain.c		\
525	gtkmarshal.c		\
526	gtkmarshalers.c		\
527	gtkmenu.c		\
528	gtkmenubar.c		\
529	gtkmenuitem.c		\
530	gtkmenushell.c		\
531	gtkmenutoolbutton.c	\
532	gtkmessagedialog.c	\
533	gtkmisc.c		\
534	gtkmnemonichash.c	\
535	gtkmodules.c		\
536	gtkmountoperation.c     \
537	gtknotebook.c		\
538	gtkobject.c		\
539	gtkoffscreenwindow.c	\
540	gtkorientable.c		\
541	gtkpagesetup.c		\
542	gtkpaned.c		\
543	gtkpango.c		\
544	gtkpapersize.c		\
545	gtkpathbar.c		\
546	gtkplug.c		\
547	gtkprintcontext.c	\
548	gtkprintoperation.c	\
549	gtkprintoperationpreview.c	\
550	gtkprintsettings.c	\
551	gtkprintutils.c		\
552	gtkprogressbar.c	\
553	gtkradioaction.c	\
554	gtkradiobutton.c	\
555	gtkradiomenuitem.c	\
556	gtkradiotoolbutton.c	\
557	gtkrange.c		\
558	gtkrbtree.c 		\
559	gtkrc.c			\
560	gtkrecentaction.c	\
561	gtkrecentchooserdefault.c \
562	gtkrecentchooserdialog.c \
563	gtkrecentchoosermenu.c 	\
564	gtkrecentchooserwidget.c \
565	gtkrecentchooserutils.c \
566	gtkrecentchooser.c 	\
567	gtkrecentfilter.c 	\
568	gtkrecentmanager.c 	\
569	gtkruler.c		\
570	gtkscale.c		\
571	gtkscalebutton.c	\
572	gtkscrollbar.c		\
573	gtkscrolledwindow.c	\
574	gtkselection.c		\
575	gtkseparator.c		\
576	gtkseparatormenuitem.c	\
577	gtkseparatortoolitem.c	\
578	gtksettings.c		\
579	gtksizegroup.c		\
580	gtkshow.c		\
581	gtksocket.c		\
582	gtkspinbutton.c		\
583	gtkspinner.c		\
584	gtkstatusbar.c		\
585	gtkstatusicon.c		\
586	gtkstock.c		\
587	gtkstyle.c		\
588	gtktable.c		\
589	gtktearoffmenuitem.c    \
590	gtktestutils.c		\
591	gtktextbtree.c		\
592	gtktextbuffer.c		\
593	gtktextbufferrichtext.c	\
594	gtktextbufferserialize.c\
595	gtktextchild.c		\
596	gtktextdisplay.c	\
597	gtktextiter.c		\
598	gtktextlayout.c		\
599	gtktextmark.c		\
600	gtktextsegment.c	\
601	gtktexttag.c		\
602	gtktexttagtable.c	\
603	gtktexttypes.c		\
604	gtktextutil.c		\
605	gtktextview.c		\
606	gtkthemes.c		\
607	gtktoggleaction.c	\
608	gtktogglebutton.c	\
609	gtktoggletoolbutton.c	\
610	gtktoolbar.c		\
611	gtktoolbutton.c		\
612	gtktoolitem.c		\
613	gtktoolitemgroup.c		\
614	gtktoolpalette.c	\
615	gtktoolshell.c		\
616	gtktooltip.c		\
617	gtktreedatalist.c	\
618	gtktreednd.c		\
619	gtktreemodel.c		\
620	gtktreemodelfilter.c	\
621	gtktreemodelsort.c	\
622	gtktreeselection.c	\
623	gtktreesortable.c	\
624	gtktreestore.c		\
625	gtktreeview.c		\
626	gtktreeviewcolumn.c	\
627	gtktypebuiltins.c	\
628	gtktypeutils.c		\
629	gtkuimanager.c		\
630	gtkvbbox.c		\
631	gtkvbox.c		\
632	gtkvolumebutton.c	\
633	gtkviewport.c		\
634	gtkvpaned.c		\
635	gtkvruler.c		\
636	gtkvscale.c		\
637	gtkvscrollbar.c		\
638	gtkvseparator.c		\
639	gtkwidget.c		\
640	gtkwindow-decorate.c    \
641	gtkwindow.c		\
642	$(gtk_clipboard_dnd_c_sources)
643
644# Broken
645gtk_public_h_sources += \
646	gtktext.h		\
647	gtktree.h		\
648	gtktreeitem.h
649gtk_base_c_sources += \
650	gtktext.c		\
651	gtktree.c		\
652	gtktreeitem.c
653
654# Deprecated
655gtk_public_h_sources += \
656	gtkclist.h		\
657	gtkcombo.h		\
658	gtkctree.h		\
659	gtkcurve.h		\
660	gtkfilesel.h		\
661	gtkgamma.h		\
662	gtkinputdialog.h	\
663	gtkitemfactory.h	\
664	gtklist.h		\
665	gtklistitem.h		\
666	gtkoldeditable.h	\
667	gtkoptionmenu.h		\
668	gtkpixmap.h		\
669	gtkpreview.h		\
670	gtkprogress.h		\
671	gtksignal.h		\
672	gtktipsquery.h		\
673	gtktooltips.h
674gtk_base_c_sources += \
675	gtkclist.c		\
676	gtkcombo.c		\
677	gtkctree.c		\
678	gtkcurve.c		\
679	gtkfilesel.c		\
680	gtkgamma.c		\
681	gtkitemfactory.c	\
682	gtklist.c		\
683	gtklistitem.c		\
684	gtkoldeditable.c	\
685	gtkoptionmenu.c		\
686	gtkpixmap.c		\
687	gtkpreview.c		\
688	gtkprogress.c		\
689	gtksignal.c		\
690	gtktipsquery.c		\
691	gtktooltips.c
692
693gtk_c_sources = $(gtk_base_c_sources)
694gtk_all_c_sources = $(gtk_base_c_sources)
695
696gtk_os_unix_c_sources = \
697	gtkcustompaperunixdialog.c	\
698	gtkpagesetupunixdialog.c	\
699	gtkprinter.c			\
700	gtkprinteroption.c		\
701	gtkprinteroptionset.c		\
702	gtkprinteroptionwidget.c	\
703	gtkprintjob.c			\
704	gtkprintoperation-unix.c	\
705	gtkprintunixdialog.c		\
706        gtkprintbackend.c		\
707	gtksearchenginebeagle.c		\
708	gtksearchenginetracker.c
709gtk_all_c_sources += $(gtk_os_unix_c_sources)
710if OS_UNIX
711gtk_private_h_sources += \
712	gtkiconcachevalidator.h		\
713	gtkprintbackend.h		\
714	gtkprinter-private.h		\
715	gtkprinteroption.h		\
716	gtkprinteroptionset.h		\
717	gtkprinteroptionwidget.h	\
718	gtksearchenginebeagle.h		\
719	gtksearchenginetracker.h
720gtk_c_sources += $(gtk_os_unix_c_sources)
721endif
722
723gtk_os_win32_c_sources = \
724	gtkprint-win32.c		\
725	gtkprintoperation-win32.c
726gtk_all_c_sources += $(gtk_os_win32_c_sources)
727if OS_WIN32
728gtk_private_h_sources += gtkprint-win32.h
729gtk_c_sources += $(gtk_os_win32_c_sources)
730endif
731
732gtk_use_x11_c_sources = \
733	gtkplug-x11.c   \
734	gtksocket-x11.c \
735	gtkxembed.c     \
736	gtktrayicon-x11.c \
737	gtkmountoperation-x11.c
738gtk_use_win32_c_sources = \
739	gtkplug-win32.c   \
740	gtksocket-win32.c \
741	gtkwin32embed.c   \
742	gtkwin32embedwidget.c \
743	gtkmountoperation-stub.c
744gtk_use_quartz_c_sources =	\
745	gtksearchenginequartz.c	\
746	gtkplug-stub.c		\
747	gtksocket-stub.c	\
748	gtkmountoperation-stub.c
749gtk_use_stub_c_sources = \
750	gtkplug-stub.c   \
751	gtksocket-stub.c \
752	gtkmountoperation-stub.c
753gtk_all_c_sources += $(gtk_use_x11_c_sources) $(gtk_use_win32_c_sources) $(gtk_use_stub_c_sources)
754if USE_X11
755gtk_private_h_sources += gtkxembed.h gtktrayicon.h xembed.h
756gtk_c_sources += $(gtk_use_x11_c_sources)
757else
758if USE_WIN32
759gtk_private_h_sources += gtkwin32embed.h gtkwin32embedwidget.h
760gtk_c_sources += $(gtk_use_win32_c_sources)
761else
762if USE_QUARTZ
763libgtk_quartz_2_0_la_CFLAGS = "-xobjective-c"
764gtk_private_h_sources += gtksearchenginequartz.h
765gtk_c_sources += $(gtk_use_quartz_c_sources)
766else
767gtk_c_sources += $(gtk_use_stub_c_sources)
768endif
769endif
770endif
771
772if USE_QUARTZ
773gtk_clipboard_dnd_c_sources = gtkclipboard-quartz.c gtkdnd-quartz.c gtkquartz.c
774gtk_clipboard_dnd_h_sources = gtkquartz.h
775else
776gtk_clipboard_dnd_c_sources = gtkclipboard.c gtkdnd.c
777endif
778EXTRA_DIST += gtkquartz.h
779
780# we use our own built_sources variable rules to avoid automake's
781# BUILT_SOURCES oddities
782# we generate frequently rebuild files piggyback on a stamp file, so sources
783# depending on them only get rebuild when the built source actually changed
784# content
785
786# built sources that get installed with the header files
787gtk_built_public_sources =			\
788	gtkmarshal.h				\
789	gtktypebuiltins.h
790
791# built headers that don't get installed
792gtk_built_private_headers =			\
793	gtkalias.h				\
794	gtkmarshalers.h				\
795	gtkbuiltincache.h
796
797gtk_built_sources =				\
798	gtkaliasdef.c				\
799	gtktypebuiltins.c			\
800	gtktypefuncs.c				\
801	gtkmarshalers.c				\
802	gtkmarshal.c				\
803	${gtk_built_private_headers}		\
804	${gtk_built_public_sources}
805
806stamp_files =					\
807	stamp-gtkmarshalers.h			\
808	stamp-gtkmarshal.h			\
809	stamp-gtktypebuiltins.h			\
810	stamp-icons
811
812# non-header sources (headers should be specified in the above variables)
813# that don't serve as direct make target sources, i.e. they don't have
814# their own .lo rules and don't get publically installed
815gtk_extra_sources =				\
816	paper_names.c				\
817	paper_names_offsets.c			\
818	gen-paper-names.c			\
819	gtkstatusicon-quartz.c                  \
820	gtk.symbols				\
821	gtkversion.h.in				\
822	gtkmarshalers.list			\
823	gtkmarshal.list
824
825#
826# setup GTK+ sources and their dependencies
827#
828MAINTAINERCLEANFILES = $(gtk_built_sources) $(stamp_files) $(GENERATED_ICONS) stock-icons/icon-theme.cache
829EXTRA_HEADERS =
830EXTRA_DIST += $(gtk_private_h_sources) $(gtk_extra_sources)
831EXTRA_DIST += $(gtk_built_sources)
832EXTRA_DIST += $(STOCK_ICONS)
833
834#
835# rules to generate built sources
836#
837# setup autogeneration dependencies
838gen_sources = xgen-gdef xgen-gtbh xgen-gtic xgen-gmh xgen-gmc xgen-gmlh xgen-gmlc xgen-gtfsrc.c xgen-gtf
839CLEANFILES = $(gen_sources) $(gtk_def)
840
841BUILT_SOURCES = $(gtk_built_sources)
842
843# all autogenerated files need to be generated in the srcdir,
844# so old versions get remade and are not confused with newer
845# versions in the build dir. thus a development setup requires
846# srcdir to be writable, passing --disable-rebuilds to
847# ../configure will supress all autogeneration rules.
848gtkmarshalers.h: stamp-gtkmarshalers.h
849	@true
850stamp-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list
851	$(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --header >> xgen-gmlh \
852	&& (cmp -s xgen-gmlh gtkmarshalers.h || cp xgen-gmlh gtkmarshalers.h) \
853	&& rm -f xgen-gmlh \
854	&& echo timestamp > $(@F)
855gtkmarshalers.c: @REBUILD@ gtkmarshalers.list
856	(echo "#include \"gtkmarshalers.h\""; \
857	 echo "#include \"gtkalias.h\""; \
858	 $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --body) >> xgen-gmlc \
859	&& cp xgen-gmlc gtkmarshalers.c \
860	&& rm -f xgen-gmlc
861
862gtkmarshal.h: stamp-gtkmarshal.h
863	@true
864stamp-gtkmarshal.h: @REBUILD@ gtkmarshal.list
865	echo "#ifndef GTK_DISABLE_DEPRECATED" > xgen-gmh					\
866        && $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --header >> xgen-gmh \
867	&& echo "#endif /* GTK_DISABLE_DEPRECATED */" >> xgen-gmh \
868	&& (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \
869	&& rm -f xgen-gmh \
870	&& echo timestamp > $(@F)
871gtkmarshal.c: @REBUILD@ gtkmarshal.list
872	(echo "#include \"gtkmarshal.h\""; \
873	 echo "#include \"gtkalias.h\""; \
874	 $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --body; \
875	 echo "#define __gtk_marshal_MARSHAL_C__"; \
876	 echo "#include \"gtkaliasdef.c\"") >> xgen-gmc \
877	&& cp xgen-gmc gtkmarshal.c \
878	&& rm -f xgen-gmc
879
880gtktypebuiltins.h: stamp-gtktypebuiltins.h
881	@true
882stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) gtktypebuiltins.h.template
883	( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.h.template \
884		$(gtk_public_h_sources) ) >> xgen-gtbh \
885	&& (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h ) \
886	&& rm -f xgen-gtbh \
887	&& echo timestamp > $(@F)
888gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) gtktypebuiltins.c.template
889	( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.c.template \
890		$(gtk_public_h_sources) ) > xgen-gtbc \
891	&& cp xgen-gtbc gtktypebuiltins.c  \
892	&& rm -f xgen-gtbc
893
894gtktypefuncs.c: @REBUILD@ $(top_srcdir)/gtk/*.h $(top_srcdir)/gdk/*.h Makefile
895	echo '#include <gtk/gtk.h>' > xgen-gtfsrc.c && \
896	  ${CPP} $(DEFS) $(INCLUDES) -DGTK_ENABLE_BROKEN $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \
897	  grep '^GType\s*g[td]k_[a-zA-Z0-9_]*_get_type\s*(void)' | \
898	  grep -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \
899	  sed '{ s/^/*tp++ = /; s/$$/();/; }' | \
900	  sort > xgen-gtf \
901	&& cp xgen-gtf $@ && rm -f xgen-gtf
902gtktestutils.c: gtktypefuncs.c
903
904# target platform:
905lib_LTLIBRARIES = $(gtktargetlib)
906
907gtkincludedir = $(includedir)/gtk-2.0/gtk
908gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_semi_private_h_sources) $(gtk_built_public_sources) gtkversion.h
909
910gtkunixprintincludedir = $(includedir)/gtk-unix-print-2.0/gtk
911gtkunixprintinclude_HEADERS = $(gtk_unix_print_public_h_sources)
912
913libgtk_x11_2_0_la_SOURCES = $(gtk_c_sources)
914libgtk_win32_2_0_la_SOURCES = $(gtk_c_sources)
915libgtk_quartz_2_0_la_SOURCES = $(gtk_c_sources)
916libgtk_directfb_2_0_la_SOURCES = $(gtk_c_sources)
917
918libgtk_x11_2_0_la_LDFLAGS = $(libtool_opts)
919libgtk_win32_2_0_la_LDFLAGS = $(libtool_opts) -Wl,-luuid
920libgtk_quartz_2_0_la_LDFLAGS = $(libtool_opts)
921libgtk_directfb_2_0_la_LDFLAGS = $(libtool_opts)
922
923libgtk_x11_2_0_la_LIBADD = $(libadd)
924libgtk_win32_2_0_la_LIBADD = $(libadd) -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32
925libgtk_quartz_2_0_la_LIBADD = $(libadd)
926libgtk_directfb_2_0_la_LIBADD = $(libadd)
927
928libgtk_x11_2_0_la_DEPENDENCIES = $(deps)
929libgtk_win32_2_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32_res) $(deps)
930libgtk_quartz_2_0_la_DEPENDENCIES = $(deps)
931libgtk_directfb_2_0_la_DEPENDENCIES = $(deps)
932
933if USE_WIN32
934libgtk_target_ldflags = $(gtk_win32_res_ldflag) $(gtk_win32_symbols)
935endif
936EXTRA_LTLIBRARIES = libgtk-x11-2.0.la libgtk-win32-2.0.la libgtk-quartz-2.0.la libgtk-directfb-2.0.la
937
938install-exec-hook:
939if DISABLE_EXPLICIT_DEPS
940	$(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$(gtktargetlib)
941endif
942
943if USE_QUARTZ
944install-mac-key-theme:
945	$(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Mac/gtk-2.0-key
946	$(INSTALL_DATA) $(srcdir)/gtkrc.key.mac $(DESTDIR)$(datadir)/themes/Mac/gtk-2.0-key/gtkrc
947uninstall-mac-key-theme:
948	rm -f $(DESTDIR)$(datadir)/themes/Mac/gtk-2.0-key/gtkrc
949else
950install-mac-key-theme:
951uninstall-mac-key-theme:
952endif
953
954# -------------- MSVC Projects ----------------
955MSVCPROJS = gtk
956
957gtk_FILES = $(gtk_base_c_sources) $(gtk_os_win32_c_sources) $(gtk_use_win32_c_sources)
958gtk_EXCLUDES = gtkdummy
959
960gtk_HEADERS_DIR = $(libgtkincludedir)
961gtk_HEADERS_INST = $(gtkinclude_HEADERS)
962gtk_HEADERS_EXCLUDES = gtkdummy
963
964include $(top_srcdir)/build/Makefile.msvcproj
965
966if HAVE_INTROSPECTION
967# Introspection Items for MSVC
968MSVC_INTROSPECT_GIRS = Gtk-2.0.gir
969
970GTK_MSVC_GIR_CFLAGS =				\
971	$(GTK_BASE_CFLAGS_DEFINES)				\
972	-DGTK_LIBDIR=\\\"/dummy/lib\\\"				\
973	-DGTK_DATADIR=\\\"/dummy/share\\\"			\
974	-DGTK_DATA_PREFIX=\\\"/dummy\\\"			\
975	-DGTK_SYSCONFDIR=\\\"/dummy/etc\\\"			\
976	-DGTK_HOST=\\\"'$$$$(AT_PLAT)'-pc-vs'$$$$(VSVER)'\\\"	\
977	-DGTK_PRINT_BACKENDS=\\\"file\\\"			\
978	-DINCLUDE_IM_am_et			\
979	-DINCLUDE_IM_cedilla			\
980	-DINCLUDE_IM_cyrillic_translit		\
981	-DINCLUDE_IM_ime			\
982	-DINCLUDE_IM_inuktitu			\
983	-DINCLUDE_IM_ipa			\
984	-DINCLUDE_IM_multipress			\
985	-DINCLUDE_IM_thai			\
986	-DINCLUDE_IM_ti_er			\
987	-DINCLUDE_IM_ti_et			\
988	-DINCLUDE_IM_viqr			\
989	-UGDK_DISABLE_DEPRECATED		\
990	-UGTK_DISABLE_DEPRECATED		\
991	-DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API	\
992	-I../.. -I../../gtk -I../../gdk
993
994INTROSPECTION_INTERMEDIATE_ITEMS = \
995	$(top_builddir)/build/win32/Gtk-2.0.gir.msvc.introspect		\
996	$(top_builddir)/build/win32/Gtk_2_0_gir_list
997
998Gtk_2_0_gir_MSVC_FILES =		\
999	$(gtkinclude_HEADERS)		\
1000	$(gtk_base_c_sources)		\
1001	$(gtk_os_win32_c_sources)	\
1002	$(gtk_use_win32_c_sources)	\
1003	gtktypebuiltins.h		\
1004	gtktypebuiltins.c
1005
1006Gtk_2_0_gir_MSVC_EXPORT_PACKAGES = $(Gtk_2_0_gir_EXPORT_PACKAGES)
1007Gtk_2_0_gir_MSVC_INCLUDE_GIRS = Atk-1.0
1008Gtk_2_0_gir_MSVC_LIBS = gtk-win32-2.0 gdk-win32-2.0
1009Gtk_2_0_gir_MSVC_CFLAGS = $(GTK_MSVC_GIR_CFLAGS)
1010Gtk_2_0_gir_MSVC_SCANNERFLAGS =	\
1011	--warn-all	\
1012	--include-uninstalled='./vs$$$$(VSVER)/$$$$(CFG)/$$$$(PLAT)/bin/Gdk-2.0.gir'
1013
1014include $(top_srcdir)/build/Makefile.msvc-introspection
1015
1016else
1017INTROSPECTION_INTERMEDIATE_ITEMS =
1018
1019endif
1020
1021dist-hook:	\
1022	$(top_builddir)/build/win32/vs9/gtk.vcproj	\
1023	$(top_builddir)/build/win32/vs9/gtk.headers	\
1024	$(INTROSPECTION_INTERMEDIATE_ITEMS)
1025
1026# Install a RC file for the default GTK+ theme, and key themes
1027install-data-local: install-ms-lib install-def-file install-mac-key-theme
1028	$(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0
1029	$(INSTALL_DATA) $(srcdir)/gtkrc.default $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0/gtkrc
1030	$(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key
1031	$(INSTALL_DATA) $(srcdir)/gtkrc.key.default $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
1032	$(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key
1033	$(INSTALL_DATA) $(srcdir)/gtkrc.key.emacs $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
1034
1035uninstall-local: uninstall-ms-lib uninstall-def-file uninstall-mac-key-theme
1036	rm -f $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0/gtkrc
1037	rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
1038	rm -f $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
1039
1040# if srcdir!=builddir, clean out maintainer-clean files from builddir
1041# this allows dist to pass.
1042distclean-local:
1043	if test $(srcdir) != .; then \
1044	  rm -f $(MAINTAINERCLEANFILES); \
1045	fi
1046
1047DEPS = $(gtktargetlib) $(top_builddir)/gdk/$(gdktargetlib)
1048
1049TEST_DEPS = $(DEPS) immodules.cache
1050
1051LDADDS =								\
1052	$(gtktargetlib)							\
1053	$(top_builddir)/gdk/$(gdktargetlib)                             \
1054	$(GTK_DEP_LIBS)
1055
1056if HAVE_INTROSPECTION
1057introspection_files = \
1058    $(gtkinclude_HEADERS) \
1059    $(gtk_all_c_sources) \
1060    gtktypebuiltins.h \
1061    gtktypebuiltins.c
1062
1063Gtk-2.0.gir: $(INTROSPECTION_SCANNER) $(gtktargetlib) $(top_builddir)/gdk/Gdk-2.0.gir Makefile
1064Gtk_2_0_gir_SCANNERFLAGS = --include-uninstalled=$(top_builddir)/gdk/Gdk-2.0.gir
1065if USE_X11
1066Gtk_2_0_gir_SCANNERFLAGS += --add-include-path=$(top_builddir)/gdk/x11
1067endif
1068Gtk_2_0_gir_INCLUDES = Atk-1.0
1069Gtk_2_0_gir_CFLAGS = \
1070		$(INCLUDES) \
1071		-UGDK_DISABLE_DEPRECATED \
1072		-UGTK_DISABLE_DEPRECATED \
1073		-DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API
1074Gtk_2_0_gir_LIBS = $(gtktargetlib)
1075Gtk_2_0_gir_FILES = $(introspection_files)
1076Gtk_2_0_gir_EXPORT_PACKAGES = gtk+-2.0
1077INTROSPECTION_GIRS += Gtk-2.0.gir
1078
1079girdir = $(datadir)/gir-1.0
1080gir_DATA = $(INTROSPECTION_GIRS)
1081
1082typelibsdir = $(libdir)/girepository-1.0
1083typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
1084
1085CLEANFILES += $(gir_DATA) $(typelibs_DATA)
1086endif
1087
1088#
1089# Installed tools
1090#
1091bin_PROGRAMS = \
1092	gtk-query-immodules-2.0 \
1093	gtk-update-icon-cache
1094
1095bin_SCRIPTS = gtk-builder-convert
1096
1097if OS_WIN32
1098
1099# Workaround for UAC silliness: programs with "update" in their name
1100# are believed to be installers and require elevated privileges to be
1101# used... Embed a manifest file into executable to tell Windows that
1102# gtk-update-icon-cache.exe doesn't require any special privileges.
1103
1104GTK_UPDATE_ICON_CACHE_MANIFEST = gtk-update-icon-cache.exe.manifest
1105GTK_UPDATE_ICON_CACHE_RC = gtk-update-icon-cache.rc
1106GTK_UPDATE_ICON_CACHE_MANIFEST_OBJECT = gtk-update-icon-cache_manifest.o
1107
1108$(GTK_UPDATE_ICON_CACHE_MANIFEST):
1109	(echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' ; \
1110	 echo '<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">' ; \
1111	 echo '  <assemblyIdentity version="1.0.0.0"' ; \
1112	 echo '     processorArchitecture="'$(EXE_MANIFEST_ARCHITECTURE)'"' ; \
1113	 echo '     name="gtk-update-icon-cache.exe"' ; \
1114	 echo '     type="win32"/>' ; \
1115	 echo '  <!-- Identify the application security requirements. -->' ; \
1116	 echo '  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">' ; \
1117	 echo '    <security>' ; \
1118	 echo '      <requestedPrivileges>' ; \
1119	 echo '        <requestedExecutionLevel' ; \
1120	 echo '          level="asInvoker"' ; \
1121	 echo '          uiAccess="false"/>' ; \
1122	 echo '        </requestedPrivileges>' ; \
1123	 echo '       </security>' ; \
1124	 echo '  </trustInfo>' ; \
1125	 echo '</assembly>' ) >$@
1126
1127$(GTK_UPDATE_ICON_CACHE_RC):
1128	(echo -e '#include <winbase.h>\nCREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST '$(GTK_UPDATE_ICON_CACHE_MANIFEST)) >$@
1129
1130$(GTK_UPDATE_ICON_CACHE_MANIFEST_OBJECT): $(GTK_UPDATE_ICON_CACHE_RC) $(GTK_UPDATE_ICON_CACHE_MANIFEST)
1131	$(WINDRES) --input $< --output $@ --output-format=coff
1132
1133endif
1134
1135gtk_query_immodules_2_0_DEPENDENCIES = $(DEPS)
1136gtk_query_immodules_2_0_LDADD = $(LDADDS) $(GMODULE_LIBS)
1137gtk_query_immodules_2_0_SOURCES = queryimmodules.c
1138
1139gtk_update_icon_cache_DEPENDENCIES = $(GTK_UPDATE_ICON_CACHE_MANIFEST_OBJECT)
1140gtk_update_icon_cache_LDADD = $(GDK_PIXBUF_LIBS) $(GTK_UPDATE_ICON_CACHE_MANIFEST_OBJECT)
1141gtk_update_icon_cache_SOURCES = updateiconcache.c
1142
1143.PHONY: files test test-debug
1144
1145files:
1146	@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
1147	  echo $$p; \
1148	done
1149
1150STOCK_ICONS = \
1151	stock-icons/16/application-exit.png		\
1152	stock-icons/16/dialog-information.png		\
1153	stock-icons/16/document-new.png			\
1154	stock-icons/16/document-open.png		\
1155	stock-icons/16/document-open-recent.png		\
1156	stock-icons/16/document-print.png		\
1157	stock-icons/16/document-print-preview.png	\
1158	stock-icons/16/document-properties.png		\
1159	stock-icons/16/document-revert-ltr.png		\
1160	stock-icons/16/document-revert-rtl.png		\
1161	stock-icons/16/document-save-as.png		\
1162	stock-icons/16/drive-harddisk.png		\
1163	stock-icons/16/edit-clear.png			\
1164	stock-icons/16/edit-copy.png			\
1165	stock-icons/16/edit-cut.png			\
1166	stock-icons/16/edit-delete.png			\
1167	stock-icons/16/edit-find.png			\
1168	stock-icons/16/edit-find-replace.png		\
1169	stock-icons/16/edit-paste.png			\
1170	stock-icons/16/edit-redo-ltr.png		\
1171	stock-icons/16/edit-redo-rtl.png		\
1172	stock-icons/16/edit-select-all.png		\
1173	stock-icons/16/edit-undo-ltr.png		\
1174	stock-icons/16/edit-undo-rtl.png		\
1175	stock-icons/16/folder.png			\
1176	stock-icons/16/format-indent-less-ltr.png	\
1177	stock-icons/16/format-indent-less-rtl.png	\
1178	stock-icons/16/format-indent-more-ltr.png	\
1179	stock-icons/16/format-indent-more-rtl.png	\
1180	stock-icons/16/format-justify-center.png	\
1181	stock-icons/16/format-justify-fill.png		\
1182	stock-icons/16/format-justify-left.png		\
1183	stock-icons/16/format-justify-right.png		\
1184	stock-icons/16/format-text-bold.png		\
1185	stock-icons/16/format-text-italic.png		\
1186	stock-icons/16/format-text-strikethrough.png	\
1187	stock-icons/16/format-text-underline.png	\
1188	stock-icons/16/go-previous-ltr.png		\
1189	stock-icons/16/go-bottom.png			\
1190	stock-icons/16/go-down.png			\
1191	stock-icons/16/go-first-ltr.png			\
1192	stock-icons/16/go-home.png			\
1193	stock-icons/16/go-jump-ltr.png			\
1194	stock-icons/16/go-jump-rtl.png			\
1195	stock-icons/16/go-last-ltr.png			\
1196	stock-icons/16/go-next-ltr.png			\
1197	stock-icons/16/go-previous-ltr.png		\
1198	stock-icons/16/go-top.png			\
1199	stock-icons/16/go-up.png			\
1200	stock-icons/16/gtk-caps-lock-warning.png	\
1201	stock-icons/16/gtk-color-picker.png		\
1202	stock-icons/16/gtk-connect.png			\
1203	stock-icons/16/gtk-convert.png			\
1204	stock-icons/16/gtk-disconnect.png		\
1205	stock-icons/16/gtk-edit.png			\
1206	stock-icons/16/gtk-font.png			\
1207	stock-icons/16/gtk-index.png			\
1208	stock-icons/16/gtk-orientation-landscape.png	\
1209	stock-icons/16/gtk-orientation-portrait.png	\
1210	stock-icons/16/gtk-orientation-reverse-landscape.png \
1211	stock-icons/16/gtk-orientation-reverse-portrait.png \
1212	stock-icons/16/gtk-page-setup.png		\
1213	stock-icons/16/gtk-preferences.png		\
1214	stock-icons/16/gtk-select-color.png		\
1215	stock-icons/16/gtk-select-font.png		\
1216	stock-icons/16/gtk-undelete-ltr.png		\
1217	stock-icons/16/gtk-undelete-rtl.png		\
1218	stock-icons/16/help-about.png			\
1219	stock-icons/16/help-contents.png		\
1220	stock-icons/16/image-missing.png		\
1221	stock-icons/16/list-add.png			\
1222	stock-icons/16/list-remove.png			\
1223	stock-icons/16/media-floppy.png			\
1224	stock-icons/16/media-optical.png		\
1225	stock-icons/16/media-playback-pause.png		\
1226	stock-icons/16/media-playback-start-ltr.png	\
1227	stock-icons/16/media-playback-start-rtl.png	\
1228	stock-icons/16/media-playback-stop.png		\
1229	stock-icons/16/media-record.png			\
1230	stock-icons/16/media-seek-backward-ltr.png	\
1231	stock-icons/16/media-seek-forward-ltr.png	\
1232	stock-icons/16/media-skip-backward-ltr.png	\
1233	stock-icons/16/media-skip-forward-ltr.png	\
1234	stock-icons/16/network-idle.png			\
1235	stock-icons/16/printer-error.png		\
1236	stock-icons/16/printer-info.png			\
1237	stock-icons/16/printer-paused.png		\
1238	stock-icons/16/printer-warning.png		\
1239	stock-icons/16/process-stop.png			\
1240	stock-icons/16/system-run.png			\
1241	stock-icons/16/text-x-generic.png		\
1242	stock-icons/16/tools-check-spelling.png		\
1243	stock-icons/16/view-fullscreen.png		\
1244	stock-icons/16/view-refresh.png			\
1245	stock-icons/16/view-restore.png			\
1246	stock-icons/16/view-sort-ascending.png		\
1247	stock-icons/16/view-sort-descending.png		\
1248	stock-icons/16/window-close.png			\
1249	stock-icons/16/zoom-fit-best.png		\
1250	stock-icons/16/zoom-in.png			\
1251	stock-icons/16/zoom-original.png		\
1252	stock-icons/16/zoom-out.png			\
1253	\
1254	stock-icons/20/gtk-apply.png			\
1255	stock-icons/20/gtk-cancel.png			\
1256	stock-icons/20/gtk-no.png			\
1257	stock-icons/20/gtk-ok.png			\
1258	stock-icons/20/gtk-yes.png			\
1259	stock-icons/20/window-close.png			\
1260	\
1261	stock-icons/24/application-exit.png		\
1262	stock-icons/24/audio-volume-high.png		\
1263	stock-icons/24/audio-volume-low.png		\
1264	stock-icons/24/audio-volume-medium.png		\
1265	stock-icons/24/audio-volume-muted.png		\
1266	stock-icons/24/dialog-information.png		\
1267	stock-icons/24/document-new.png			\
1268	stock-icons/24/document-open.png		\
1269	stock-icons/24/document-open-recent.png		\
1270	stock-icons/24/document-print.png		\
1271	stock-icons/24/document-print-preview.png	\
1272	stock-icons/24/document-properties.png		\
1273	stock-icons/24/document-revert-ltr.png		\
1274	stock-icons/24/document-revert-rtl.png		\
1275	stock-icons/24/document-save-as.png		\
1276	stock-icons/24/drive-harddisk.png		\
1277	stock-icons/24/edit-clear.png			\
1278	stock-icons/24/edit-copy.png			\
1279	stock-icons/24/edit-cut.png			\
1280	stock-icons/24/edit-delete.png			\
1281	stock-icons/24/edit-find.png			\
1282	stock-icons/24/edit-find-replace.png		\
1283	stock-icons/24/edit-paste.png			\
1284	stock-icons/24/edit-redo-ltr.png		\
1285	stock-icons/24/edit-redo-rtl.png		\
1286	stock-icons/24/edit-select-all.png		\
1287	stock-icons/24/edit-undo-ltr.png		\
1288	stock-icons/24/edit-undo-rtl.png		\
1289	stock-icons/24/folder.png			\
1290	stock-icons/24/format-indent-less-ltr.png	\
1291	stock-icons/24/format-indent-less-rtl.png	\
1292	stock-icons/24/format-indent-more-ltr.png	\
1293	stock-icons/24/format-indent-more-rtl.png	\
1294	stock-icons/24/format-justify-center.png	\
1295	stock-icons/24/format-justify-fill.png		\
1296	stock-icons/24/format-justify-left.png		\
1297	stock-icons/24/format-justify-right.png		\
1298	stock-icons/24/format-text-bold.png		\
1299	stock-icons/24/format-text-italic.png		\
1300	stock-icons/24/format-text-strikethrough.png	\
1301	stock-icons/24/format-text-underline.png	\
1302	stock-icons/24/go-bottom.png			\
1303	stock-icons/24/go-down.png			\
1304	stock-icons/24/go-first-ltr.png			\
1305	stock-icons/24/go-home.png			\
1306	stock-icons/24/go-jump-ltr.png			\
1307	stock-icons/24/go-jump-rtl.png			\
1308	stock-icons/24/go-last-ltr.png			\
1309	stock-icons/24/go-next-ltr.png			\
1310	stock-icons/24/go-previous-ltr.png		\
1311	stock-icons/24/go-top.png			\
1312	stock-icons/24/go-up.png			\
1313	stock-icons/24/gtk-caps-lock-warning.png	\
1314	stock-icons/24/gtk-color-picker.png		\
1315	stock-icons/24/gtk-connect.png			\
1316	stock-icons/24/gtk-convert.png			\
1317	stock-icons/24/gtk-disconnect.png		\
1318	stock-icons/24/gtk-edit.png			\
1319	stock-icons/24/gtk-font.png			\
1320	stock-icons/24/gtk-index.png			\
1321	stock-icons/24/gtk-orientation-landscape.png	\
1322	stock-icons/24/gtk-orientation-portrait.png	\
1323	stock-icons/24/gtk-orientation-reverse-landscape.png \
1324	stock-icons/24/gtk-orientation-reverse-portrait.png \
1325	stock-icons/24/gtk-page-setup.png		\
1326	stock-icons/24/gtk-preferences.png		\
1327	stock-icons/24/gtk-select-color.png		\
1328	stock-icons/24/gtk-select-font.png		\
1329	stock-icons/24/gtk-undelete-ltr.png		\
1330	stock-icons/24/gtk-undelete-rtl.png		\
1331	stock-icons/24/help-about.png			\
1332	stock-icons/24/help-contents.png		\
1333	stock-icons/24/image-missing.png		\
1334	stock-icons/24/list-add.png			\
1335	stock-icons/24/list-remove.png			\
1336	stock-icons/24/media-floppy.png			\
1337	stock-icons/24/media-optical.png		\
1338	stock-icons/24/media-playback-pause.png		\
1339	stock-icons/24/media-playback-start-ltr.png	\
1340	stock-icons/24/media-playback-start-rtl.png	\
1341	stock-icons/24/media-playback-stop.png		\
1342	stock-icons/24/media-record.png			\
1343	stock-icons/24/media-seek-backward-ltr.png	\
1344	stock-icons/24/media-seek-forward-ltr.png	\
1345	stock-icons/24/media-skip-backward-ltr.png	\
1346	stock-icons/24/media-skip-forward-ltr.png	\
1347	stock-icons/24/network-idle.png			\
1348	stock-icons/24/printer-error.png		\
1349	stock-icons/24/printer-info.png			\
1350	stock-icons/24/printer-paused.png		\
1351	stock-icons/24/printer-warning.png		\
1352	stock-icons/24/process-stop.png			\
1353	stock-icons/24/system-run.png			\
1354	stock-icons/24/text-x-generic.png		\
1355	stock-icons/24/tools-check-spelling.png		\
1356	stock-icons/24/view-fullscreen.png		\
1357	stock-icons/24/view-refresh.png			\
1358	stock-icons/24/view-restore.png			\
1359	stock-icons/24/view-sort-ascending.png		\
1360	stock-icons/24/view-sort-descending.png		\
1361	stock-icons/24/window-close.png			\
1362	stock-icons/24/zoom-fit-best.png		\
1363	stock-icons/24/zoom-in.png			\
1364	stock-icons/24/zoom-original.png		\
1365	stock-icons/24/zoom-out.png			\
1366	\
1367	stock-icons/32/gtk-dnd-multiple.png		\
1368	stock-icons/32/gtk-dnd.png			\
1369	\
1370	stock-icons/48/dialog-error.png			\
1371	stock-icons/48/dialog-information.png		\
1372	stock-icons/48/dialog-password.png		\
1373	stock-icons/48/dialog-question.png		\
1374	stock-icons/48/dialog-warning.png
1375
1376GENERATED_ICONS = \
1377	stock-icons/16/go-previous-rtl.png 		\
1378	stock-icons/16/go-next-rtl.png 			\
1379	stock-icons/16/go-first-rtl.png 		\
1380	stock-icons/16/go-last-rtl.png 			\
1381	stock-icons/16/media-seek-forward-rtl.png 	\
1382	stock-icons/16/media-skip-forward-rtl.png 	\
1383	stock-icons/16/media-skip-backward-rtl.png 	\
1384	stock-icons/16/media-seek-backward-rtl.png 	\
1385	stock-icons/16/document-save.png 		\
1386	stock-icons/16/folder-remote.png 		\
1387	stock-icons/16/user-home.png 			\
1388	stock-icons/16/user-desktop.png 		\
1389	stock-icons/24/go-previous-rtl.png 		\
1390	stock-icons/24/go-next-rtl.png 			\
1391	stock-icons/24/go-first-rtl.png 		\
1392	stock-icons/24/go-last-rtl.png 			\
1393	stock-icons/24/media-seek-forward-rtl.png 	\
1394	stock-icons/24/media-skip-forward-rtl.png 	\
1395	stock-icons/24/media-skip-backward-rtl.png 	\
1396	stock-icons/24/media-seek-backward-rtl.png 	\
1397	stock-icons/24/document-save.png 		\
1398	stock-icons/24/folder-remote.png 		\
1399	stock-icons/24/user-home.png 			\
1400	stock-icons/24/user-desktop.png
1401
1402# need to copy the icons so that we can replace the generated ones with
1403# symlinks, even in the readonly srcdir case
1404stamp-icons: $(STOCK_ICONS)
1405	if [ ! -d stock-icons ]; then 					\
1406	  for d in 16 20 24 32 48; do 					\
1407	    mkdir -p stock-icons/$$d; 					\
1408	  done;								\
1409	  for f in $(STOCK_ICONS); do					\
1410	    cp $(srcdir)/$$f $$(dirname $$f);				\
1411	  done;								\
1412	  chmod -R u+w stock-icons;					\
1413        fi &&								\
1414	for i in 16 24; do						\
1415	   (cd stock-icons/$$i						\
1416	   && $(RM) document-save.png 					\
1417	   && $(LN_S) media-floppy.png document-save.png 		\
1418	   && $(RM) folder-remote.png 					\
1419	   && $(LN_S) folder.png folder-remote.png 			\
1420	   && $(RM) go-first-rtl.png 					\
1421	   && $(LN_S) go-last-ltr.png go-first-rtl.png 			\
1422	   && $(RM) go-last-rtl.png 					\
1423	   && $(LN_S) go-first-ltr.png go-last-rtl.png 			\
1424	   && $(RM) go-next-rtl.png 					\
1425	   && $(LN_S) go-previous-ltr.png go-next-rtl.png 		\
1426	   && $(RM) go-previous-rtl.png 				\
1427	   && $(LN_S) go-next-ltr.png go-previous-rtl.png 		\
1428	   && $(RM) media-seek-backward-rtl.png 			\
1429	   && $(LN_S) media-seek-forward-ltr.png media-seek-backward-rtl.png \
1430	   && $(RM) media-seek-forward-rtl.png 				\
1431	   && $(LN_S) media-seek-backward-ltr.png media-seek-forward-rtl.png \
1432	   && $(RM) media-skip-backward-rtl.png 			\
1433	   && $(LN_S) media-skip-forward-ltr.png media-skip-backward-rtl.png \
1434	   && $(RM) media-skip-forward-rtl.png 				\
1435	   && $(LN_S) media-skip-backward-ltr.png media-skip-forward-rtl.png \
1436	   && $(RM) user-desktop.png 					\
1437	   && $(LN_S) folder.png user-desktop.png 			\
1438	   && $(RM) user-home.png 					\
1439	   && $(LN_S) folder.png user-home.png 				\
1440	) done 								\
1441	&& touch stamp-icons
1442
1443if CROSS_COMPILING
1444gtk_update_icon_cache_program = $(GTK_UPDATE_ICON_CACHE)
1445else
1446gtk_update_icon_cache_program =							\
1447	   ./gtk-update-icon-cache
1448endif
1449
1450gtkbuiltincache.h: @REBUILD@ stamp-icons
1451	$(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT)
1452	$(gtk_update_icon_cache_program) --force --ignore-theme-index		\
1453	   --include-image-data							\
1454	   --source builtin_icons stock-icons > gtkbuiltincache.h.tmp &&        \
1455	mv gtkbuiltincache.h.tmp gtkbuiltincache.h
1456
1457EXTRA_DIST +=                   \
1458	$(STOCK_ICONS)		\
1459	$(GENERATED_ICONS)	\
1460	line-arrow.xbm 		\
1461	line-wrap.xbm 		\
1462	tree_plus.xbm		\
1463	tree_minus.xbm          \
1464	tree_minus.xpm		\
1465	tree_plus.xpm		\
1466	gtk-builder-convert	\
1467	gtk-win32.rc		\
1468	gtk-win32.rc.in		\
1469	gtkwin32embed.h		\
1470	gtkwin32embedwidget.h	\
1471	gtkwin32embedwidget.c	\
1472	gtkprint-win32.h	\
1473	gtkprint-win32.c	\
1474	gtksearchenginequartz.h \
1475	gtkrc.default		\
1476	gtkrc.key.default	\
1477	gtkrc.key.emacs		\
1478	gtkrc.key.mac		\
1479	makefile.msc		\
1480	makefile.msc.in		\
1481	makegtkalias.pl		\
1482	aliasfilescheck.sh	\
1483	abicheck.sh		\
1484	pltcheck.sh		\
1485	gtktypebuiltins.c.template      \
1486	gtktypebuiltins.h.template
1487
1488
1489install-data-local:
1490
1491-include $(top_srcdir)/git.mk
1492