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