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