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