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