]> Pileus Git - ~andy/gtk/blob - gtk/Makefile.am
b8007d857de610f6eb9b839656bc92de4376a553
[~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         --warn-all
8 INTROSPECTION_COMPILER_ARGS = \
9         --includedir=$(srcdir) \
10     --includedir=. \
11     --includedir=../gdk
12
13 if USE_QUARTZ
14 GTK_PRINT_PREVIEW_COMMAND="open -a /Applications/Preview.app %f"
15 else
16 GTK_PRINT_PREVIEW_COMMAND="evince --unlink-tempfile --preview --print-settings %s %f"
17 endif
18
19 SUBDIRS = a11y . 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 AM_CPPFLAGS =                                           \
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         -DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED            \
52         -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED          \
53         $(GMODULE_CFLAGS)                               \
54         $(GTK_DEBUG_FLAGS)                              \
55         $(GTK_DEP_CFLAGS)                               \
56         $(INCLUDED_IMMODULE_DEFINE)
57
58 if PLATFORM_WIN32
59 no_undefined = -no-undefined
60 endif
61
62 if OS_WIN32
63 gtk_def = gtk.def
64 gtk_win32_symbols = -export-symbols $(srcdir)/gtk.def
65
66 gtk_win32_res = gtk-win32-res.o
67 gtk_win32_res_ldflag = -Wl,gtk-win32-res.o
68
69 gtk-win32-res.o : gtk-win32.rc
70         $(WINDRES) gtk-win32.rc $@
71
72 install-def-file: gtk.def
73         $(INSTALL) $(srcdir)/gtk.def $(DESTDIR)$(libdir)/gtk-win32-3.0.def
74 uninstall-def-file:
75         -rm $(DESTDIR)$(libdir)/gtk-win32-3.0.def
76 else
77 install-def-file:
78 uninstall-def-file:
79 endif
80
81 if MS_LIB_AVAILABLE
82 noinst_DATA = gtk-win32-$(GTK_API_VERSION).lib
83
84 gtk-win32-$(GTK_API_VERSION).lib: libgtk-win32-$(GTK_API_VERSION).la gtk.def
85         lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgtk-win32-$(GTK_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:gtk.def -out:$@
86
87 install-ms-lib:
88         $(INSTALL) gtk-win32-$(GTK_API_VERSION).lib $(DESTDIR)$(libdir)
89
90 uninstall-ms-lib:
91         -rm $(DESTDIR)$(libdir)/gtk-win32-$(GTK_API_VERSION).lib
92 else
93 install-ms-lib:
94 uninstall-ms-lib:
95 endif
96
97 # This places the generated .def file in srcdir, since it is expected to be there.
98 # (The one from a tarball is)
99 gtk.def: gtk.symbols
100         $(AM_V_GEN) (echo -e EXPORTS; $(CPP) -P -DG_OS_WIN32 - <$(srcdir)/gtk.symbols | $(SED) -e '/^$$/d' -e 's/^/     /') > $(srcdir)/gtk.def
101
102 TESTS_ENVIRONMENT = srcdir="$(srcdir)" gtk_all_c_sources="$(gtk_all_c_sources)"
103 if OS_LINUX
104 TESTS = abicheck.sh
105 endif
106
107 libgtkincludedir = $(includedir)/gtk-3.0/gtk
108 libadd = \
109         $(top_builddir)/gdk/libgdk-3.la \
110         $(top_builddir)/gtk/a11y/libgail.la \
111         $(GMODULE_LIBS) \
112         $(GTK_DEP_LIBS)
113 deps = \
114         $(top_builddir)/gdk/libgdk-3.la \
115         $(top_builddir)/gtk/a11y/libgail.la
116
117 # libtool stuff: set version and export symbols for resolving
118 # since automake doesn't support conditionalized libsomething_la_LDFLAGS
119 # we use the general approach here
120 libtool_opts =                                                  \
121   $(GTK_LINK_FLAGS)                                             \
122   -version-info $(LT_VERSION_INFO)                              \
123   -export-dynamic $(no_undefined) $(LIBTOOL_EXPORT_OPTIONS)     \
124   -rpath $(libdir) $(libgtk_target_ldflags)
125
126
127 included-modules:
128 if HAVE_INCLUDED_IMMMODULES
129         @cd $(top_builddir)/modules/input && $(MAKE) $(AM_MAKEFLAGS) included-modules
130
131 libadd += $(INCLUDED_IMMODULE_OBJ)
132 deps += $(INCLUDED_IMMODULE_OBJ)
133
134 $(INCLUDED_IMMODULE_OBJ): included-modules
135         @true
136 endif
137
138 .PHONY: included-modules
139
140 #
141 # setup source file variables
142 #
143
144 # GTK+ header files for public installation (non-generated, or generated
145 # by configure)
146
147 deprecated_h_sources =                  \
148         deprecated/gtkfontsel.h         \
149         deprecated/gtkhandlebox.h       \
150         deprecated/gtkhbbox.h           \
151         deprecated/gtkhbox.h            \
152         deprecated/gtkhpaned.h          \
153         deprecated/gtkhscale.h          \
154         deprecated/gtkhscrollbar.h      \
155         deprecated/gtkhseparator.h      \
156         deprecated/gtkstyle.h           \
157         deprecated/gtkrc.h              \
158         deprecated/gtktable.h           \
159         deprecated/gtktearoffmenuitem.h \
160         deprecated/gtkvbbox.h           \
161         deprecated/gtkvbox.h            \
162         deprecated/gtkvscale.h          \
163         deprecated/gtkvscrollbar.h      \
164         deprecated/gtkvseparator.h      \
165         deprecated/gtkvpaned.h
166
167 gtk_public_h_sources =          \
168         gtk.h                   \
169         gtkx.h                  \
170         gtkaboutdialog.h        \
171         gtkaccelgroup.h         \
172         gtkaccellabel.h         \
173         gtkaccelmap.h           \
174         gtkaccessible.h         \
175         gtkactionable.h         \
176         gtkaction.h             \
177         gtkactiongroup.h        \
178         gtkactivatable.h        \
179         gtkadjustment.h         \
180         gtkalignment.h          \
181         gtkappchooser.h         \
182         gtkappchooserbutton.h   \
183         gtkappchooserdialog.h   \
184         gtkappchooserwidget.h   \
185         gtkapplication.h        \
186         gtkapplicationwindow.h  \
187         gtkarrow.h              \
188         gtkaspectframe.h        \
189         gtkassistant.h          \
190         gtkbbox.h               \
191         gtkbin.h                \
192         gtkbindings.h           \
193         gtkborder.h             \
194         gtkbox.h                \
195         gtkbuilder.h            \
196         gtkbuildable.h          \
197         gtkbutton.h             \
198         gtkcalendar.h           \
199         gtkcellarea.h           \
200         gtkcellareacontext.h    \
201         gtkcellareabox.h        \
202         gtkcelleditable.h       \
203         gtkcelllayout.h         \
204         gtkcellrenderer.h       \
205         gtkcellrendereraccel.h  \
206         gtkcellrenderercombo.h  \
207         gtkcellrendererpixbuf.h \
208         gtkcellrendererprogress.h \
209         gtkcellrendererspin.h   \
210         gtkcellrendererspinner.h\
211         gtkcellrenderertext.h   \
212         gtkcellrenderertoggle.h \
213         gtkcellview.h           \
214         gtkcheckbutton.h        \
215         gtkcheckmenuitem.h      \
216         gtkclipboard.h          \
217         gtkcolorbutton.h        \
218         gtkcolorsel.h           \
219         gtkcolorseldialog.h     \
220         gtkcombobox.h           \
221         gtkcomboboxtext.h       \
222         gtkcontainer.h          \
223         gtkcssprovider.h        \
224         gtkcsssection.h         \
225         gtkdebug.h              \
226         gtkdialog.h             \
227         gtkdnd.h                \
228         gtkdrawingarea.h        \
229         gtkeditable.h           \
230         gtkentry.h              \
231         gtkentrybuffer.h        \
232         gtkentrycompletion.h    \
233         gtkenums.h              \
234         gtkeventbox.h           \
235         gtkexpander.h           \
236         gtkfilechooser.h        \
237         gtkfilechooserbutton.h  \
238         gtkfilechooserdialog.h  \
239         gtkfilechooserwidget.h  \
240         gtkfilefilter.h         \
241         gtkfixed.h              \
242         gtkfontbutton.h         \
243         gtkfontchooser.h        \
244         gtkfontchooserdialog.h  \
245         gtkfontchooserwidget.h  \
246         gtkframe.h              \
247         gtkgradient.h           \
248         gtkgrid.h               \
249         gtkhsv.h                \
250         gtkiconfactory.h        \
251         gtkicontheme.h          \
252         gtkiconview.h           \
253         gtkimage.h              \
254         gtkimagemenuitem.h      \
255         gtkimcontext.h          \
256         gtkimcontextinfo.h      \
257         gtkimcontextsimple.h    \
258         gtkimmodule.h           \
259         gtkimmulticontext.h     \
260         gtkinfobar.h            \
261         gtkinvisible.h          \
262         gtklabel.h              \
263         gtklayout.h             \
264         gtklinkbutton.h         \
265         gtkliststore.h          \
266         gtklockbutton.h         \
267         gtkmain.h               \
268         gtkmenu.h               \
269         gtkmenubar.h            \
270         gtkmenuitem.h           \
271         gtkmenushell.h          \
272         gtkmenutoolbutton.h     \
273         gtkmessagedialog.h      \
274         gtkmisc.h               \
275         gtkmodules.h            \
276         gtkmountoperation.h     \
277         gtknotebook.h           \
278         gtknumerableicon.h      \
279         gtkoffscreenwindow.h    \
280         gtkorientable.h         \
281         gtkoverlay.h            \
282         gtkpagesetup.h          \
283         gtkpaned.h              \
284         gtkpapersize.h          \
285         gtkplug.h               \
286         gtkprintcontext.h       \
287         gtkprintoperation.h     \
288         gtkprintoperationpreview.h \
289         gtkprintsettings.h      \
290         gtkprogressbar.h        \
291         gtkradioaction.h        \
292         gtkradiobutton.h        \
293         gtkradiomenuitem.h      \
294         gtkradiotoolbutton.h    \
295         gtkrange.h              \
296         gtkrecentaction.h       \
297         gtkrecentchooser.h      \
298         gtkrecentchooserdialog.h \
299         gtkrecentchoosermenu.h  \
300         gtkrecentchooserwidget.h \
301         gtkrecentfilter.h       \
302         gtkrecentmanager.h      \
303         gtkscale.h              \
304         gtkscalebutton.h        \
305         gtkscrollable.h         \
306         gtkscrollbar.h          \
307         gtkscrolledwindow.h     \
308         gtkselection.h          \
309         gtkseparator.h          \
310         gtkseparatormenuitem.h  \
311         gtkseparatortoolitem.h  \
312         gtksettings.h           \
313         gtkshow.h               \
314         gtksizegroup.h          \
315         gtksizerequest.h        \
316         gtksocket.h             \
317         gtkspinbutton.h         \
318         gtkspinner.h            \
319         gtkstatusbar.h          \
320         gtkstatusicon.h         \
321         gtkstock.h              \
322         gtkstylecontext.h       \
323         gtkstyleproperties.h    \
324         gtkstyleprovider.h      \
325         gtkswitch.h             \
326         gtksymboliccolor.h      \
327         gtktestutils.h          \
328         gtktextattributes.h     \
329         gtktextbuffer.h         \
330         gtktextbufferrichtext.h \
331         gtktextchild.h          \
332         gtktextdisplay.h        \
333         gtktextiter.h           \
334         gtktextmark.h           \
335         gtktexttag.h            \
336         gtktexttagtable.h       \
337         gtktextview.h           \
338         gtkthemingengine.h      \
339         gtktoggleaction.h       \
340         gtktogglebutton.h       \
341         gtktoggletoolbutton.h   \
342         gtktoolbar.h            \
343         gtktoolbutton.h         \
344         gtktoolitem.h           \
345         gtktoolitemgroup.h      \
346         gtktoolpalette.h        \
347         gtktoolshell.h          \
348         gtktooltip.h            \
349         gtktreednd.h            \
350         gtktreemodel.h          \
351         gtktreemodelfilter.h    \
352         gtktreemodelsort.h      \
353         gtktreeselection.h      \
354         gtktreesortable.h       \
355         gtktreestore.h          \
356         gtktreeview.h           \
357         gtktreeviewcolumn.h     \
358         gtkuimanager.h          \
359         gtkviewport.h           \
360         gtkvolumebutton.h       \
361         gtkwidget.h             \
362         gtkwidgetpath.h         \
363         gtkwindow.h
364
365 if OS_UNIX
366 gtk_unix_print_public_h_sources =       \
367         gtkpagesetupunixdialog.h        \
368         gtkprintunixdialog.h            \
369         gtkprinter.h                    \
370         gtkprintjob.h                   \
371         gtkunixprint.h
372 endif
373
374 # Installed header files without compatibility guarantees
375 # that are not included in gtk/gtk.h
376 gtk_semi_private_h_sources = \
377         gtktextlayout.h
378
379 if ENABLE_PACKAGEKIT
380 gtk_appchooser_impl_h_sources = \
381         gtkappchooseronlinepk.h
382 endif
383
384 if ENABLE_PACKAGEKIT
385 gtk_appchooser_impl_c_sources = \
386         gtkappchooseronlinepk.c
387 endif
388
389 gtk_private_type_h_sources = \
390         gtkcsstypesprivate.h
391
392
393 # GTK+ header files that don't get installed
394 gtk_private_h_sources =         \
395         gactionmuxer.h          \
396         gsimpleactionobserver.h \
397         gactionobserver.h       \
398         gactionobservable.h     \
399         gtkapplicationprivate.h \
400         gtkaccelgroupprivate.h  \
401         gtkaccelmapprivate.h    \
402         gtkanimationdescription.h \
403         gtkappchooserprivate.h  \
404         gtkappchoosermodule.h   \
405         gtkappchooseronline.h   \
406         gtkbindingsprivate.h    \
407         gtkbitmaskprivate.h     \
408         gtkborderimageprivate.h \
409         gtkboxprivate.h         \
410         gtkbuilderprivate.h     \
411         gtkbuttonprivate.h      \
412         gtkcellareaboxcontextprivate.h  \
413         gtkcontainerprivate.h   \
414         gtkcsscomputedvaluesprivate.h \
415         gtkcsscustompropertyprivate.h \
416         gtkcssimagegradientprivate.h    \
417         gtkcssimageprivate.h    \
418         gtkcssimageurlprivate.h \
419         gtkcssimagewin32private.h       \
420         gtkcsslookupprivate.h   \
421         gtkcssparserprivate.h   \
422         gtkcssproviderprivate.h \
423         gtkcsssectionprivate.h  \
424         gtkcssselectorprivate.h \
425         gtkcssshorthandpropertyprivate.h \
426         gtkcssstylefuncsprivate.h \
427         gtkcssstylepropertyprivate.h \
428         gtkcustompaperunixdialog.h \
429         gtkdndcursors.h         \
430         gtkentryprivate.h       \
431         gtkfilechooserdefault.h \
432         gtkfilechooserembed.h   \
433         gtkfilechooserentry.h   \
434         gtkfilechooserprivate.h \
435         gtkfilechooserutils.h   \
436         gtkfilesystem.h         \
437         gtkfilesystemmodel.h    \
438         gtkfontchooserprivate.h \
439         gtkfontchooserutils.h   \
440         gtkiconcache.h          \
441         gtkiconhelperprivate.h  \
442         gtkiconviewprivate.h    \
443         gtkimageprivate.h       \
444         gtkimmoduleprivate.h    \
445         gtkimcontextsimpleseqs.h \
446         gtkintl.h               \
447         gtkkeyhash.h            \
448         gtkmenuprivate.h        \
449         gtkmenuitemprivate.h    \
450         gtkmenushellprivate.h   \
451         gtkmnemonichash.h       \
452         gtkmodelmenu.h          \
453         gtkmodelmenuitem.h      \
454         gtkmodifierstyle.h      \
455         gtkmodulesprivate.h     \
456         gtkmountoperationprivate.h \
457         gtknumerableiconprivate.h \
458         gtkorientableprivate.h  \
459         gtkpango.h              \
460         gtkpathbar.h            \
461         gtkprintoperation-private.h \
462         gtkprintutils.h         \
463         gtkprivate.h            \
464         gtkquery.h              \
465         gtkrbtree.h             \
466         gtkrecentchooserdefault.h \
467         gtkrecentchooserprivate.h \
468         gtkrecentchooserutils.h \
469         gtkroundedboxprivate.h  \
470         gtkscaleprivate.h       \
471         gtksearchengine.h       \
472         gtksearchenginesimple.h \
473         gtkselectionprivate.h   \
474         gtksettingsprivate.h    \
475         gtkshadowprivate.h      \
476         gtksizegroup-private.h  \
477         gtksocketprivate.h      \
478         gtkstylecontextprivate.h \
479         gtkstylepropertiesprivate.h \
480         gtkstylepropertyprivate.h \
481         gtkstyleproviderprivate.h \
482         gtksymboliccolorprivate.h \
483         gtktextbtree.h          \
484         gtktextbufferserialize.h \
485         gtktextchildprivate.h   \
486         gtktextiterprivate.h    \
487         gtktextmarkprivate.h    \
488         gtktextsegment.h        \
489         gtktexttagprivate.h     \
490         gtktexttypes.h          \
491         gtktextutil.h           \
492         gtkthemingbackgroundprivate.h \
493         gtkthemingengineprivate.h \
494         gtktimeline.h           \
495         gtktoolpaletteprivate.h \
496         gtktreedatalist.h       \
497         gtktreeprivate.h        \
498         gtkwidgetprivate.h      \
499         gtkwin32themeprivate.h  \
500         gtkwindowprivate.h      \
501         gtktreemenu.h           \
502         $(gtk_private_type_h_sources) \
503         $(gtk_clipboard_dnd_h_sources) \
504         $(gtk_appchooser_impl_h_sources)
505
506 # GTK+ C sources to build the library from
507 deprecated_c_sources =                  \
508         deprecated/gtkfontsel.c         \
509         deprecated/gtkhandlebox.c       \
510         deprecated/gtkhbbox.c           \
511         deprecated/gtkhbox.c            \
512         deprecated/gtkhpaned.c          \
513         deprecated/gtkhscale.c          \
514         deprecated/gtkhscrollbar.c      \
515         deprecated/gtkhseparator.c      \
516         deprecated/gtkrc.c              \
517         deprecated/gtkstyle.c           \
518         deprecated/gtktable.c           \
519         deprecated/gtktearoffmenuitem.c \
520         deprecated/gtkvbbox.c           \
521         deprecated/gtkvbox.c            \
522         deprecated/gtkvscale.c          \
523         deprecated/gtkvscrollbar.c      \
524         deprecated/gtkvseparator.c      \
525         deprecated/gtkvpaned.c
526
527 gtk_base_c_sources =            \
528         $(deprecated_c_sources) \
529         gactionmuxer.c          \
530         gsimpleactionobserver.c \
531         gactionobserver.c       \
532         gactionobservable.c     \
533         gtkactionable.c         \
534         gtkquery.c              \
535         gtksearchengine.c       \
536         gtksearchenginesimple.c \
537         fnmatch.c               \
538         gtkaboutdialog.c        \
539         gtkaccelgroup.c         \
540         gtkaccellabel.c         \
541         gtkaccelmap.c           \
542         gtkaccessible.c         \
543         gtkaction.c             \
544         gtkactiongroup.c        \
545         gtkactivatable.c        \
546         gtkadjustment.c         \
547         gtkalignment.c          \
548         gtkappchooser.c         \
549         gtkappchooserwidget.c   \
550         gtkappchooserbutton.c   \
551         gtkappchooserdialog.c   \
552         gtkappchoosermodule.c   \
553         gtkappchooseronline.c   \
554         gtkapplication.c        \
555         gtkapplicationwindow.c  \
556         gtkanimationdescription.c \
557         gtkarrow.c              \
558         gtkaspectframe.c        \
559         gtkassistant.c          \
560         gtkbbox.c               \
561         gtkbin.c                \
562         gtkbindings.c           \
563         gtkbitmask.c            \
564         gtkborder.c             \
565         gtkborderimage.c        \
566         gtkbox.c                \
567         gtkbuildable.c          \
568         gtkbuilder.c            \
569         gtkbuilderparser.c      \
570         gtkbutton.c             \
571         gtkcalendar.c           \
572         gtkcellarea.c           \
573         gtkcellareabox.c        \
574         gtkcellareaboxcontext.c \
575         gtkcellareacontext.c    \
576         gtkcelleditable.c       \
577         gtkcelllayout.c         \
578         gtkcellrenderer.c       \
579         gtkcellrendereraccel.c  \
580         gtkcellrenderercombo.c  \
581         gtkcellrendererpixbuf.c \
582         gtkcellrendererprogress.c \
583         gtkcellrendererspin.c   \
584         gtkcellrendererspinner.c \
585         gtkcellrenderertext.c   \
586         gtkcellrenderertoggle.c \
587         gtkcellview.c           \
588         gtkcheckbutton.c        \
589         gtkcheckmenuitem.c      \
590         gtkcolorbutton.c        \
591         gtkcolorsel.c           \
592         gtkcolorseldialog.c     \
593         gtkcombobox.c           \
594         gtkcomboboxtext.c       \
595         gtkcontainer.c          \
596         gtkcsscomputedvalues.c  \
597         gtkcsscustomproperty.c  \
598         gtkcssimage.c           \
599         gtkcssimagegradient.c   \
600         gtkcssimageurl.c        \
601         gtkcssimagewin32.c      \
602         gtkcsslookup.c          \
603         gtkcssparser.c          \
604         gtkcssprovider.c        \
605         gtkcsssection.c         \
606         gtkcssselector.c        \
607         gtkcssshorthandproperty.c \
608         gtkcssshorthandpropertyimpl.c \
609         gtkcssstylefuncs.c      \
610         gtkcssstyleproperty.c   \
611         gtkcssstylepropertyimpl.c \
612         gtkcsstypes.c           \
613         gtkdialog.c             \
614         gtkdrawingarea.c        \
615         gtkeditable.c           \
616         gtkentry.c              \
617         gtkentrybuffer.c        \
618         gtkentrycompletion.c    \
619         gtkeventbox.c           \
620         gtkexpander.c           \
621         gtkfilechooser.c        \
622         gtkfilechooserbutton.c  \
623         gtkfilechooserdefault.c \
624         gtkfilechooserdialog.c  \
625         gtkfilechooserembed.c   \
626         gtkfilechooserentry.c   \
627         gtkfilechooserutils.c   \
628         gtkfilechooserwidget.c  \
629         gtkfilefilter.c         \
630         gtkfilesystem.c         \
631         gtkfilesystemmodel.c    \
632         gtkfixed.c              \
633         gtkfontbutton.c         \
634         gtkfontchooser.c        \
635         gtkfontchooserdialog.c  \
636         gtkfontchooserutils.c   \
637         gtkfontchooserwidget.c  \
638         gtkframe.c              \
639         gtkgradient.c           \
640         gtkgrid.c               \
641         gtkhsv.c                \
642         gtkiconcache.c          \
643         gtkiconcachevalidator.c \
644         gtkiconfactory.c        \
645         gtkiconhelper.c         \
646         gtkicontheme.c          \
647         gtkiconview.c           \
648         gtkimage.c              \
649         gtkimagemenuitem.c      \
650         gtkimcontext.c          \
651         gtkimcontextsimple.c    \
652         gtkimmodule.c           \
653         gtkimmulticontext.c     \
654         gtkinfobar.c            \
655         gtkinvisible.c          \
656         gtkkeyhash.c            \
657         gtklabel.c              \
658         gtklayout.c             \
659         gtklinkbutton.c         \
660         gtkliststore.c          \
661         gtklockbutton.c         \
662         gtkmain.c               \
663         gtkmarshalers.c         \
664         gtkmenu.c               \
665         gtkmenubar.c            \
666         gtkmenuitem.c           \
667         gtkmenushell.c          \
668         gtkmenutoolbutton.c     \
669         gtkmessagedialog.c      \
670         gtkmisc.c               \
671         gtkmnemonichash.c       \
672         gtkmodelmenu.c          \
673         gtkmodelmenuitem.c      \
674         gtkmodifierstyle.c      \
675         gtkmodules.c            \
676         gtkmountoperation.c     \
677         gtknotebook.c           \
678         gtknumerableicon.c      \
679         gtkoffscreenwindow.c    \
680         gtkorientable.c         \
681         gtkoverlay.c            \
682         gtkpagesetup.c          \
683         gtkpaned.c              \
684         gtkpango.c              \
685         gtkpapersize.c          \
686         gtkpathbar.c            \
687         gtkprintcontext.c       \
688         gtkprintoperation.c     \
689         gtkprintoperationpreview.c \
690         gtkprintsettings.c      \
691         gtkprintutils.c         \
692         gtkprivate.c            \
693         gtkprivatetypebuiltins.c \
694         gtkprogressbar.c        \
695         gtkradioaction.c        \
696         gtkradiobutton.c        \
697         gtkradiomenuitem.c      \
698         gtkradiotoolbutton.c    \
699         gtkrange.c              \
700         gtkrbtree.c             \
701         gtkrecentaction.c       \
702         gtkrecentchooserdefault.c \
703         gtkrecentchooserdialog.c \
704         gtkrecentchoosermenu.c  \
705         gtkrecentchooserwidget.c \
706         gtkrecentchooserutils.c \
707         gtkrecentchooser.c      \
708         gtkrecentfilter.c       \
709         gtkrecentmanager.c      \
710         gtkroundedbox.c         \
711         gtkscale.c              \
712         gtkscalebutton.c        \
713         gtkscrollable.c         \
714         gtkscrollbar.c          \
715         gtkscrolledwindow.c     \
716         gtkselection.c          \
717         gtkseparator.c          \
718         gtkseparatormenuitem.c  \
719         gtkseparatortoolitem.c  \
720         gtksettings.c           \
721         gtksizegroup.c          \
722         gtksizerequest.c        \
723         gtkshadow.c             \
724         gtkshow.c               \
725         gtkspinbutton.c         \
726         gtkspinner.c            \
727         gtkstatusbar.c          \
728         gtkstatusicon.c         \
729         gtkstock.c              \
730         gtkstylecontext.c       \
731         gtkstyleproperties.c    \
732         gtkstyleproperty.c      \
733         gtkstyleprovider.c      \
734         gtkstyleproviderprivate.c       \
735         gtkswitch.c             \
736         gtksymboliccolor.c      \
737         gtktestutils.c          \
738         gtktextattributes.c     \
739         gtktextbtree.c          \
740         gtktextbuffer.c         \
741         gtktextbufferrichtext.c \
742         gtktextbufferserialize.c \
743         gtktextchild.c          \
744         gtktextdisplay.c        \
745         gtktextiter.c           \
746         gtktextlayout.c         \
747         gtktextmark.c           \
748         gtktextsegment.c        \
749         gtktexttag.c            \
750         gtktexttagtable.c       \
751         gtktexttypes.c          \
752         gtktextutil.c           \
753         gtktextview.c           \
754         gtkthemingbackground.c  \
755         gtkthemingengine.c      \
756         gtktimeline.c           \
757         gtktoggleaction.c       \
758         gtktogglebutton.c       \
759         gtktoggletoolbutton.c   \
760         gtktoolbar.c            \
761         gtktoolbutton.c         \
762         gtktoolitem.c           \
763         gtktoolitemgroup.c      \
764         gtktoolpalette.c        \
765         gtktoolshell.c          \
766         gtktooltip.c            \
767         gtktreedatalist.c       \
768         gtktreednd.c            \
769         gtktreemenu.c           \
770         gtktreemodel.c          \
771         gtktreemodelfilter.c    \
772         gtktreemodelsort.c      \
773         gtktreeselection.c      \
774         gtktreesortable.c       \
775         gtktreestore.c          \
776         gtktreeview.c           \
777         gtktreeviewcolumn.c     \
778         gtktypebuiltins.c       \
779         gtkuimanager.c          \
780         gtkvolumebutton.c       \
781         gtkviewport.c           \
782         gtkwidget.c             \
783         gtkwidgetpath.c         \
784         gtkwindow.c             \
785         gtkwin32theme.c         \
786         $(gtk_clipboard_dnd_c_sources) \
787         $(gtk_appchooser_impl_c_sources)
788
789 gtk_c_sources = $(gtk_base_c_sources)
790 gtk_all_c_sources = $(gtk_base_c_sources)
791
792 gtk_os_unix_c_sources =                 \
793         gtkcustompaperunixdialog.c      \
794         gtkpagesetupunixdialog.c        \
795         gtkprinter.c                    \
796         gtkprinteroption.c              \
797         gtkprinteroptionset.c           \
798         gtkprinteroptionwidget.c        \
799         gtkprintjob.c                   \
800         gtkprintoperation-unix.c        \
801         gtkprintunixdialog.c            \
802         gtkprintbackend.c               \
803         gtksearchenginetracker.c
804 gtk_all_c_sources += $(gtk_os_unix_c_sources)
805 if OS_UNIX
806 gtk_private_h_sources += \
807         gtkiconcachevalidator.h         \
808         gtkprintbackend.h               \
809         gtkprinter-private.h            \
810         gtkprinteroption.h              \
811         gtkprinteroptionset.h           \
812         gtkprinteroptionwidget.h        \
813         gtksearchenginetracker.h
814 gtk_c_sources += $(gtk_os_unix_c_sources)
815 endif
816
817 gtk_os_win32_c_sources = \
818         gtkprint-win32.c                \
819         gtkprintoperation-win32.c       \
820         gtkwin32.c
821 gtk_all_c_sources += $(gtk_os_win32_c_sources)
822 if OS_WIN32
823 gtk_private_h_sources += gtkprint-win32.h
824 gtk_c_sources += $(gtk_os_win32_c_sources)
825 endif
826
827 gtk_use_x11_c_sources =         \
828         gtkplug.c               \
829         gtksocket.c             \
830         gtkxembed.c             \
831         gtktrayicon-x11.c       \
832         gtkmountoperation-x11.c
833 gtk_use_win32_c_sources =       \
834         gtkwin32embed.c         \
835         gtkwin32embedwidget.c   \
836         gtkmountoperation-stub.c
837 gtk_use_quartz_c_sources =      \
838         gtksearchenginequartz.c \
839         gtkmountoperation-stub.c \
840   gtkquartz-menu.h \
841   gtkquartz-menu.c \
842         gtkquartz.c
843 gtk_use_stub_c_sources =        \
844         gtkmountoperation-stub.c
845 gtk_all_c_sources += $(gtk_use_x11_c_sources) $(gtk_use_win32_c_sources) $(gtk_use_quartz_c_sources) $(gtk_use_stub_c_sources)
846 if USE_X11
847 gtk_private_h_sources +=        \
848         gtkxembed.h             \
849         gtktrayicon.h           \
850         xembed.h
851 gtk_c_sources += $(gtk_use_x11_c_sources)
852 else
853 if USE_WIN32
854 gtk_private_h_sources +=        \
855         gtkwin32embed.h         \
856         gtkwin32embedwidget.h
857 gtk_c_sources += $(gtk_use_win32_c_sources)
858 else
859 if USE_QUARTZ
860 gtk_private_h_sources +=        \
861         gtksearchenginequartz.h \
862         gtkmenuquartz.h \
863         gtkquartz.h
864 gtk_c_sources += $(gtk_use_quartz_c_sources)
865 libgtk_3_la_CFLAGS = "-xobjective-c"
866
867 else
868 gtk_c_sources += $(gtk_use_stub_c_sources)
869 endif
870 endif
871 endif
872
873 if USE_QUARTZ
874 gtk_clipboard_dnd_c_sources =   \
875         gtkclipboard-quartz.c   \
876         gtkdnd-quartz.c
877 else
878 gtk_clipboard_dnd_c_sources = gtkclipboard.c gtkdnd.c
879 endif
880
881 # we use our own built_sources variable rules to avoid automake's
882 # BUILT_SOURCES oddities
883 # we generate frequently rebuild files piggyback on a stamp file, so sources
884 # depending on them only get rebuild when the built source actually changed
885 # content
886
887 # built sources that get installed with the header files
888 gtk_built_public_sources =                      \
889         gtktypebuiltins.h
890
891 # built headers that don't get installed
892 gtk_built_private_headers =                     \
893         gtkmarshalers.h                         \
894         gtkbuiltincache.h                       \
895         gtkprivatetypebuiltins.h                \
896         gtkwin32css.h
897
898 gtk_built_sources =                             \
899         gtktypebuiltins.c                       \
900         gtktypefuncs.c                          \
901         gtkmarshalers.c                         \
902         gtkprivatetypebuiltins.c                \
903         ${gtk_built_private_headers}            \
904         ${gtk_built_public_sources}
905
906 stamp_files =                                   \
907         stamp-gtkmarshalers.h                   \
908         stamp-gtktypebuiltins.h                 \
909         stamp-gtkprivatetypebuiltins.h          \
910         stamp-gtkwin32css.h                     \
911         stamp-icons
912
913 # non-header sources (headers should be specified in the above variables)
914 # that don't serve as direct make target sources, i.e. they don't have
915 # their own .lo rules and don't get publically installed
916 gtk_extra_sources =                             \
917         paper_names.c                           \
918         paper_names_offsets.c                   \
919         gen-paper-names.c                       \
920         gtkstatusicon-quartz.c                  \
921         gtk.symbols                             \
922         gtk-win32.css                           \
923         gtkversion.h.in                         \
924         gtkmarshalers.list                      \
925         fallback-c89.c
926
927 #
928 # setup GTK+ sources and their dependencies
929 #
930 MAINTAINERCLEANFILES = \
931         $(gtk_built_sources)                    \
932         $(stamp_files)                          \
933         $(GENERATED_ICONS)                      \
934         stock-icons/icon-theme.cache
935
936 EXTRA_HEADERS =
937 EXTRA_DIST += $(gtk_private_h_sources) $(gtk_extra_sources)
938 EXTRA_DIST += $(gtk_built_sources)
939 EXTRA_DIST += $(STOCK_ICONS)
940
941 #
942 # rules to generate built sources
943 #
944 # setup autogeneration dependencies
945 gen_sources = xgen-gdef xgen-gtbh xgen-gtic xgen-gmh xgen-gmc xgen-gmlh xgen-gmlc xgen-gtfsrc.c xgen-gtf
946 CLEANFILES = $(gen_sources)
947
948 BUILT_SOURCES = $(gtk_built_sources) stamp-icons
949
950 # all autogenerated files need to be generated in the srcdir,
951 # so old versions get remade and are not confused with newer
952 # versions in the build dir. thus a development setup requires
953 # srcdir to be writable, passing --disable-rebuilds to
954 # ../configure will supress all autogeneration rules.
955 gtkmarshalers.h: stamp-gtkmarshalers.h
956         @true
957 stamp-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list
958         $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --header >> xgen-gmlh \
959         && (cmp -s xgen-gmlh gtkmarshalers.h || cp xgen-gmlh gtkmarshalers.h) \
960         && rm -f xgen-gmlh \
961         && echo timestamp > $(@F)
962 gtkmarshalers.c: @REBUILD@ gtkmarshalers.list
963         $(AM_V_GEN) (echo "#include \"gtkmarshalers.h\""; \
964          $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --body) >> xgen-gmlc \
965         && cp xgen-gmlc gtkmarshalers.c \
966         && rm -f xgen-gmlc
967
968 gtkwin32css.h: stamp-gtkwin32css.h
969         @true
970 stamp-gtkwin32css.h: @REBUILD@ gtk-win32.css
971         $(AWK) 'BEGIN { print "static const char *gtk_win32_default_css = " } { print "   \"" $$0 "\\n\""} END { print ";" }' < $(srcdir)/gtk-win32.css >> xgen-gw3c\
972         && (cmp -s xgen-gw3c gtkwin32css.h || cp xgen-gw3c gtkwin32css.h) \
973         && rm -f xgen-gw3c \
974         && echo timestamp > $(@F)
975
976 gtktypebuiltins.h: stamp-gtktypebuiltins.h
977         @true
978 stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) $(deprecated_h_sources) gtktypebuiltins.h.template
979         $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.h.template \
980                 $(gtk_public_h_sources) $(deprecated_h_sources) ) > xgen-gtbh \
981         && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h ) \
982         && rm -f xgen-gtbh \
983         && echo timestamp > $(@F)
984 gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) $(deprecated_h_sources) gtktypebuiltins.c.template
985         $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.c.template \
986                 $(gtk_public_h_sources) $(deprecated_h_sources) ) > xgen-gtbc \
987         && cp xgen-gtbc gtktypebuiltins.c  \
988         && rm -f xgen-gtbc
989
990
991 gtkprivatetypebuiltins.h: stamp-gtkprivatetypebuiltins.h
992         @true
993 stamp-gtkprivatetypebuiltins.h: @REBUILD@ $(gtk_private_type_h_sources) gtkprivatetypebuiltins.h.template
994         $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtkprivatetypebuiltins.h.template \
995                 $(gtk_private_type_h_sources) ) > xgen-gptbh \
996         && (cmp -s xgen-gptbh gtkprivatetypebuiltins.h || cp xgen-gptbh gtkprivatetypebuiltins.h ) \
997         && rm -f xgen-gptbh \
998         && echo timestamp > $(@F)
999 gtkprivatetypebuiltins.c: @REBUILD@ $(gtk_private_type_h_sources)  gtkprivatetypebuiltins.c.template
1000         $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtkprivatetypebuiltins.c.template \
1001                 $(gtk_private_type_h_sources) ) > xgen-gptbc \
1002         && cp xgen-gptbc gtkprivatetypebuiltins.c  \
1003         && rm -f xgen-gptbc
1004
1005
1006 gtktypefuncs.c: @REBUILD@ stamp-gtktypebuiltins.h stamp-gtkprivatetypebuiltins.h $(top_srcdir)/gtk/*.h $(top_srcdir)/gtk/deprecated/*.h $(top_srcdir)/gdk/*.h Makefile
1007         $(AM_V_GEN) echo '#include <gtk/gtkx.h>' > xgen-gtfsrc.c && \
1008           ${CPP} $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \
1009           $(GREP) -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \
1010           sort | uniq | \
1011           $(SED) '{ s/^/*tp++ = /; s/$$/();/; s/^.*\(gdk_x11\|gtk_plug_\|gtk_socket_\).*$$/#ifdef GDK_WINDOWING_X11\n&\n#endif/; }' > xgen-gtf \
1012         && cp xgen-gtf $@ && rm -f xgen-gtf
1013 gtktestutils.c: gtktypefuncs.c
1014
1015 # target platform:
1016 lib_LTLIBRARIES = libgtk-3.la
1017
1018 gtkincludedir = $(includedir)/gtk-3.0/gtk
1019 gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_semi_private_h_sources) $(gtk_built_public_sources) gtkversion.h
1020
1021 deprecatedincludedir = $(includedir)/gtk-3.0/gtk/deprecated
1022 deprecatedinclude_HEADERS= $(deprecated_h_sources)
1023
1024 gtkunixprintincludedir = $(includedir)/gtk-3.0/unix-print/gtk
1025 gtkunixprintinclude_HEADERS = $(gtk_unix_print_public_h_sources)
1026
1027 libgtk_3_la_SOURCES = $(gtk_c_sources)
1028 libgtk_3_la_LDFLAGS = $(libtool_opts)
1029 libgtk_3_la_LIBADD = $(libadd)
1030 libgtk_3_la_DEPENDENCIES = $(deps)
1031
1032 if USE_WIN32
1033 libgtk_3_la_LIBADD += -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32
1034 libgtk_3_la_LDFLAGS += -Wl,-luuid
1035 libgtk_3_la_DEPENDENCIES += $(gtk_def) $(gtk_win32_res) $(deps)
1036 libgtk_target_ldflags = $(gtk_win32_res_ldflag) $(gtk_win32_symbols)
1037 endif
1038
1039 install-exec-hook:
1040 if DISABLE_EXPLICIT_DEPS
1041         $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/libgtk-3.la
1042 endif
1043
1044 if USE_QUARTZ
1045 install-mac-key-theme:
1046         $(mkdir_p) $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0
1047         $(INSTALL_DATA) $(srcdir)/gtk-keys.css.mac $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0/gtk-keys.css
1048 uninstall-mac-key-theme:
1049         rm -f $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0/gtk-keys.css
1050 else
1051 install-mac-key-theme:
1052 uninstall-mac-key-theme:
1053 endif
1054
1055 dist-hook: ../build/win32/vs9/gtk.vcproj ../build/win32/vs10/gtk.vcxproj ../build/win32/vs10/gtk.vcxproj.filters
1056
1057 ../build/win32/vs9/gtk.vcproj: ../build/win32/vs9/gtk.vcprojin
1058         for F in `echo $(gtk_base_c_sources) $(gtk_os_win32_c_sources) $(gtk_use_win32_c_sources) | tr '/' '\\'`; do \
1059                 case $$F in \
1060                 *.c) echo '   <File RelativePath="..\..\..\gtk\'$$F'" />' \
1061                      ;; \
1062                 esac; \
1063         done >libgtk.sourcefiles
1064         $(CPP) -P - <$(top_srcdir)/build/win32/vs9/gtk.vcprojin >$@
1065         rm libgtk.sourcefiles
1066
1067 ../build/win32/vs10/gtk.vcxproj: ../build/win32/vs10/gtk.vcxprojin
1068         for F in `echo $(gtk_base_c_sources) $(gtk_os_win32_c_sources) $(gtk_use_win32_c_sources) | tr '/' '\\'`; do \
1069                 case $$F in \
1070                 *.c) echo '   <ClCompile Include="..\..\..\gtk\'$$F'" />' \
1071                      ;; \
1072                 esac; \
1073         done >libgtk.vs10.sourcefiles
1074         $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gtk.vcxprojin >$@
1075         rm libgtk.vs10.sourcefiles
1076
1077 ../build/win32/vs10/gtk.vcxproj.filters: ../build/win32/vs10/gtk.vcxproj.filtersin
1078         for F in `echo $(gtk_base_c_sources) $(gtk_os_win32_c_sources) $(gtk_use_win32_c_sources) | tr '/' '\\'`; do \
1079                 case $$F in \
1080                 *.c) echo '   <ClCompile Include="..\..\..\gtk\'$$F'"><Filter>Source Files</Filter></ClCompile>' \
1081                      ;; \
1082                 esac; \
1083         done >libgtk.vs10.sourcefiles.filters
1084         $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gtk.vcxproj.filtersin >$@
1085         rm libgtk.vs10.sourcefiles.filters
1086
1087 # Install a RC file for the default GTK+ theme, and key themes
1088 install-data-local: install-ms-lib install-def-file install-mac-key-theme
1089         $(mkdir_p) $(DESTDIR)$(datadir)/themes/Raleigh/gtk-3.0
1090         $(INSTALL_DATA) $(srcdir)/gtk.css.raleigh $(DESTDIR)$(datadir)/themes/Raleigh/gtk-3.0/gtk.css
1091         $(mkdir_p) $(DESTDIR)$(datadir)/themes/Default/gtk-3.0
1092         $(INSTALL_DATA) $(srcdir)/gtk-keys.css.default $(DESTDIR)$(datadir)/themes/Default/gtk-3.0/gtk-keys.css
1093         $(mkdir_p) $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0
1094         $(INSTALL_DATA) $(srcdir)/gtk-keys.css.emacs $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0/gtk-keys.css
1095
1096 uninstall-local: uninstall-ms-lib uninstall-def-file uninstall-mac-key-theme
1097         rm -f $(DESTDIR)$(datadir)/themes/Raleigh/gtk-3.0/gtk.css
1098         rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-3.0/gtk-keys.css
1099         rm -f $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0/gtk-keys.css
1100
1101 # if srcdir!=builddir, clean out maintainer-clean files from builddir
1102 # this allows dist to pass.
1103 distclean-local:
1104         if test $(srcdir) != .; then \
1105           rm -f $(MAINTAINERCLEANFILES); \
1106           rm -rf stock-icons; \
1107         fi
1108
1109 DEPS = libgtk-3.la $(top_builddir)/gdk/libgdk-3.la
1110
1111 TEST_DEPS = $(DEPS) immodules.cache
1112
1113 LDADDS =                                                                \
1114         libgtk-3.la                                                     \
1115         $(top_builddir)/gdk/libgdk-3.la                         \
1116         $(GTK_DEP_LIBS)
1117
1118 if HAVE_INTROSPECTION
1119 introspection_files = \
1120     $(filter-out %private.h gtktextdisplay.h gtktextlayout.h, $(gtkinclude_HEADERS) $(deprecatedinclude_HEADERS)) \
1121     $(gtk_base_c_sources) \
1122     gtkprintoperation-unix.c \
1123     gtktypebuiltins.h \
1124     gtktypebuiltins.c
1125
1126 if USE_X11
1127 introspection_files += \
1128     gtksocket.c \
1129     gtkplug.c
1130 endif
1131
1132 Gtk-3.0.gir: $(INTROSPECTION_SCANNER) libgtk-3.la $(top_builddir)/gdk/Gdk-3.0.gir Makefile
1133 Gtk_3_0_gir_SCANNERFLAGS =                      \
1134         --add-include-path=$(top_builddir)/gdk  \
1135         --include-uninstalled=$(top_builddir)/gdk/Gdk-3.0.gir
1136 Gtk_3_0_gir_INCLUDES = Atk-1.0
1137 if USE_X11
1138 Gtk_3_0_gir_SCANNERFLAGS += --add-include-path=$(top_builddir)/gdk/x11
1139 Gtk_3_0_gir_INCLUDES += xlib-2.0
1140 endif
1141 Gtk_3_0_gir_SCANNERFLAGS += --c-include="gtk/gtkx.h"
1142 Gtk_3_0_gir_CFLAGS = \
1143                 $(AM_CPPFLAGS) \
1144                 -DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API
1145 Gtk_3_0_gir_LIBS = libgtk-3.la $(top_builddir)/gdk/libgdk-3.la
1146 Gtk_3_0_gir_FILES = $(introspection_files)
1147 Gtk_3_0_gir_EXPORT_PACKAGES = gtk+-3.0
1148 INTROSPECTION_GIRS += Gtk-3.0.gir
1149
1150 girdir = $(datadir)/gir-1.0
1151 gir_DATA = $(INTROSPECTION_GIRS)
1152
1153 typelibsdir = $(libdir)/girepository-1.0
1154 typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
1155
1156 CLEANFILES += $(gir_DATA) $(typelibs_DATA)
1157 endif
1158
1159 #
1160 # Installed tools
1161 #
1162 bin_PROGRAMS = \
1163         gtk-query-immodules-3.0
1164
1165 if BUILD_ICON_CACHE
1166 bin_PROGRAMS += gtk-update-icon-cache
1167
1168 if OS_WIN32
1169
1170 # Workaround for UAC silliness: programs with "update" in their name
1171 # are believed to be installers and require elevated privileges to be
1172 # used... Use a manifest file to tell Windows that
1173 # gtk-update-icon-cache.exe doesn't require any special privileges.
1174
1175 GTK_UPDATE_ICON_CACHE_MANIFEST = gtk-update-icon-cache.exe.manifest
1176
1177 bin_SCRIPTS = $(GTK_UPDATE_ICON_CACHE_MANIFEST)
1178
1179 $(GTK_UPDATE_ICON_CACHE_MANIFEST):
1180         (echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' ; \
1181          echo '<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">' ; \
1182          echo '  <assemblyIdentity version="1.0.0.0"' ; \
1183          echo '     processorArchitecture="'$(EXE_MANIFEST_ARCHITECTURE)'"' ; \
1184          echo '     name="gtk-update-icon-cache.exe"' ; \
1185          echo '     type="win32"/>' ; \
1186          echo '  <!-- Identify the application security requirements. -->' ; \
1187          echo '  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">' ; \
1188          echo '    <security>' ; \
1189          echo '      <requestedPrivileges>' ; \
1190          echo '        <requestedExecutionLevel' ; \
1191          echo '          level="asInvoker"' ; \
1192          echo '          uiAccess="false"/>' ; \
1193          echo '        </requestedPrivileges>' ; \
1194          echo '       </security>' ; \
1195          echo '  </trustInfo>' ; \
1196          echo '</assembly>' ) >$@
1197
1198 endif
1199 endif
1200
1201 gtk_query_immodules_3_0_DEPENDENCIES = $(DEPS)
1202 gtk_query_immodules_3_0_LDADD = $(LDADDS) $(GMODULE_LIBS)
1203 gtk_query_immodules_3_0_SOURCES = queryimmodules.c
1204
1205 if BUILD_ICON_CACHE
1206 gtk_update_icon_cache_LDADD = $(GDK_PIXBUF_LIBS)
1207 gtk_update_icon_cache_SOURCES = updateiconcache.c
1208 endif
1209
1210 .PHONY: files test test-debug
1211
1212 files:
1213         @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
1214           echo $$p; \
1215         done
1216
1217 STOCK_ICONS = \
1218         stock-icons/16/document-open-recent.png         \
1219         stock-icons/16/help-about.png                   \
1220         stock-icons/16/list-add.png                     \
1221         stock-icons/16/media-optical.png                \
1222         stock-icons/16/window-close.png                 \
1223         stock-icons/16/gtk-connect.png                  \
1224         stock-icons/16/gtk-convert.png                  \
1225         stock-icons/16/edit-clear.png                   \
1226         stock-icons/16/edit-copy.png                    \
1227         stock-icons/16/edit-cut.png                     \
1228         stock-icons/16/edit-delete.png                  \
1229         stock-icons/16/folder.png                       \
1230         stock-icons/16/gtk-disconnect.png               \
1231         stock-icons/16/gtk-edit.png                     \
1232         stock-icons/16/system-run.png                   \
1233         stock-icons/16/text-x-generic.png               \
1234         stock-icons/16/edit-find-replace.png            \
1235         stock-icons/16/edit-find.png                    \
1236         stock-icons/16/media-floppy.png                 \
1237         stock-icons/16/view-fullscreen.png              \
1238         stock-icons/16/go-previous-ltr.png              \
1239         stock-icons/16/go-down.png                      \
1240         stock-icons/16/go-next-ltr.png                  \
1241         stock-icons/16/go-bottom.png                    \
1242         stock-icons/16/go-first-ltr.png                 \
1243         stock-icons/16/go-last-ltr.png                  \
1244         stock-icons/16/go-top.png                       \
1245         stock-icons/16/go-up.png                        \
1246         stock-icons/16/gtk-caps-lock-warning.png        \
1247         stock-icons/16/gtk-color-picker.png             \
1248         stock-icons/16/drive-harddisk.png               \
1249         stock-icons/16/help-contents.png                \
1250         stock-icons/16/go-home.png                      \
1251         stock-icons/16/format-indent-more-ltr.png       \
1252         stock-icons/16/format-indent-more-rtl.png       \
1253         stock-icons/16/gtk-index.png                    \
1254         stock-icons/16/dialog-information.png           \
1255         stock-icons/16/go-jump-ltr.png                  \
1256         stock-icons/16/go-jump-rtl.png                  \
1257         stock-icons/16/format-justify-center.png        \
1258         stock-icons/16/format-justify-fill.png          \
1259         stock-icons/16/format-justify-left.png          \
1260         stock-icons/16/format-justify-right.png         \
1261         stock-icons/16/view-restore.png                 \
1262         stock-icons/16/media-seek-forward-ltr.png       \
1263         stock-icons/16/media-skip-forward-ltr.png       \
1264         stock-icons/16/media-playback-pause.png         \
1265         stock-icons/16/media-playback-start-ltr.png     \
1266         stock-icons/16/media-playback-start-rtl.png     \
1267         stock-icons/16/media-skip-backward-ltr.png      \
1268         stock-icons/16/media-record.png                 \
1269         stock-icons/16/media-seek-backward-ltr.png      \
1270         stock-icons/16/media-playback-stop.png          \
1271         stock-icons/16/image-missing.png                \
1272         stock-icons/16/network-idle.png                 \
1273         stock-icons/16/document-new.png                 \
1274         stock-icons/16/document-open.png                \
1275         stock-icons/16/gtk-orientation-landscape.png    \
1276         stock-icons/16/gtk-orientation-portrait.png     \
1277         stock-icons/16/gtk-orientation-reverse-landscape.png \
1278         stock-icons/16/gtk-orientation-reverse-portrait.png \
1279         stock-icons/16/gtk-page-setup.png               \
1280         stock-icons/16/edit-paste.png                   \
1281         stock-icons/16/gtk-preferences.png              \
1282         stock-icons/16/document-print.png               \
1283         stock-icons/16/printer-error.png                \
1284         stock-icons/16/printer-paused.png               \
1285         stock-icons/16/document-print-preview.png       \
1286         stock-icons/16/printer-info.png                 \
1287         stock-icons/16/printer-warning.png              \
1288         stock-icons/16/document-properties.png          \
1289         stock-icons/16/application-exit.png             \
1290         stock-icons/16/edit-redo-ltr.png                \
1291         stock-icons/16/edit-redo-rtl.png                \
1292         stock-icons/16/view-refresh.png                 \
1293         stock-icons/16/list-remove.png                  \
1294         stock-icons/16/document-revert-ltr.png          \
1295         stock-icons/16/document-revert-rtl.png          \
1296         stock-icons/16/document-save-as.png             \
1297         stock-icons/16/edit-select-all.png              \
1298         stock-icons/16/gtk-select-color.png             \
1299         stock-icons/16/gtk-select-font.png              \
1300         stock-icons/16/view-sort-ascending.png          \
1301         stock-icons/16/view-sort-descending.png         \
1302         stock-icons/16/tools-check-spelling.png         \
1303         stock-icons/16/process-stop.png                 \
1304         stock-icons/16/format-text-strikethrough.png    \
1305         stock-icons/16/gtk-font.png                     \
1306         stock-icons/16/gtk-undelete-ltr.png             \
1307         stock-icons/16/gtk-undelete-rtl.png             \
1308         stock-icons/16/format-text-underline.png        \
1309         stock-icons/16/edit-undo-ltr.png                \
1310         stock-icons/16/edit-undo-rtl.png                \
1311         stock-icons/16/format-indent-less-ltr.png       \
1312         stock-icons/16/format-indent-less-rtl.png       \
1313         stock-icons/16/zoom-original.png                \
1314         stock-icons/16/zoom-fit-best.png                \
1315         stock-icons/16/zoom-in.png                      \
1316         stock-icons/16/zoom-out.png                     \
1317         stock-icons/16/format-text-italic.png           \
1318         stock-icons/16/format-text-bold.png             \
1319         stock-icons/20/gtk-apply.png                    \
1320         stock-icons/20/gtk-cancel.png                   \
1321         stock-icons/20/window-close.png                 \
1322         stock-icons/20/gtk-no.png                       \
1323         stock-icons/20/gtk-ok.png                       \
1324         stock-icons/20/gtk-yes.png                      \
1325         stock-icons/24/audio-volume-high.png            \
1326         stock-icons/24/audio-volume-low.png             \
1327         stock-icons/24/audio-volume-medium.png          \
1328         stock-icons/24/audio-volume-muted.png           \
1329         stock-icons/24/document-open-recent.png         \
1330         stock-icons/24/help-about.png                   \
1331         stock-icons/24/list-add.png                     \
1332         stock-icons/24/format-text-bold.png             \
1333         stock-icons/24/media-optical.png                \
1334         stock-icons/24/edit-clear.png                   \
1335         stock-icons/24/window-close.png                 \
1336         stock-icons/24/gtk-caps-lock-warning.png        \
1337         stock-icons/24/gtk-color-picker.png             \
1338         stock-icons/24/gtk-connect.png                  \
1339         stock-icons/24/gtk-convert.png                  \
1340         stock-icons/24/edit-copy.png                    \
1341         stock-icons/24/edit-cut.png                     \
1342         stock-icons/24/folder.png                       \
1343         stock-icons/24/gtk-disconnect.png               \
1344         stock-icons/24/gtk-edit.png                     \
1345         stock-icons/24/system-run.png                   \
1346         stock-icons/24/text-x-generic.png               \
1347         stock-icons/24/edit-find-replace.png            \
1348         stock-icons/24/edit-find.png                    \
1349         stock-icons/24/gtk-font.png                     \
1350         stock-icons/24/view-fullscreen.png              \
1351         stock-icons/24/go-previous-ltr.png              \
1352         stock-icons/24/go-top.png                       \
1353         stock-icons/24/go-down.png                      \
1354         stock-icons/24/go-bottom.png                    \
1355         stock-icons/24/go-first-ltr.png                 \
1356         stock-icons/24/go-last-ltr.png                  \
1357         stock-icons/24/go-up.png                        \
1358         stock-icons/24/drive-harddisk.png               \
1359         stock-icons/24/help-contents.png                \
1360         stock-icons/24/go-home.png                      \
1361         stock-icons/24/format-indent-more-ltr.png       \
1362         stock-icons/24/format-indent-more-rtl.png       \
1363         stock-icons/24/gtk-index.png                    \
1364         stock-icons/24/dialog-information.png           \
1365         stock-icons/24/format-text-italic.png           \
1366         stock-icons/24/go-jump-ltr.png                  \
1367         stock-icons/24/go-jump-rtl.png                  \
1368         stock-icons/24/format-justify-center.png        \
1369         stock-icons/24/format-justify-fill.png          \
1370         stock-icons/24/format-justify-left.png          \
1371         stock-icons/24/format-justify-right.png         \
1372         stock-icons/24/view-restore.png                 \
1373         stock-icons/24/media-seek-forward-ltr.png       \
1374         stock-icons/24/media-skip-forward-ltr.png       \
1375         stock-icons/24/media-playback-pause.png         \
1376         stock-icons/24/media-playback-start-ltr.png     \
1377         stock-icons/24/media-playback-start-rtl.png     \
1378         stock-icons/24/media-skip-backward-ltr.png      \
1379         stock-icons/24/media-record.png                 \
1380         stock-icons/24/media-seek-backward-ltr.png      \
1381         stock-icons/24/media-playback-stop.png          \
1382         stock-icons/24/image-missing.png                \
1383         stock-icons/24/network-idle.png                 \
1384         stock-icons/24/document-new.png                 \
1385         stock-icons/24/document-open.png                \
1386         stock-icons/24/gtk-orientation-reverse-landscape.png \
1387         stock-icons/24/gtk-orientation-landscape.png    \
1388         stock-icons/24/gtk-orientation-reverse-portrait.png \
1389         stock-icons/24/gtk-orientation-portrait.png     \
1390         stock-icons/24/gtk-page-setup.png               \
1391         stock-icons/24/edit-paste.png                   \
1392         stock-icons/24/gtk-preferences.png              \
1393         stock-icons/24/document-print.png               \
1394         stock-icons/24/printer-error.png                \
1395         stock-icons/24/printer-paused.png               \
1396         stock-icons/24/document-print-preview.png       \
1397         stock-icons/24/printer-info.png                 \
1398         stock-icons/24/printer-warning.png              \
1399         stock-icons/24/document-properties.png          \
1400         stock-icons/24/application-exit.png             \
1401         stock-icons/24/edit-redo-ltr.png                \
1402         stock-icons/24/edit-redo-rtl.png                \
1403         stock-icons/24/view-refresh.png                 \
1404         stock-icons/24/list-remove.png                  \
1405         stock-icons/24/document-revert-ltr.png          \
1406         stock-icons/24/document-revert-rtl.png          \
1407         stock-icons/24/gtk-select-font.png              \
1408         stock-icons/24/document-save-as.png             \
1409         stock-icons/24/media-floppy.png                 \
1410         stock-icons/24/edit-select-all.png              \
1411         stock-icons/24/gtk-select-color.png             \
1412         stock-icons/24/view-sort-ascending.png          \
1413         stock-icons/24/view-sort-descending.png         \
1414         stock-icons/24/tools-check-spelling.png         \
1415         stock-icons/24/process-stop.png                 \
1416         stock-icons/24/format-text-strikethrough.png    \
1417         stock-icons/24/edit-delete.png                  \
1418         stock-icons/24/gtk-undelete-ltr.png             \
1419         stock-icons/24/gtk-undelete-rtl.png             \
1420         stock-icons/24/format-text-underline.png        \
1421         stock-icons/24/edit-undo-ltr.png                \
1422         stock-icons/24/edit-undo-rtl.png                \
1423         stock-icons/24/format-indent-less-ltr.png       \
1424         stock-icons/24/format-indent-less-rtl.png       \
1425         stock-icons/24/zoom-original.png                \
1426         stock-icons/24/zoom-fit-best.png                \
1427         stock-icons/24/zoom-in.png                      \
1428         stock-icons/24/zoom-out.png                     \
1429         stock-icons/24/go-next-ltr.png                  \
1430         stock-icons/32/gtk-dnd-multiple.png             \
1431         stock-icons/32/gtk-dnd.png                      \
1432         stock-icons/48/dialog-password.png              \
1433         stock-icons/48/dialog-error.png                 \
1434         stock-icons/48/dialog-information.png           \
1435         stock-icons/48/dialog-question.png              \
1436         stock-icons/48/dialog-warning.png
1437
1438 GENERATED_ICONS = \
1439         stock-icons/16/go-previous-rtl.png              \
1440         stock-icons/16/go-next-rtl.png                  \
1441         stock-icons/16/go-first-rtl.png                 \
1442         stock-icons/16/go-last-rtl.png                  \
1443         stock-icons/16/media-seek-forward-rtl.png       \
1444         stock-icons/16/media-skip-forward-rtl.png       \
1445         stock-icons/16/media-skip-backward-rtl.png      \
1446         stock-icons/16/media-seek-backward-rtl.png      \
1447         stock-icons/16/document-save.png                \
1448         stock-icons/16/folder-remote.png                \
1449         stock-icons/16/user-home.png                    \
1450         stock-icons/16/user-desktop.png                 \
1451         stock-icons/24/go-previous-rtl.png              \
1452         stock-icons/24/go-next-rtl.png                  \
1453         stock-icons/24/go-first-rtl.png                 \
1454         stock-icons/24/go-last-rtl.png                  \
1455         stock-icons/24/media-seek-forward-rtl.png       \
1456         stock-icons/24/media-skip-forward-rtl.png       \
1457         stock-icons/24/media-skip-backward-rtl.png      \
1458         stock-icons/24/media-seek-backward-rtl.png      \
1459         stock-icons/24/document-save.png                \
1460         stock-icons/24/folder-remote.png                \
1461         stock-icons/24/user-home.png                    \
1462         stock-icons/24/user-desktop.png
1463
1464 # need to copy the icons so that we can replace the generated ones with
1465 # symlinks, even in the readonly srcdir case
1466 stamp-icons: $(STOCK_ICONS)
1467         $(AM_V_GEN) if [ ! -d stock-icons ]; then                       \
1468           for d in 16 20 24 32 48; do                                   \
1469             mkdir -p stock-icons/$$d;                                   \
1470           done;                                                         \
1471           for f in $(STOCK_ICONS); do                                   \
1472             cp $(srcdir)/$$f $$(dirname $$f);                           \
1473           done;                                                         \
1474           chmod -R u+w stock-icons;                                     \
1475         fi &&                                                           \
1476         for i in 16 24; do                                              \
1477            (cd stock-icons/$$i                                          \
1478            && $(RM) go-previous-rtl.png                                 \
1479            && $(LN_S) go-next-ltr.png go-previous-rtl.png               \
1480            && $(RM) go-next-rtl.png                                     \
1481            && $(LN_S) go-previous-ltr.png go-next-rtl.png               \
1482            && $(RM) go-first-rtl.png                                    \
1483            && $(LN_S) go-last-ltr.png go-first-rtl.png                  \
1484            && $(RM) go-last-rtl.png                                     \
1485            && $(LN_S) go-first-ltr.png go-last-rtl.png                  \
1486            && $(RM) media-seek-forward-rtl.png                          \
1487            && $(LN_S) media-seek-backward-ltr.png media-seek-forward-rtl.png \
1488            && $(RM) media-skip-forward-rtl.png                          \
1489            && $(LN_S) media-skip-backward-ltr.png media-skip-forward-rtl.png \
1490            && $(RM) media-skip-backward-rtl.png                         \
1491            && $(LN_S) media-skip-forward-ltr.png media-skip-backward-rtl.png \
1492            && $(RM) media-seek-backward-rtl.png                         \
1493            && $(LN_S) media-seek-forward-ltr.png media-seek-backward-rtl.png \
1494            && $(RM) document-save.png                                   \
1495            && $(LN_S) media-floppy.png document-save.png                \
1496            && $(RM) folder-remote.png                                   \
1497            && $(LN_S) folder.png folder-remote.png                      \
1498            && $(RM) user-home.png                                       \
1499            && $(LN_S) folder.png user-home.png                          \
1500            && $(RM) user-desktop.png                                    \
1501            && $(LN_S) folder.png user-desktop.png                       \
1502         ) done                                                          \
1503         && touch stamp-icons
1504
1505 if USE_EXTERNAL_ICON_CACHE
1506 gtk_update_icon_cache_program = $(GTK_UPDATE_ICON_CACHE)
1507 else
1508 gtk_update_icon_cache_program = ./gtk-update-icon-cache
1509 endif
1510
1511 gtkbuiltincache.h: @REBUILD@ stamp-icons
1512 if !USE_EXTERNAL_ICON_CACHE
1513         $(AM_V_at) $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST)
1514 endif
1515         $(AM_V_GEN) $(gtk_update_icon_cache_program) --quiet --force --ignore-theme-index               \
1516            --source builtin_icons stock-icons > gtkbuiltincache.h.tmp &&        \
1517         mv gtkbuiltincache.h.tmp gtkbuiltincache.h
1518
1519 EXTRA_DIST +=                   \
1520         $(STOCK_ICONS)          \
1521         $(GENERATED_ICONS)      \
1522         gtk.def                 \
1523         gtk-win32.rc            \
1524         gtk-win32.rc.in         \
1525         gtkwin32embed.h         \
1526         gtkwin32embedwidget.h   \
1527         gtkwin32embedwidget.c   \
1528         gtkprint-win32.h        \
1529         gtkprint-win32.c        \
1530         gtksearchenginequartz.h \
1531         gtk.css.raleigh         \
1532         gtk-keys.css.default    \
1533         gtk-keys.css.emacs      \
1534         gtk-keys.css.mac        \
1535         makefile.msc            \
1536         makefile.msc.in         \
1537         abicheck.sh             \
1538         gtktypebuiltins.c.template \
1539         gtktypebuiltins.h.template \
1540         gtkprivatetypebuiltins.c.template \
1541         gtkprivatetypebuiltins.h.template \
1542         org.gtk.Settings.FileChooser.gschema.xml
1543
1544 gsettings_SCHEMAS = \
1545         org.gtk.Settings.FileChooser.gschema.xml
1546
1547 @GSETTINGS_RULES@
1548
1549 install-data-local:
1550
1551 -include $(top_srcdir)/git.mk