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