]> Pileus Git - ~andy/gtk/blob - gtk/Makefile.am
Move -Wl,-luuid to LDFLAGS to make libtool happy.
[~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 --print-settings %s %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         gtkbutton.h             \
149         gtkcalendar.h           \
150         gtkcelleditable.h       \
151         gtkcelllayout.h         \
152         gtkcellrenderer.h       \
153         gtkcellrendereraccel.h  \
154         gtkcellrenderercombo.h  \
155         gtkcellrendererpixbuf.h \
156         gtkcellrendererprogress.h \
157         gtkcellrendererspin.h   \
158         gtkcellrenderertext.h   \
159         gtkcellrenderertoggle.h \
160         gtkcellview.h           \
161         gtkcheckbutton.h        \
162         gtkcheckmenuitem.h      \
163         gtkclipboard.h          \
164         gtkclist.h              \
165         gtkcolorbutton.h        \
166         gtkcolorsel.h           \
167         gtkcolorseldialog.h     \
168         gtkcombo.h              \
169         gtkcombobox.h           \
170         gtkcomboboxentry.h      \
171         gtkcontainer.h          \
172         gtkctree.h              \
173         gtkcurve.h              \
174         gtkdebug.h              \
175         gtkdialog.h             \
176         gtkdnd.h                \
177         gtkdrawingarea.h        \
178         gtkeditable.h           \
179         gtkentry.h              \
180         gtkentrycompletion.h    \
181         gtkenums.h              \
182         gtkeventbox.h           \
183         gtkexpander.h           \
184         gtkfilechooser.h        \
185         gtkfilechooserbutton.h  \
186         gtkfilechooserdialog.h  \
187         gtkfilechooserwidget.h  \
188         gtkfilefilter.h         \
189         gtkfilesel.h            \
190         gtkfixed.h              \
191         gtkfontbutton.h         \
192         gtkfontsel.h            \
193         gtkframe.h              \
194         gtkgamma.h              \
195         gtkgc.h                 \
196         gtkhandlebox.h          \
197         gtkhbbox.h              \
198         gtkhbox.h               \
199         gtkhpaned.h             \
200         gtkhruler.h             \
201         gtkhscale.h             \
202         gtkhscrollbar.h         \
203         gtkhseparator.h         \
204         gtkiconfactory.h        \
205         gtkicontheme.h          \
206         gtkiconview.h           \
207         gtkimage.h              \
208         gtkimagemenuitem.h      \
209         gtkimcontext.h          \
210         gtkimcontextsimple.h    \
211         gtkimmodule.h           \
212         gtkimmulticontext.h     \
213         gtkinputdialog.h        \
214         gtkinvisible.h          \
215         gtkitem.h               \
216         gtkitemfactory.h        \
217         gtklabel.h              \
218         gtklayout.h             \
219         gtklinkbutton.h         \
220         gtklist.h               \
221         gtklistitem.h           \
222         gtkliststore.h          \
223         gtkmain.h               \
224         gtkmenu.h               \
225         gtkmenubar.h            \
226         gtkmenuitem.h           \
227         gtkmenushell.h          \
228         gtkmenutoolbutton.h     \
229         gtkmessagedialog.h      \
230         gtkmisc.h               \
231         gtkmodules.h            \
232         gtknotebook.h           \
233         gtkobject.h             \
234         gtkoldeditable.h        \
235         gtkoptionmenu.h         \
236         gtkpagesetup.h          \
237         gtkpaned.h              \
238         gtkpapersize.h          \
239         gtkpixmap.h             \
240         gtkplug.h               \
241         gtkpreview.h            \
242         gtkprintcontext.h       \
243         gtkprintoperation.h     \
244         gtkprintoperationpreview.h      \
245         gtkprintsettings.h      \
246         gtkprivate.h            \
247         gtkprogress.h           \
248         gtkprogressbar.h        \
249         gtkradioaction.h        \
250         gtkradiobutton.h        \
251         gtkradiomenuitem.h      \
252         gtkradiotoolbutton.h    \
253         gtkrange.h              \
254         gtkrc.h                 \
255         gtkrecentaction.h       \
256         gtkrecentchooser.h      \
257         gtkrecentchooserdialog.h \
258         gtkrecentchoosermenu.h  \
259         gtkrecentchooserwidget.h \
260         gtkrecentfilter.h       \
261         gtkrecentmanager.h      \
262         gtkruler.h              \
263         gtkscale.h              \
264         gtkscalebutton.h        \
265         gtkscrollbar.h          \
266         gtkscrolledwindow.h     \
267         gtkselection.h          \
268         gtkseparator.h          \
269         gtkseparatormenuitem.h  \
270         gtkseparatortoolitem.h  \
271         gtksettings.h           \
272         gtksignal.h             \
273         gtksizegroup.h          \
274         gtksocket.h             \
275         gtkspinbutton.h         \
276         gtkstatusbar.h          \
277         gtkstatusicon.h         \
278         gtkstock.h              \
279         gtkstyle.h              \
280         gtktable.h              \
281         gtktearoffmenuitem.h    \
282         gtktext.h               \
283         gtktextbuffer.h         \
284         gtktextbufferrichtext.h \
285         gtktextchild.h          \
286         gtktextdisplay.h        \
287         gtktextiter.h           \
288         gtktextmark.h           \
289         gtktexttag.h            \
290         gtktexttagtable.h       \
291         gtktextview.h           \
292         gtktipsquery.h          \
293         gtktoggleaction.h       \
294         gtktogglebutton.h       \
295         gtktoggletoolbutton.h   \
296         gtktoolbar.h            \
297         gtktoolbutton.h         \
298         gtktoolitem.h           \
299         gtktooltip.h            \
300         gtktooltips.h           \
301         gtktree.h               \
302         gtktreednd.h            \
303         gtktreeitem.h           \
304         gtktreemodel.h          \
305         gtktreemodelfilter.h    \
306         gtktreemodelsort.h      \
307         gtktreeselection.h      \
308         gtktreesortable.h       \
309         gtktreestore.h          \
310         gtktreeview.h           \
311         gtktreeviewcolumn.h     \
312         gtktypeutils.h          \
313         gtkuimanager.h          \
314         gtkvbbox.h              \
315         gtkvbox.h               \
316         gtkviewport.h           \
317         gtkvolumebutton.h       \
318         gtkvpaned.h             \
319         gtkvruler.h             \
320         gtkvscale.h             \
321         gtkvscrollbar.h         \
322         gtkvseparator.h         \
323         gtkwidget.h             \
324         gtkwindow.h
325
326 if OS_UNIX
327 gtk_unix_print_public_h_sources =    \
328         gtkpagesetupunixdialog.h        \
329         gtkprintunixdialog.h            \
330         gtkprinter.h                    \
331         gtkprintjob.h
332 endif
333
334 # Installed header files without compatibility guarantees
335 # that are not included in gtk/gtk.h
336 gtk_semi_private_h_sources =    \
337         gtktextlayout.h         \
338         gtkfilesystem.h
339
340 # GTK+ header files that don't get installed
341 gtk_private_h_sources =         \
342         gtkquery.h              \
343         gtksearchengine.h       \
344         gtksearchenginebeagle.h \
345         gtksearchenginetracker.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         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_quartz_c_sources =      \
664         gtksearchenginequartz.c \
665         gtkplug-stub.c          \
666         gtksocket-stub.c
667 gtk_use_stub_c_sources = \
668         gtkplug-stub.c   \
669         gtksocket-stub.c
670 gtk_all_c_sources += $(gtk_use_x11_c_sources) $(gtk_use_win32_c_sources) $(gtk_use_quartz_c_sources) $(gtk_use_stub_c_sources)
671 if USE_X11
672 gtk_private_h_sources += gtkxembed.h gtktrayicon.h xembed.h
673 gtk_c_sources += $(gtk_use_x11_c_sources)
674 else
675 if USE_WIN32
676 gtk_private_h_sources += gtkwin32embed.h gtkwin32embedwidget.h
677 gtk_c_sources += $(gtk_use_win32_c_sources)
678 else
679 if USE_QUARTZ
680 gtk_private_h_sources += gtksearchenginequartz.h
681 gtk_c_sources += $(gtk_use_quartz_c_sources)
682 gtk_use_quartz_c_sources_CFLAGS = "-xobjective-c"
683 else
684 gtk_c_sources += $(gtk_use_stub_c_sources)
685 endif
686 endif
687 endif
688
689 if USE_QUARTZ
690 gtk_clipboard_dnd_c_sources = gtkclipboard-quartz.c gtkdnd-quartz.c gtkquartz.c gtkquartz.h
691 gtk_clipboard_dnd_c_sources_CFLAGS = "-xobjective-c"
692 else
693 gtk_clipboard_dnd_c_sources = gtkclipboard.c gtkdnd.c
694 gtk_clipboard_dnd_c_sources_CFLAGS = 
695 endif
696
697 # we use our own built_sources variable rules to avoid automake's
698 # BUILT_SOURCES oddities
699 # we generate frequently rebuild files piggyback on a stamp file, so sources
700 # depending on them only get rebuild when the built source actually changed
701 # content
702
703 # built sources that get installed with the header files
704 gtk_built_public_sources =                      \
705         gtkmarshal.h                            \
706         gtktypebuiltins.h
707
708 # built headers that don't get installed
709 gtk_built_private_headers =                     \
710         gtkalias.h                              \
711         gtkmarshalers.h                         \
712         gtkbuiltincache.h
713
714 gtk_built_sources =                             \
715         gtkaliasdef.c                           \
716         gtktypebuiltins.c                       \
717         gtkmarshalers.c                         \
718         gtkmarshal.c                            \
719         ${gtk_built_private_headers}            \
720         ${gtk_built_public_sources}
721
722 stamp_files =                                   \
723         stamp-gtkmarshalers.h                   \
724         stamp-gtkmarshal.h                      \
725         stamp-gtktypebuiltins.h                 \
726         stamp-icons
727
728 # non-header sources (headers should be specified in the above variables)
729 # that don't serve as direct make target sources, i.e. they don't have
730 # their own .lo rules and don't get publically installed
731 gtk_extra_sources =                             \
732         paper_names.c                           \
733         paper_names_offsets.c                   \
734         gen-paper-names.c                       \
735         gtkstatusicon-quartz.c                  \
736         gtk.symbols                             \
737         gtkversion.h.in                         \
738         gtkmarshalers.list                      \
739         gtkmarshal.list
740
741 #
742 # setup GTK+ sources and their dependencies
743 #
744 MAINTAINERCLEANFILES = $(gtk_built_sources) $(stamp_files) $(GENERATED_ICONS)
745 EXTRA_HEADERS =
746 EXTRA_DIST = $(gtk_private_h_sources) $(gtk_extra_sources)
747 EXTRA_DIST += $(gtk_built_sources)
748 EXTRA_DIST += $(STOCK_ICONS)
749
750 #
751 # rules to generate built sources
752 #
753 # setup autogeneration dependencies
754 gen_sources = xgen-gdef xgen-gtbh xgen-gtic xgen-gmh xgen-gmc xgen-gmlh xgen-gmlc
755 CLEANFILES = $(gen_sources)
756
757 BUILT_SOURCES = $(gtk_built_sources)
758
759 # all autogenerated files need to be generated in the srcdir,
760 # so old versions get remade and are not confused with newer
761 # versions in the build dir. thus a development setup requires
762 # srcdir to be writable, passing --disable-rebuilds to
763 # ../configure will supress all autogeneration rules.
764 gtkmarshalers.h: stamp-gtkmarshalers.h
765         @true
766 stamp-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list
767         $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --header >> xgen-gmlh \
768         && (cmp -s xgen-gmlh gtkmarshalers.h || cp xgen-gmlh gtkmarshalers.h) \
769         && rm -f xgen-gmlh \
770         && echo timestamp > $(@F)       
771 gtkmarshalers.c: @REBUILD@ gtkmarshalers.list
772         (echo "#include \"gtkmarshalers.h\""; \
773          echo "#include \"gtkalias.h\""; \
774          $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --body) >> xgen-gmlc \
775         && cp xgen-gmlc gtkmarshalers.c \
776         && rm -f xgen-gmlc
777
778 gtkmarshal.h: stamp-gtkmarshal.h
779         @true
780 stamp-gtkmarshal.h: @REBUILD@ gtkmarshal.list
781         echo "#ifndef GTK_DISABLE_DEPRECATED" > xgen-gmh                                        \
782         && $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --header >> xgen-gmh \
783         && echo "#endif /* GTK_DISABLE_DEPRECATED */" >> xgen-gmh \
784         && (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \
785         && rm -f xgen-gmh \
786         && echo timestamp > $(@F)
787 gtkmarshal.c: @REBUILD@ gtkmarshal.list
788         (echo "#include \"gtkmarshal.h\""; \
789          echo "#include \"gtkalias.h\""; \
790          $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --body; \
791          echo "#define __gtk_marshal_MARSHAL_C__"; \
792          echo "#include \"gtkaliasdef.c\"") >> xgen-gmc \
793         && cp xgen-gmc gtkmarshal.c \
794         && rm -f xgen-gmc 
795
796 gtktypebuiltins.h: stamp-gtktypebuiltins.h
797         @true
798 stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) Makefile
799         ( cd $(srcdir) && $(GLIB_MKENUMS) \
800                         --fhead "#ifndef __GTK_TYPE_BUILTINS_H__\n#define __GTK_TYPE_BUILTINS_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
801                         --fprod "/* enumerations from \"@filename@\" */\n" \
802                         --vhead "GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define GTK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
803                         --ftail "G_END_DECLS\n\n#endif /* __GTK_TYPE_BUILTINS_H__ */" \
804                 $(gtk_public_h_sources) ) >> xgen-gtbh \
805         && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h ) \
806         && rm -f xgen-gtbh \
807         && echo timestamp > $(@F)
808 gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) Makefile
809         ( cd $(srcdir) && $(GLIB_MKENUMS) \
810                         --fhead "#undef GTK_DISABLE_DEPRECATED\n#define GTK_ENABLE_BROKEN\n#include \"gtk.h\"\n#include \"gtkprivate.h\"\n#include \"gtkalias.h\"\n" \
811                         --ftail "#define __GTK_TYPE_BUILTINS_C__\n#include \"gtkaliasdef.c\"\n" \
812                         --fprod "\n/* enumerations from \"@filename@\" */" \
813                         --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[] = {" \
814                         --vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
815                         --vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (g_intern_static_string (\"@EnumName@\"), values);\n  }\n  return etype;\n}\n" \
816                 $(gtk_public_h_sources) ) > xgen-gtbc \
817         && cp xgen-gtbc gtktypebuiltins.c  \
818         && rm -f xgen-gtbc
819
820 # target platform:
821 lib_LTLIBRARIES = $(gtktargetlib)
822
823 gtkincludedir = $(includedir)/gtk-2.0/gtk
824 gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_semi_private_h_sources) $(gtk_built_public_sources) gtkversion.h
825
826 gtkunixprintincludedir = $(includedir)/gtk-unix-print-2.0/gtk
827 gtkunixprintinclude_HEADERS = $(gtk_unix_print_public_h_sources)
828
829 libgtk_x11_2_0_la_SOURCES = $(gtk_c_sources)
830 libgtk_linux_fb_2_0_la_SOURCES = $(gtk_c_sources)
831 libgtk_win32_2_0_la_SOURCES = $(gtk_c_sources)
832 libgtk_quartz_2_0_la_SOURCES = $(gtk_c_sources)
833 libgtk_directfb_2_0_la_SOURCES = $(gtk_c_sources)
834
835 libgtk_x11_2_0_la_LDFLAGS = $(libtool_opts)
836 libgtk_linux_fb_2_0_la_LDFLAGS = $(libtool_opts)
837 libgtk_win32_2_0_la_LDFLAGS = $(libtool_opts) -Wl,-luuid
838 libgtk_quartz_2_0_la_LDFLAGS = $(libtool_opts)
839 libgtk_directfb_2_0_la_LDFLAGS = $(libtool_opts)
840
841 libgtk_x11_2_0_la_LIBADD = $(libadd)
842 libgtk_linux_fb_2_0_la_LIBADD = $(libadd)
843 libgtk_win32_2_0_la_LIBADD = $(libadd) -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32
844 libgtk_win32_2_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32_res)
845 libgtk_quartz_2_0_la_LIBADD = $(libadd)
846 libgtk_directfb_2_0_la_LIBADD = $(libadd)
847
848 if USE_WIN32
849 libgtk_target_ldflags = $(gtk_win32_res_ldflag) $(gtk_win32_symbols)
850 endif
851 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
852
853 install-exec-hook: 
854 if DISABLE_EXPLICIT_DEPS
855         $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$(gtktargetlib)
856 endif
857
858 # Install a RC file for the default GTK+ theme, and key themes
859 install-data-local: install-ms-lib install-def-file
860         $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0
861         $(INSTALL_DATA) $(srcdir)/gtkrc.default $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0/gtkrc
862         $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key
863         $(INSTALL_DATA) $(srcdir)/gtkrc.key.default $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
864         $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key
865         $(INSTALL_DATA) $(srcdir)/gtkrc.key.emacs $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
866
867 uninstall-local: uninstall-ms-lib uninstall-def-file
868         rm -f $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0/gtkrc
869         rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
870         rm -f $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
871
872 # if srcdir!=builddir, clean out maintainer-clean files from builddir
873 # this allows dist to pass.
874 distclean-local:
875         if test $(srcdir) != .; then \
876           rm -f $(MAINTAINERCLEANFILES); \
877         fi
878
879 DEPS = $(gtktargetlib) $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la $(top_builddir)/gdk/$(gdktargetlib)
880
881 TEST_DEPS = $(DEPS) gtk.immodules
882
883 LDADDS =                                                                \
884         $(gtktargetlib)                                                 \
885         $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la  \
886         $(top_builddir)/gdk/$(gdktargetlib)
887
888 #
889 # Installed tools
890 #
891 bin_PROGRAMS = \
892         gtk-query-immodules-2.0 \
893         gtk-update-icon-cache
894 bin_SCRIPTS = gtk-builder-convert
895
896 gtk_query_immodules_2_0_DEPENDENCIES = $(DEPS)
897 gtk_query_immodules_2_0_LDADD = $(LDADDS)
898
899 gtk_query_immodules_2_0_SOURCES = queryimmodules.c
900
901 gtk_update_icon_cache_LDADD = $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
902
903 gtk_update_icon_cache_SOURCES = \
904         updateiconcache.c 
905
906 .PHONY: files test test-debug
907
908 files:
909         @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
910           echo $$p; \
911         done
912
913 STOCK_ICONS = \
914         stock-icons/16/document-open-recent.png         \
915         stock-icons/16/gtk-about.png                    \
916         stock-icons/16/gtk-add.png                      \
917         stock-icons/16/gtk-cdrom.png                    \
918         stock-icons/16/gtk-close.png                    \
919         stock-icons/16/gtk-connect.png                  \
920         stock-icons/16/gtk-convert.png                  \
921         stock-icons/16/gtk-copy.png                     \
922         stock-icons/16/gtk-cut.png                      \
923         stock-icons/16/gtk-delete.png                   \
924         stock-icons/16/gtk-directory.png                \
925         stock-icons/16/gtk-disconnect.png               \
926         stock-icons/16/gtk-edit.png                     \
927         stock-icons/16/gtk-execute.png                  \
928         stock-icons/16/gtk-file.png                     \
929         stock-icons/16/gtk-find-and-replace.png         \
930         stock-icons/16/gtk-find.png                     \
931         stock-icons/16/gtk-floppy.png                   \
932         stock-icons/16/gtk-fullscreen.png               \
933         stock-icons/16/gtk-go-back-ltr.png              \
934         stock-icons/16/gtk-go-down.png                  \
935         stock-icons/16/gtk-go-forward-ltr.png           \
936         stock-icons/16/gtk-goto-bottom.png              \
937         stock-icons/16/gtk-goto-first-ltr.png           \
938         stock-icons/16/gtk-goto-last-ltr.png            \
939         stock-icons/16/gtk-goto-top.png                 \
940         stock-icons/16/gtk-go-up.png                    \
941         stock-icons/16/gtk-harddisk.png                 \
942         stock-icons/16/gtk-help.png                     \
943         stock-icons/16/gtk-home.png                     \
944         stock-icons/16/gtk-indent-ltr.png               \
945         stock-icons/16/gtk-indent-rtl.png               \
946         stock-icons/16/gtk-index.png                    \
947         stock-icons/16/gtk-info.png                     \
948         stock-icons/16/gtk-jump-to-ltr.png              \
949         stock-icons/16/gtk-jump-to-rtl.png              \
950         stock-icons/16/gtk-justify-center.png           \
951         stock-icons/16/gtk-justify-fill.png             \
952         stock-icons/16/gtk-justify-left.png             \
953         stock-icons/16/gtk-justify-right.png            \
954         stock-icons/16/gtk-leave-fullscreen.png         \
955         stock-icons/16/gtk-media-forward-ltr.png        \
956         stock-icons/16/gtk-media-next-ltr.png           \
957         stock-icons/16/gtk-media-pause.png              \
958         stock-icons/16/gtk-media-play-ltr.png           \
959         stock-icons/16/gtk-media-play-rtl.png           \
960         stock-icons/16/gtk-media-previous-ltr.png       \
961         stock-icons/16/gtk-media-record.png             \
962         stock-icons/16/gtk-media-rewind-ltr.png         \
963         stock-icons/16/gtk-media-stop.png               \
964         stock-icons/16/gtk-missing-image.png            \
965         stock-icons/16/gtk-network.png                  \
966         stock-icons/16/gtk-new.png                      \
967         stock-icons/16/gtk-open.png                     \
968         stock-icons/16/gtk-paste.png                    \
969         stock-icons/16/gtk-preferences.png              \
970         stock-icons/16/gtk-print.png                    \
971         stock-icons/16/gtk-print-preview.png            \
972         stock-icons/16/gtk-properties.png               \
973         stock-icons/16/gtk-quit.png                     \
974         stock-icons/16/gtk-redo-ltr.png                 \
975         stock-icons/16/gtk-redo-rtl.png                 \
976         stock-icons/16/gtk-refresh.png                  \
977         stock-icons/16/gtk-remove.png                   \
978         stock-icons/16/gtk-revert-to-saved-ltr.png      \
979         stock-icons/16/gtk-revert-to-saved-rtl.png      \
980         stock-icons/16/gtk-save-as.png                  \
981         stock-icons/16/gtk-select-all.png               \
982         stock-icons/16/gtk-select-color.png             \
983         stock-icons/16/gtk-select-font.png              \
984         stock-icons/16/gtk-sort-ascending.png           \
985         stock-icons/16/gtk-sort-descending.png          \
986         stock-icons/16/gtk-spell-check.png              \
987         stock-icons/16/gtk-stop.png                     \
988         stock-icons/16/gtk-strikethrough.png            \
989         stock-icons/16/gtk-font.png                     \
990         stock-icons/16/gtk-undelete-ltr.png             \
991         stock-icons/16/gtk-undelete-rtl.png             \
992         stock-icons/16/gtk-underline.png                \
993         stock-icons/16/gtk-undo-ltr.png                 \
994         stock-icons/16/gtk-undo-rtl.png                 \
995         stock-icons/16/gtk-unindent-ltr.png             \
996         stock-icons/16/gtk-unindent-rtl.png             \
997         stock-icons/16/gtk-zoom-100.png                 \
998         stock-icons/16/gtk-zoom-fit.png                 \
999         stock-icons/16/gtk-zoom-in.png                  \
1000         stock-icons/16/gtk-zoom-out.png                 \
1001         stock-icons/16/gtk-italic.png                   \
1002         stock-icons/16/gtk-bold.png                     \
1003         stock-icons/20/gtk-apply.png                    \
1004         stock-icons/20/gtk-cancel.png                   \
1005         stock-icons/20/gtk-close.png                    \
1006         stock-icons/20/gtk-no.png                       \
1007         stock-icons/20/gtk-ok.png                       \
1008         stock-icons/20/gtk-yes.png                      \
1009         stock-icons/24/document-open-recent.png         \
1010         stock-icons/24/gtk-about.png                    \
1011         stock-icons/24/gtk-add.png                      \
1012         stock-icons/24/gtk-bold.png                     \
1013         stock-icons/24/gtk-cdrom.png                    \
1014         stock-icons/24/gtk-clear.png                    \
1015         stock-icons/24/gtk-close.png                    \
1016         stock-icons/24/gtk-color-picker.png             \
1017         stock-icons/24/gtk-connect.png                  \
1018         stock-icons/24/gtk-convert.png                  \
1019         stock-icons/24/gtk-copy.png                     \
1020         stock-icons/24/gtk-cut.png                      \
1021         stock-icons/24/gtk-directory.png                \
1022         stock-icons/24/gtk-disconnect.png               \
1023         stock-icons/24/gtk-edit.png                     \
1024         stock-icons/24/gtk-execute.png                  \
1025         stock-icons/24/gtk-file.png                     \
1026         stock-icons/24/gtk-find-and-replace.png         \
1027         stock-icons/24/gtk-find.png                     \
1028         stock-icons/24/gtk-font.png                     \
1029         stock-icons/24/gtk-fullscreen.png               \
1030         stock-icons/24/gtk-go-back-ltr.png              \
1031         stock-icons/24/gtk-goto-top.png                 \
1032         stock-icons/24/gtk-go-down.png                  \
1033         stock-icons/24/gtk-goto-bottom.png              \
1034         stock-icons/24/gtk-goto-first-ltr.png           \
1035         stock-icons/24/gtk-goto-last-ltr.png            \
1036         stock-icons/24/gtk-go-up.png                    \
1037         stock-icons/24/gtk-harddisk.png                 \
1038         stock-icons/24/gtk-help.png                     \
1039         stock-icons/24/gtk-home.png                     \
1040         stock-icons/24/gtk-indent-ltr.png               \
1041         stock-icons/24/gtk-indent-rtl.png               \
1042         stock-icons/24/gtk-index.png                    \
1043         stock-icons/24/gtk-info.png                     \
1044         stock-icons/24/gtk-italic.png                   \
1045         stock-icons/24/gtk-jump-to-ltr.png              \
1046         stock-icons/24/gtk-jump-to-rtl.png              \
1047         stock-icons/24/gtk-justify-center.png           \
1048         stock-icons/24/gtk-justify-fill.png             \
1049         stock-icons/24/gtk-justify-left.png             \
1050         stock-icons/24/gtk-justify-right.png            \
1051         stock-icons/24/gtk-leave-fullscreen.png         \
1052         stock-icons/24/gtk-media-forward-ltr.png        \
1053         stock-icons/24/gtk-media-next-ltr.png           \
1054         stock-icons/24/gtk-media-pause.png              \
1055         stock-icons/24/gtk-media-play-ltr.png           \
1056         stock-icons/24/gtk-media-play-rtl.png           \
1057         stock-icons/24/gtk-media-previous-ltr.png       \
1058         stock-icons/24/gtk-media-record.png             \
1059         stock-icons/24/gtk-media-rewind-ltr.png         \
1060         stock-icons/24/gtk-media-stop.png               \
1061         stock-icons/24/gtk-missing-image.png            \
1062         stock-icons/24/gtk-network.png                  \
1063         stock-icons/24/gtk-new.png                      \
1064         stock-icons/24/gtk-open.png                     \
1065         stock-icons/24/gtk-orientation-reverse-landscape.png \
1066         stock-icons/24/gtk-orientation-landscape.png    \
1067         stock-icons/24/gtk-orientation-reverse-portrait.png     \
1068         stock-icons/24/gtk-orientation-portrait.png     \
1069         stock-icons/24/gtk-paste.png                    \
1070         stock-icons/24/gtk-preferences.png              \
1071         stock-icons/24/gtk-print.png                    \
1072         stock-icons/24/gtk-print-preview.png            \
1073         stock-icons/24/gtk-properties.png               \
1074         stock-icons/24/gtk-quit.png                     \
1075         stock-icons/24/gtk-redo-ltr.png                 \
1076         stock-icons/24/gtk-redo-rtl.png                 \
1077         stock-icons/24/gtk-refresh.png                  \
1078         stock-icons/24/gtk-remove.png                   \
1079         stock-icons/24/gtk-revert-to-saved-ltr.png      \
1080         stock-icons/24/gtk-revert-to-saved-rtl.png      \
1081         stock-icons/24/gtk-select-font.png              \
1082         stock-icons/24/gtk-save-as.png                  \
1083         stock-icons/24/gtk-floppy.png                   \
1084         stock-icons/24/gtk-select-all.png               \
1085         stock-icons/24/gtk-select-color.png             \
1086         stock-icons/24/gtk-sort-ascending.png           \
1087         stock-icons/24/gtk-sort-descending.png          \
1088         stock-icons/24/gtk-spell-check.png              \
1089         stock-icons/24/gtk-stop.png                     \
1090         stock-icons/24/gtk-strikethrough.png            \
1091         stock-icons/24/gtk-delete.png                   \
1092         stock-icons/24/gtk-undelete-ltr.png             \
1093         stock-icons/24/gtk-undelete-rtl.png             \
1094         stock-icons/24/gtk-underline.png                \
1095         stock-icons/24/gtk-undo-ltr.png                 \
1096         stock-icons/24/gtk-undo-rtl.png                 \
1097         stock-icons/24/gtk-unindent-ltr.png             \
1098         stock-icons/24/gtk-unindent-rtl.png             \
1099         stock-icons/24/gtk-zoom-100.png                 \
1100         stock-icons/24/gtk-zoom-fit.png                 \
1101         stock-icons/24/gtk-zoom-in.png                  \
1102         stock-icons/24/gtk-zoom-out.png                 \
1103         stock-icons/24/gtk-go-forward-ltr.png           \
1104         stock-icons/32/gtk-dnd-multiple.png             \
1105         stock-icons/32/gtk-dnd.png                      \
1106         stock-icons/48/gtk-dialog-authentication.png    \
1107         stock-icons/48/gtk-dialog-error.png             \
1108         stock-icons/48/gtk-dialog-info.png              \
1109         stock-icons/48/gtk-dialog-question.png          \
1110         stock-icons/48/gtk-dialog-warning.png
1111
1112 GENERATED_ICONS = \
1113         stock-icons/16/gtk-go-back-rtl.png              \
1114         stock-icons/16/gtk-go-forward-rtl.png           \
1115         stock-icons/16/gtk-goto-first-rtl.png           \
1116         stock-icons/16/gtk-goto-last-rtl.png            \
1117         stock-icons/16/gtk-media-forward-rtl.png        \
1118         stock-icons/16/gtk-media-next-rtl.png           \
1119         stock-icons/16/gtk-media-previous-rtl.png       \
1120         stock-icons/16/gtk-media-rewind-rtl.png         \
1121         stock-icons/16/gtk-save.png                     \
1122         stock-icons/24/gtk-go-back-rtl.png              \
1123         stock-icons/24/gtk-go-forward-rtl.png           \
1124         stock-icons/24/gtk-goto-first-rtl.png           \
1125         stock-icons/24/gtk-goto-last-rtl.png            \
1126         stock-icons/24/gtk-media-forward-rtl.png        \
1127         stock-icons/24/gtk-media-next-rtl.png           \
1128         stock-icons/24/gtk-media-previous-rtl.png       \
1129         stock-icons/24/gtk-media-rewind-rtl.png         \
1130         stock-icons/24/gtk-save.png
1131
1132 # need to copy the icons so that we can replace the generated ones with
1133 # symlinks, even in the readonly srcdir case
1134 stamp-icons: $(STOCK_ICONS)
1135         if [ ! -d stock-icons ]; then                                   \
1136           for d in 16 20 24 32 48; do                                   \
1137             mkdir -p stock-icons/$$d;                                   \
1138           done;                                                         \
1139           for f in $(STOCK_ICONS); do                                   \
1140             cp $(srcdir)/$$f $$(dirname $$f);                           \
1141           done;                                                         \
1142           chmod -R u+w stock-icons;                                     \
1143         fi &&                                                           \
1144         for i in 16 24; do                                              \
1145            (cd stock-icons/$$i                                          \
1146            && $(RM) gtk-go-back-rtl.png                                 \
1147            && $(LN_S) gtk-go-forward-ltr.png gtk-go-back-rtl.png        \
1148            && $(RM) gtk-go-forward-rtl.png                              \
1149            && $(LN_S) gtk-go-back-ltr.png gtk-go-forward-rtl.png        \
1150            && $(RM) gtk-goto-first-rtl.png                              \
1151            && $(LN_S) gtk-goto-last-ltr.png gtk-goto-first-rtl.png      \
1152            && $(RM) gtk-goto-last-rtl.png                               \
1153            && $(LN_S) gtk-goto-first-ltr.png gtk-goto-last-rtl.png      \
1154            && $(RM) gtk-media-forward-rtl.png                           \
1155            && $(LN_S) gtk-media-rewind-ltr.png gtk-media-forward-rtl.png\
1156            && $(RM) gtk-media-next-rtl.png                              \
1157            && $(LN_S) gtk-media-previous-ltr.png gtk-media-next-rtl.png \
1158            && $(RM) gtk-media-previous-rtl.png                          \
1159            && $(LN_S) gtk-media-next-ltr.png gtk-media-previous-rtl.png \
1160            && $(RM) gtk-media-rewind-rtl.png                            \
1161            && $(LN_S) gtk-media-forward-ltr.png gtk-media-rewind-rtl.png\
1162            && $(RM) gtk-save.png                                        \
1163            && $(LN_S) gtk-floppy.png gtk-save.png)                      \
1164         done                                                            \
1165         && touch stamp-icons
1166
1167 if CROSS_COMPILING
1168 gtk_update_icon_cache_program = $(GTK_UPDATE_ICON_CACHE)
1169 else
1170 gtk_update_icon_cache_program =                                                 \
1171         GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders    \
1172            ./gtk-update-icon-cache
1173 endif
1174
1175 gtkbuiltincache.h: @REBUILD@ stamp-icons
1176         $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT)
1177         $(gtk_update_icon_cache_program) --force --ignore-theme-index           \
1178            --source builtin_icons stock-icons > gtkbuiltincache.h.tmp &&        \
1179         mv gtkbuiltincache.h.tmp gtkbuiltincache.h
1180
1181 EXTRA_DIST +=                   \
1182         $(STOCK_ICONS)          \
1183         $(GENERATED_ICONS)      \
1184         line-arrow.xbm          \
1185         line-wrap.xbm           \
1186         tree_plus.xbm           \
1187         tree_minus.xbm          \
1188         tree_minus.xpm          \
1189         tree_plus.xpm           \
1190         gtk.def                 \
1191         gtk-builder-convert     \
1192         gtk-win32.rc            \
1193         gtk-win32.rc.in         \
1194         gtkwin32embed.h         \
1195         gtkwin32embedwidget.h   \
1196         gtkwin32embedwidget.c   \
1197         gtkfilesystemwin32.h    \
1198         gtkfilesystemwin32.c    \
1199         gtkprint-win32.h        \
1200         gtkprint-win32.c        \
1201         gtksearchenginequartz.h \
1202         gtkrc.default           \
1203         gtkrc.key.default       \
1204         gtkrc.key.emacs         \
1205         makefile.msc            \
1206         makefile.msc.in         \
1207         makegtkalias.pl         \
1208         aliasfilescheck.sh      \
1209         abicheck.sh             \
1210         pltcheck.sh
1211
1212 install-data-local: