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