]> Pileus Git - ~andy/gtk/blob - gtk/Makefile.am
17a6a0bf9e31610e8c05f7a8c744b7e3dfa30fac
[~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         gtkcssimagelinearprivate.h      \
418         gtkcssimageprivate.h    \
419         gtkcssimageurlprivate.h \
420         gtkcssimagewin32private.h       \
421         gtkcsslookupprivate.h   \
422         gtkcssparserprivate.h   \
423         gtkcssproviderprivate.h \
424         gtkcsssectionprivate.h  \
425         gtkcssselectorprivate.h \
426         gtkcssshorthandpropertyprivate.h \
427         gtkcssstylefuncsprivate.h \
428         gtkcssstylepropertyprivate.h \
429         gtkcustompaperunixdialog.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         gtkresources.h          \
470         gtkroundedboxprivate.h  \
471         gtkscaleprivate.h       \
472         gtksearchengine.h       \
473         gtksearchenginesimple.h \
474         gtkselectionprivate.h   \
475         gtksettingsprivate.h    \
476         gtkshadowprivate.h      \
477         gtksizegroup-private.h  \
478         gtksocketprivate.h      \
479         gtkstylecontextprivate.h \
480         gtkstylepropertiesprivate.h \
481         gtkstylepropertyprivate.h \
482         gtkstyleproviderprivate.h \
483         gtksymboliccolorprivate.h \
484         gtktextbtree.h          \
485         gtktextbufferserialize.h \
486         gtktextchildprivate.h   \
487         gtktextiterprivate.h    \
488         gtktextmarkprivate.h    \
489         gtktextsegment.h        \
490         gtktexttagprivate.h     \
491         gtktexttypes.h          \
492         gtktextutil.h           \
493         gtkthemingbackgroundprivate.h \
494         gtkthemingengineprivate.h \
495         gtktimeline.h           \
496         gtktoolpaletteprivate.h \
497         gtktreedatalist.h       \
498         gtktreeprivate.h        \
499         gtkwidgetprivate.h      \
500         gtkwin32themeprivate.h  \
501         gtkwindowprivate.h      \
502         gtktreemenu.h           \
503         $(gtk_private_type_h_sources) \
504         $(gtk_clipboard_dnd_h_sources) \
505         $(gtk_appchooser_impl_h_sources)
506
507 # GTK+ C sources to build the library from
508 deprecated_c_sources =                  \
509         deprecated/gtkfontsel.c         \
510         deprecated/gtkhandlebox.c       \
511         deprecated/gtkhbbox.c           \
512         deprecated/gtkhbox.c            \
513         deprecated/gtkhpaned.c          \
514         deprecated/gtkhscale.c          \
515         deprecated/gtkhscrollbar.c      \
516         deprecated/gtkhseparator.c      \
517         deprecated/gtkrc.c              \
518         deprecated/gtkstyle.c           \
519         deprecated/gtktable.c           \
520         deprecated/gtktearoffmenuitem.c \
521         deprecated/gtkvbbox.c           \
522         deprecated/gtkvbox.c            \
523         deprecated/gtkvscale.c          \
524         deprecated/gtkvscrollbar.c      \
525         deprecated/gtkvseparator.c      \
526         deprecated/gtkvpaned.c
527
528 gtk_base_c_sources =            \
529         $(deprecated_c_sources) \
530         gactionmuxer.c          \
531         gsimpleactionobserver.c \
532         gactionobserver.c       \
533         gactionobservable.c     \
534         gtkactionable.c         \
535         gtkquery.c              \
536         gtksearchengine.c       \
537         gtksearchenginesimple.c \
538         fnmatch.c               \
539         gtkaboutdialog.c        \
540         gtkaccelgroup.c         \
541         gtkaccellabel.c         \
542         gtkaccelmap.c           \
543         gtkaccessible.c         \
544         gtkaction.c             \
545         gtkactiongroup.c        \
546         gtkactivatable.c        \
547         gtkadjustment.c         \
548         gtkalignment.c          \
549         gtkappchooser.c         \
550         gtkappchooserwidget.c   \
551         gtkappchooserbutton.c   \
552         gtkappchooserdialog.c   \
553         gtkappchoosermodule.c   \
554         gtkappchooseronline.c   \
555         gtkapplication.c        \
556         gtkapplicationwindow.c  \
557         gtkanimationdescription.c \
558         gtkarrow.c              \
559         gtkaspectframe.c        \
560         gtkassistant.c          \
561         gtkbbox.c               \
562         gtkbin.c                \
563         gtkbindings.c           \
564         gtkbitmask.c            \
565         gtkborder.c             \
566         gtkborderimage.c        \
567         gtkbox.c                \
568         gtkbuildable.c          \
569         gtkbuilder.c            \
570         gtkbuilderparser.c      \
571         gtkbuilder-menus.c      \
572         gtkbutton.c             \
573         gtkcalendar.c           \
574         gtkcellarea.c           \
575         gtkcellareabox.c        \
576         gtkcellareaboxcontext.c \
577         gtkcellareacontext.c    \
578         gtkcelleditable.c       \
579         gtkcelllayout.c         \
580         gtkcellrenderer.c       \
581         gtkcellrendereraccel.c  \
582         gtkcellrenderercombo.c  \
583         gtkcellrendererpixbuf.c \
584         gtkcellrendererprogress.c \
585         gtkcellrendererspin.c   \
586         gtkcellrendererspinner.c \
587         gtkcellrenderertext.c   \
588         gtkcellrenderertoggle.c \
589         gtkcellview.c           \
590         gtkcheckbutton.c        \
591         gtkcheckmenuitem.c      \
592         gtkcolorbutton.c        \
593         gtkcolorsel.c           \
594         gtkcolorseldialog.c     \
595         gtkcombobox.c           \
596         gtkcomboboxtext.c       \
597         gtkcontainer.c          \
598         gtkcsscomputedvalues.c  \
599         gtkcsscustomproperty.c  \
600         gtkcssimage.c           \
601         gtkcssimagegradient.c   \
602         gtkcssimagelinear.c     \
603         gtkcssimageurl.c        \
604         gtkcssimagewin32.c      \
605         gtkcsslookup.c          \
606         gtkcssparser.c          \
607         gtkcssprovider.c        \
608         gtkcsssection.c         \
609         gtkcssselector.c        \
610         gtkcssshorthandproperty.c \
611         gtkcssshorthandpropertyimpl.c \
612         gtkcssstylefuncs.c      \
613         gtkcssstyleproperty.c   \
614         gtkcssstylepropertyimpl.c \
615         gtkcsstypes.c           \
616         gtkdialog.c             \
617         gtkdrawingarea.c        \
618         gtkeditable.c           \
619         gtkentry.c              \
620         gtkentrybuffer.c        \
621         gtkentrycompletion.c    \
622         gtkeventbox.c           \
623         gtkexpander.c           \
624         gtkfilechooser.c        \
625         gtkfilechooserbutton.c  \
626         gtkfilechooserdefault.c \
627         gtkfilechooserdialog.c  \
628         gtkfilechooserembed.c   \
629         gtkfilechooserentry.c   \
630         gtkfilechooserutils.c   \
631         gtkfilechooserwidget.c  \
632         gtkfilefilter.c         \
633         gtkfilesystem.c         \
634         gtkfilesystemmodel.c    \
635         gtkfixed.c              \
636         gtkfontbutton.c         \
637         gtkfontchooser.c        \
638         gtkfontchooserdialog.c  \
639         gtkfontchooserutils.c   \
640         gtkfontchooserwidget.c  \
641         gtkframe.c              \
642         gtkgradient.c           \
643         gtkgrid.c               \
644         gtkhsv.c                \
645         gtkiconcache.c          \
646         gtkiconcachevalidator.c \
647         gtkiconfactory.c        \
648         gtkiconhelper.c         \
649         gtkicontheme.c          \
650         gtkiconview.c           \
651         gtkimage.c              \
652         gtkimagemenuitem.c      \
653         gtkimcontext.c          \
654         gtkimcontextsimple.c    \
655         gtkimmodule.c           \
656         gtkimmulticontext.c     \
657         gtkinfobar.c            \
658         gtkinvisible.c          \
659         gtkkeyhash.c            \
660         gtklabel.c              \
661         gtklayout.c             \
662         gtklinkbutton.c         \
663         gtkliststore.c          \
664         gtklockbutton.c         \
665         gtkmain.c               \
666         gtkmarshalers.c         \
667         gtkmenu.c               \
668         gtkmenubar.c            \
669         gtkmenuitem.c           \
670         gtkmenushell.c          \
671         gtkmenutoolbutton.c     \
672         gtkmessagedialog.c      \
673         gtkmisc.c               \
674         gtkmnemonichash.c       \
675         gtkmodelmenu.c          \
676         gtkmodelmenuitem.c      \
677         gtkmodifierstyle.c      \
678         gtkmodules.c            \
679         gtkmountoperation.c     \
680         gtknotebook.c           \
681         gtknumerableicon.c      \
682         gtkoffscreenwindow.c    \
683         gtkorientable.c         \
684         gtkoverlay.c            \
685         gtkpagesetup.c          \
686         gtkpaned.c              \
687         gtkpango.c              \
688         gtkpapersize.c          \
689         gtkpathbar.c            \
690         gtkprintcontext.c       \
691         gtkprintoperation.c     \
692         gtkprintoperationpreview.c \
693         gtkprintsettings.c      \
694         gtkprintutils.c         \
695         gtkprivate.c            \
696         gtkprivatetypebuiltins.c \
697         gtkprogressbar.c        \
698         gtkradioaction.c        \
699         gtkradiobutton.c        \
700         gtkradiomenuitem.c      \
701         gtkradiotoolbutton.c    \
702         gtkrange.c              \
703         gtkrbtree.c             \
704         gtkrecentaction.c       \
705         gtkrecentchooserdefault.c \
706         gtkrecentchooserdialog.c \
707         gtkrecentchoosermenu.c  \
708         gtkrecentchooserwidget.c \
709         gtkrecentchooserutils.c \
710         gtkrecentchooser.c      \
711         gtkrecentfilter.c       \
712         gtkrecentmanager.c      \
713         gtkresources.c          \
714         gtkroundedbox.c         \
715         gtkscale.c              \
716         gtkscalebutton.c        \
717         gtkscrollable.c         \
718         gtkscrollbar.c          \
719         gtkscrolledwindow.c     \
720         gtkselection.c          \
721         gtkseparator.c          \
722         gtkseparatormenuitem.c  \
723         gtkseparatortoolitem.c  \
724         gtksettings.c           \
725         gtksizegroup.c          \
726         gtksizerequest.c        \
727         gtkshadow.c             \
728         gtkshow.c               \
729         gtkspinbutton.c         \
730         gtkspinner.c            \
731         gtkstatusbar.c          \
732         gtkstatusicon.c         \
733         gtkstock.c              \
734         gtkstylecontext.c       \
735         gtkstyleproperties.c    \
736         gtkstyleproperty.c      \
737         gtkstyleprovider.c      \
738         gtkstyleproviderprivate.c       \
739         gtkswitch.c             \
740         gtksymboliccolor.c      \
741         gtktestutils.c          \
742         gtktextattributes.c     \
743         gtktextbtree.c          \
744         gtktextbuffer.c         \
745         gtktextbufferrichtext.c \
746         gtktextbufferserialize.c \
747         gtktextchild.c          \
748         gtktextdisplay.c        \
749         gtktextiter.c           \
750         gtktextlayout.c         \
751         gtktextmark.c           \
752         gtktextsegment.c        \
753         gtktexttag.c            \
754         gtktexttagtable.c       \
755         gtktexttypes.c          \
756         gtktextutil.c           \
757         gtktextview.c           \
758         gtkthemingbackground.c  \
759         gtkthemingengine.c      \
760         gtktimeline.c           \
761         gtktoggleaction.c       \
762         gtktogglebutton.c       \
763         gtktoggletoolbutton.c   \
764         gtktoolbar.c            \
765         gtktoolbutton.c         \
766         gtktoolitem.c           \
767         gtktoolitemgroup.c      \
768         gtktoolpalette.c        \
769         gtktoolshell.c          \
770         gtktooltip.c            \
771         gtktreedatalist.c       \
772         gtktreednd.c            \
773         gtktreemenu.c           \
774         gtktreemodel.c          \
775         gtktreemodelfilter.c    \
776         gtktreemodelsort.c      \
777         gtktreeselection.c      \
778         gtktreesortable.c       \
779         gtktreestore.c          \
780         gtktreeview.c           \
781         gtktreeviewcolumn.c     \
782         gtktypebuiltins.c       \
783         gtkuimanager.c          \
784         gtkvolumebutton.c       \
785         gtkviewport.c           \
786         gtkwidget.c             \
787         gtkwidgetpath.c         \
788         gtkwindow.c             \
789         gtkwin32theme.c         \
790         $(gtk_clipboard_dnd_c_sources) \
791         $(gtk_appchooser_impl_c_sources)
792
793 gtk_c_sources = $(gtk_base_c_sources)
794 gtk_all_c_sources = $(gtk_base_c_sources)
795
796 gtk_os_unix_c_sources =                 \
797         gtkcustompaperunixdialog.c      \
798         gtkpagesetupunixdialog.c        \
799         gtkprinter.c                    \
800         gtkprinteroption.c              \
801         gtkprinteroptionset.c           \
802         gtkprinteroptionwidget.c        \
803         gtkprintjob.c                   \
804         gtkprintoperation-unix.c        \
805         gtkprintunixdialog.c            \
806         gtkprintbackend.c               \
807         gtksearchenginetracker.c
808 gtk_all_c_sources += $(gtk_os_unix_c_sources)
809 if OS_UNIX
810 gtk_private_h_sources += \
811         gtkiconcachevalidator.h         \
812         gtkprintbackend.h               \
813         gtkprinter-private.h            \
814         gtkprinteroption.h              \
815         gtkprinteroptionset.h           \
816         gtkprinteroptionwidget.h        \
817         gtksearchenginetracker.h
818 gtk_c_sources += $(gtk_os_unix_c_sources)
819 endif
820
821 gtk_os_win32_c_sources = \
822         gtkprint-win32.c                \
823         gtkprintoperation-win32.c       \
824         gtkwin32.c
825 gtk_all_c_sources += $(gtk_os_win32_c_sources)
826 if OS_WIN32
827 gtk_private_h_sources += gtkprint-win32.h
828 gtk_c_sources += $(gtk_os_win32_c_sources)
829 endif
830
831 gtk_use_x11_c_sources =         \
832         gtkplug.c               \
833         gtksocket.c             \
834         gtkxembed.c             \
835         gtktrayicon-x11.c       \
836         gtkmountoperation-x11.c
837 gtk_use_win32_c_sources =       \
838         gtkwin32embed.c         \
839         gtkwin32embedwidget.c   \
840         gtkmountoperation-stub.c
841 gtk_use_quartz_c_sources =      \
842         gtksearchenginequartz.c \
843         gtkmountoperation-stub.c \
844   gtkquartz-menu.h \
845   gtkquartz-menu.c \
846         gtkquartz.c
847 gtk_use_stub_c_sources =        \
848         gtkmountoperation-stub.c
849 gtk_all_c_sources += $(gtk_use_x11_c_sources) $(gtk_use_win32_c_sources) $(gtk_use_quartz_c_sources) $(gtk_use_stub_c_sources)
850 if USE_X11
851 gtk_private_h_sources +=        \
852         gtkxembed.h             \
853         gtktrayicon.h           \
854         xembed.h
855 gtk_c_sources += $(gtk_use_x11_c_sources)
856 else
857 if USE_WIN32
858 gtk_private_h_sources +=        \
859         gtkwin32embed.h         \
860         gtkwin32embedwidget.h
861 gtk_c_sources += $(gtk_use_win32_c_sources)
862 else
863 if USE_QUARTZ
864 gtk_private_h_sources +=        \
865         gtksearchenginequartz.h \
866         gtkmenuquartz.h \
867         gtkquartz.h
868 gtk_c_sources += $(gtk_use_quartz_c_sources)
869 libgtk_3_la_CFLAGS = "-xobjective-c"
870
871 else
872 gtk_c_sources += $(gtk_use_stub_c_sources)
873 endif
874 endif
875 endif
876
877 if USE_QUARTZ
878 gtk_clipboard_dnd_c_sources =   \
879         gtkclipboard-quartz.c   \
880         gtkdnd-quartz.c
881 else
882 if USE_WAYLAND
883 # No wayland gtkdnd-wayland.c yet
884 gtk_clipboard_dnd_c_sources =   \
885         gtkclipboard-wayland.c \
886         gtkdnd.c
887 else
888 gtk_clipboard_dnd_c_sources = gtkclipboard.c gtkdnd.c
889 endif
890 endif
891
892 # we use our own built_sources variable rules to avoid automake's
893 # BUILT_SOURCES oddities
894 # we generate frequently rebuild files piggyback on a stamp file, so sources
895 # depending on them only get rebuild when the built source actually changed
896 # content
897
898 # built sources that get installed with the header files
899 gtk_built_public_sources =                      \
900         gtktypebuiltins.h
901
902 # built headers that don't get installed
903 gtk_built_private_headers =                     \
904         gtkresources.h                          \
905         gtkmarshalers.h                         \
906         gtkbuiltincache.h                       \
907         gtkprivatetypebuiltins.h
908
909 gtk_built_sources =                             \
910         gtkresources.c                          \
911         gtktypebuiltins.c                       \
912         gtktypefuncs.c                          \
913         gtkmarshalers.c                         \
914         gtkprivatetypebuiltins.c                \
915         ${gtk_built_private_headers}            \
916         ${gtk_built_public_sources}
917
918 stamp_files =                                   \
919         stamp-gtkmarshalers.h                   \
920         stamp-gtktypebuiltins.h                 \
921         stamp-gtkprivatetypebuiltins.h          \
922         stamp-icons
923
924 # non-header sources (headers should be specified in the above variables)
925 # that don't serve as direct make target sources, i.e. they don't have
926 # their own .lo rules and don't get publically installed
927 gtk_extra_sources =                             \
928         paper_names.c                           \
929         paper_names_offsets.c                   \
930         gen-paper-names.c                       \
931         gtkstatusicon-quartz.c                  \
932         gtk.symbols                             \
933         gtk-win32.css                           \
934         gtkversion.h.in                         \
935         gtkmarshalers.list                      \
936         fallback-c89.c
937
938 #
939 # setup GTK+ sources and their dependencies
940 #
941 MAINTAINERCLEANFILES = \
942         $(gtk_built_sources)                    \
943         $(stamp_files)                          \
944         $(GENERATED_ICONS)                      \
945         stock-icons/icon-theme.cache
946
947 EXTRA_HEADERS =
948 EXTRA_DIST += $(gtk_private_h_sources) $(gtk_extra_sources)
949 EXTRA_DIST += $(gtk_built_sources)
950 EXTRA_DIST += $(STOCK_ICONS)
951
952
953 pkgdatadir=$(datadir)/gtk-$(GTK_API_VERSION)
954 pkgdata_DATA = gtkbuilder.rng
955
956 EXTRA_DIST += gtkbuilder.rnc gtkbuilder.rng
957
958 DND_CURSORS = \
959         cursor_dnd_ask.png                              \
960         cursor_dnd_copy.png                             \
961         cursor_dnd_link.png                             \
962         cursor_dnd_move.png                             \
963         cursor_dnd_none.png
964
965 #
966 # rules to generate built sources
967 #
968 # setup autogeneration dependencies
969 gen_sources = xgen-gdef xgen-gtbh xgen-gtic xgen-gmh xgen-gmc xgen-gmlh xgen-gmlc xgen-gtfsrc.c xgen-gtf
970 CLEANFILES = $(gen_sources)
971
972 BUILT_SOURCES = $(gtk_built_sources) stamp-icons
973
974 # all autogenerated files need to be generated in the srcdir,
975 # so old versions get remade and are not confused with newer
976 # versions in the build dir. thus a development setup requires
977 # srcdir to be writable, passing --disable-rebuilds to
978 # ../configure will supress all autogeneration rules.
979 gtkmarshalers.h: stamp-gtkmarshalers.h
980         @true
981 stamp-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list
982         $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --header >> xgen-gmlh \
983         && (cmp -s xgen-gmlh gtkmarshalers.h || cp xgen-gmlh gtkmarshalers.h) \
984         && rm -f xgen-gmlh \
985         && echo timestamp > $(@F)
986 gtkmarshalers.c: @REBUILD@ gtkmarshalers.list
987         $(AM_V_GEN) (echo "#include \"gtkmarshalers.h\""; \
988          $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --body) >> xgen-gmlc \
989         && cp xgen-gmlc gtkmarshalers.c \
990         && rm -f xgen-gmlc
991
992 gtktypebuiltins.h: stamp-gtktypebuiltins.h
993         @true
994 stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) $(deprecated_h_sources) gtktypebuiltins.h.template
995         $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.h.template \
996                 $(gtk_public_h_sources) $(deprecated_h_sources) ) > xgen-gtbh \
997         && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h ) \
998         && rm -f xgen-gtbh \
999         && echo timestamp > $(@F)
1000 gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) $(deprecated_h_sources) gtktypebuiltins.c.template
1001         $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.c.template \
1002                 $(gtk_public_h_sources) $(deprecated_h_sources) ) > xgen-gtbc \
1003         && cp xgen-gtbc gtktypebuiltins.c  \
1004         && rm -f xgen-gtbc
1005
1006 gtkresources.h: gtk.gresource.xml
1007         $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/gtk.gresource.xml \
1008                 --target=$@ --sourcedir=$(srcdir) --c-name _gtk --generate-header --manual-register
1009 gtkresources.c: gtk.gresource.xml gtk-default.css gtk-win32.css $(DND_CURSORS)
1010         $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/gtk.gresource.xml \
1011                 --target=$@ --sourcedir=$(srcdir) --c-name _gtk --generate-source --manual-register
1012
1013 gtkprivatetypebuiltins.h: stamp-gtkprivatetypebuiltins.h
1014         @true
1015 stamp-gtkprivatetypebuiltins.h: @REBUILD@ $(gtk_private_type_h_sources) gtkprivatetypebuiltins.h.template
1016         $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtkprivatetypebuiltins.h.template \
1017                 $(gtk_private_type_h_sources) ) > xgen-gptbh \
1018         && (cmp -s xgen-gptbh gtkprivatetypebuiltins.h || cp xgen-gptbh gtkprivatetypebuiltins.h ) \
1019         && rm -f xgen-gptbh \
1020         && echo timestamp > $(@F)
1021 gtkprivatetypebuiltins.c: @REBUILD@ $(gtk_private_type_h_sources)  gtkprivatetypebuiltins.c.template
1022         $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtkprivatetypebuiltins.c.template \
1023                 $(gtk_private_type_h_sources) ) > xgen-gptbc \
1024         && cp xgen-gptbc gtkprivatetypebuiltins.c  \
1025         && rm -f xgen-gptbc
1026
1027
1028 gtktypefuncs.c: @REBUILD@ stamp-gtktypebuiltins.h stamp-gtkprivatetypebuiltins.h $(top_srcdir)/gtk/*.h $(top_srcdir)/gtk/deprecated/*.h $(top_srcdir)/gdk/*.h Makefile
1029         $(AM_V_GEN) echo '#include <gtk/gtkx.h>' > xgen-gtfsrc.c && \
1030           ${CPP} $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \
1031           $(GREP) -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \
1032           sort | uniq | \
1033           $(SED) '{ s/^/*tp++ = /; s/$$/();/; s/^.*\(gdk_x11\|gtk_plug_\|gtk_socket_\).*$$/#ifdef GDK_WINDOWING_X11\n&\n#endif/; }' > xgen-gtf \
1034         && cp xgen-gtf $@ && rm -f xgen-gtf
1035 gtktestutils.c: gtktypefuncs.c
1036
1037 # target platform:
1038 lib_LTLIBRARIES = libgtk-3.la
1039
1040 gtkincludedir = $(includedir)/gtk-3.0/gtk
1041 gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_semi_private_h_sources) $(gtk_built_public_sources) gtkversion.h
1042
1043 deprecatedincludedir = $(includedir)/gtk-3.0/gtk/deprecated
1044 deprecatedinclude_HEADERS= $(deprecated_h_sources)
1045
1046 gtkunixprintincludedir = $(includedir)/gtk-3.0/unix-print/gtk
1047 gtkunixprintinclude_HEADERS = $(gtk_unix_print_public_h_sources)
1048
1049 libgtk_3_la_SOURCES = $(gtk_c_sources)
1050 libgtk_3_la_LDFLAGS = $(libtool_opts)
1051 libgtk_3_la_LIBADD = $(libadd)
1052 libgtk_3_la_DEPENDENCIES = $(deps)
1053
1054 if USE_WIN32
1055 libgtk_3_la_LIBADD += -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32
1056 libgtk_3_la_LDFLAGS += -Wl,-luuid
1057 libgtk_3_la_DEPENDENCIES += $(gtk_def) $(gtk_win32_res) $(deps)
1058 libgtk_target_ldflags = $(gtk_win32_res_ldflag) $(gtk_win32_symbols)
1059 endif
1060
1061 install-exec-hook:
1062 if DISABLE_EXPLICIT_DEPS
1063         $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/libgtk-3.la
1064 endif
1065
1066 if USE_QUARTZ
1067 install-mac-key-theme:
1068         $(mkdir_p) $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0
1069         $(INSTALL_DATA) $(srcdir)/gtk-keys.css.mac $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0/gtk-keys.css
1070 uninstall-mac-key-theme:
1071         rm -f $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0/gtk-keys.css
1072 else
1073 install-mac-key-theme:
1074 uninstall-mac-key-theme:
1075 endif
1076
1077 dist-hook: ../build/win32/vs9/gtk.vcproj ../build/win32/vs10/gtk.vcxproj ../build/win32/vs10/gtk.vcxproj.filters
1078
1079 ../build/win32/vs9/gtk.vcproj: ../build/win32/vs9/gtk.vcprojin
1080         for F in `echo $(gtk_base_c_sources) $(gtk_os_win32_c_sources) $(gtk_use_win32_c_sources) | tr '/' '\\'`; do \
1081                 case $$F in \
1082                 *.c) echo '   <File RelativePath="..\..\..\gtk\'$$F'" />' \
1083                      ;; \
1084                 esac; \
1085         done >libgtk.sourcefiles
1086         $(CPP) -P - <$(top_srcdir)/build/win32/vs9/gtk.vcprojin >$@
1087         rm libgtk.sourcefiles
1088
1089 ../build/win32/vs10/gtk.vcxproj: ../build/win32/vs10/gtk.vcxprojin
1090         for F in `echo $(gtk_base_c_sources) $(gtk_os_win32_c_sources) $(gtk_use_win32_c_sources) | tr '/' '\\'`; do \
1091                 case $$F in \
1092                 *.c) echo '   <ClCompile Include="..\..\..\gtk\'$$F'" />' \
1093                      ;; \
1094                 esac; \
1095         done >libgtk.vs10.sourcefiles
1096         $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gtk.vcxprojin >$@
1097         rm libgtk.vs10.sourcefiles
1098
1099 ../build/win32/vs10/gtk.vcxproj.filters: ../build/win32/vs10/gtk.vcxproj.filtersin
1100         for F in `echo $(gtk_base_c_sources) $(gtk_os_win32_c_sources) $(gtk_use_win32_c_sources) | tr '/' '\\'`; do \
1101                 case $$F in \
1102                 *.c) echo '   <ClCompile Include="..\..\..\gtk\'$$F'"><Filter>Source Files</Filter></ClCompile>' \
1103                      ;; \
1104                 esac; \
1105         done >libgtk.vs10.sourcefiles.filters
1106         $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gtk.vcxproj.filtersin >$@
1107         rm libgtk.vs10.sourcefiles.filters
1108
1109 # Install a RC file for the default GTK+ theme, and key themes
1110 install-data-local: install-ms-lib install-def-file install-mac-key-theme
1111         $(mkdir_p) $(DESTDIR)$(datadir)/themes/Raleigh/gtk-3.0
1112         $(INSTALL_DATA) $(srcdir)/gtk.css.raleigh $(DESTDIR)$(datadir)/themes/Raleigh/gtk-3.0/gtk.css
1113         $(mkdir_p) $(DESTDIR)$(datadir)/themes/Default/gtk-3.0
1114         $(INSTALL_DATA) $(srcdir)/gtk-keys.css.default $(DESTDIR)$(datadir)/themes/Default/gtk-3.0/gtk-keys.css
1115         $(mkdir_p) $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0
1116         $(INSTALL_DATA) $(srcdir)/gtk-keys.css.emacs $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0/gtk-keys.css
1117
1118 uninstall-local: uninstall-ms-lib uninstall-def-file uninstall-mac-key-theme
1119         rm -f $(DESTDIR)$(datadir)/themes/Raleigh/gtk-3.0/gtk.css
1120         rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-3.0/gtk-keys.css
1121         rm -f $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0/gtk-keys.css
1122
1123 # if srcdir!=builddir, clean out maintainer-clean files from builddir
1124 # this allows dist to pass.
1125 distclean-local:
1126         if test $(srcdir) != .; then \
1127           rm -f $(MAINTAINERCLEANFILES); \
1128           rm -rf stock-icons; \
1129         fi
1130
1131 DEPS = libgtk-3.la $(top_builddir)/gdk/libgdk-3.la
1132
1133 TEST_DEPS = $(DEPS) immodules.cache
1134
1135 LDADDS =                                                                \
1136         libgtk-3.la                                                     \
1137         $(top_builddir)/gdk/libgdk-3.la                         \
1138         $(GTK_DEP_LIBS)
1139
1140 if HAVE_INTROSPECTION
1141 introspection_files = \
1142     $(filter-out %private.h gtktextdisplay.h gtktextlayout.h, $(gtkinclude_HEADERS) $(deprecatedinclude_HEADERS)) \
1143     $(gtk_base_c_sources) \
1144     gtkprintoperation-unix.c \
1145     gtktypebuiltins.h \
1146     gtktypebuiltins.c
1147
1148 if USE_X11
1149 introspection_files += \
1150     gtksocket.c \
1151     gtkplug.c
1152 endif
1153
1154 Gtk-3.0.gir: $(INTROSPECTION_SCANNER) libgtk-3.la $(top_builddir)/gdk/Gdk-3.0.gir Makefile
1155 Gtk_3_0_gir_SCANNERFLAGS =                      \
1156         --add-include-path=$(top_builddir)/gdk  \
1157         --include-uninstalled=$(top_builddir)/gdk/Gdk-3.0.gir
1158 Gtk_3_0_gir_INCLUDES = Atk-1.0
1159 if USE_X11
1160 Gtk_3_0_gir_SCANNERFLAGS += --add-include-path=$(top_builddir)/gdk/x11
1161 Gtk_3_0_gir_INCLUDES += xlib-2.0
1162 endif
1163 Gtk_3_0_gir_SCANNERFLAGS += --c-include="gtk/gtkx.h"
1164 Gtk_3_0_gir_CFLAGS = \
1165                 $(AM_CPPFLAGS) \
1166                 -DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API
1167 Gtk_3_0_gir_LIBS = libgtk-3.la $(top_builddir)/gdk/libgdk-3.la
1168 Gtk_3_0_gir_FILES = $(introspection_files)
1169 Gtk_3_0_gir_EXPORT_PACKAGES = gtk+-3.0
1170 INTROSPECTION_GIRS += Gtk-3.0.gir
1171
1172 girdir = $(datadir)/gir-1.0
1173 gir_DATA = $(INTROSPECTION_GIRS)
1174
1175 typelibsdir = $(libdir)/girepository-1.0
1176 typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
1177
1178 CLEANFILES += $(gir_DATA) $(typelibs_DATA)
1179 endif
1180
1181 #
1182 # Installed tools
1183 #
1184 bin_PROGRAMS = \
1185         gtk-query-immodules-3.0
1186
1187 if BUILD_ICON_CACHE
1188 bin_PROGRAMS += gtk-update-icon-cache
1189
1190 if OS_WIN32
1191
1192 # Workaround for UAC silliness: programs with "update" in their name
1193 # are believed to be installers and require elevated privileges to be
1194 # used... Use a manifest file to tell Windows that
1195 # gtk-update-icon-cache.exe doesn't require any special privileges.
1196
1197 GTK_UPDATE_ICON_CACHE_MANIFEST = gtk-update-icon-cache.exe.manifest
1198
1199 bin_SCRIPTS = $(GTK_UPDATE_ICON_CACHE_MANIFEST)
1200
1201 $(GTK_UPDATE_ICON_CACHE_MANIFEST):
1202         (echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' ; \
1203          echo '<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">' ; \
1204          echo '  <assemblyIdentity version="1.0.0.0"' ; \
1205          echo '     processorArchitecture="'$(EXE_MANIFEST_ARCHITECTURE)'"' ; \
1206          echo '     name="gtk-update-icon-cache.exe"' ; \
1207          echo '     type="win32"/>' ; \
1208          echo '  <!-- Identify the application security requirements. -->' ; \
1209          echo '  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">' ; \
1210          echo '    <security>' ; \
1211          echo '      <requestedPrivileges>' ; \
1212          echo '        <requestedExecutionLevel' ; \
1213          echo '          level="asInvoker"' ; \
1214          echo '          uiAccess="false"/>' ; \
1215          echo '        </requestedPrivileges>' ; \
1216          echo '       </security>' ; \
1217          echo '  </trustInfo>' ; \
1218          echo '</assembly>' ) >$@
1219
1220 endif
1221 endif
1222
1223 gtk_query_immodules_3_0_DEPENDENCIES = $(DEPS)
1224 gtk_query_immodules_3_0_LDADD = $(LDADDS) $(GMODULE_LIBS)
1225 gtk_query_immodules_3_0_SOURCES = queryimmodules.c
1226
1227 if BUILD_ICON_CACHE
1228 gtk_update_icon_cache_LDADD = $(GDK_PIXBUF_LIBS)
1229 gtk_update_icon_cache_SOURCES = updateiconcache.c
1230 endif
1231
1232 .PHONY: files test test-debug
1233
1234 files:
1235         @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
1236           echo $$p; \
1237         done
1238
1239 STOCK_ICONS = \
1240         stock-icons/16/document-open-recent.png         \
1241         stock-icons/16/help-about.png                   \
1242         stock-icons/16/list-add.png                     \
1243         stock-icons/16/media-optical.png                \
1244         stock-icons/16/window-close.png                 \
1245         stock-icons/16/gtk-connect.png                  \
1246         stock-icons/16/gtk-convert.png                  \
1247         stock-icons/16/edit-clear.png                   \
1248         stock-icons/16/edit-copy.png                    \
1249         stock-icons/16/edit-cut.png                     \
1250         stock-icons/16/edit-delete.png                  \
1251         stock-icons/16/folder.png                       \
1252         stock-icons/16/gtk-disconnect.png               \
1253         stock-icons/16/gtk-edit.png                     \
1254         stock-icons/16/system-run.png                   \
1255         stock-icons/16/text-x-generic.png               \
1256         stock-icons/16/edit-find-replace.png            \
1257         stock-icons/16/edit-find.png                    \
1258         stock-icons/16/media-floppy.png                 \
1259         stock-icons/16/view-fullscreen.png              \
1260         stock-icons/16/go-previous-ltr.png              \
1261         stock-icons/16/go-down.png                      \
1262         stock-icons/16/go-next-ltr.png                  \
1263         stock-icons/16/go-bottom.png                    \
1264         stock-icons/16/go-first-ltr.png                 \
1265         stock-icons/16/go-last-ltr.png                  \
1266         stock-icons/16/go-top.png                       \
1267         stock-icons/16/go-up.png                        \
1268         stock-icons/16/gtk-caps-lock-warning.png        \
1269         stock-icons/16/gtk-color-picker.png             \
1270         stock-icons/16/drive-harddisk.png               \
1271         stock-icons/16/help-contents.png                \
1272         stock-icons/16/go-home.png                      \
1273         stock-icons/16/format-indent-more-ltr.png       \
1274         stock-icons/16/format-indent-more-rtl.png       \
1275         stock-icons/16/gtk-index.png                    \
1276         stock-icons/16/dialog-information.png           \
1277         stock-icons/16/go-jump-ltr.png                  \
1278         stock-icons/16/go-jump-rtl.png                  \
1279         stock-icons/16/format-justify-center.png        \
1280         stock-icons/16/format-justify-fill.png          \
1281         stock-icons/16/format-justify-left.png          \
1282         stock-icons/16/format-justify-right.png         \
1283         stock-icons/16/view-restore.png                 \
1284         stock-icons/16/media-seek-forward-ltr.png       \
1285         stock-icons/16/media-skip-forward-ltr.png       \
1286         stock-icons/16/media-playback-pause.png         \
1287         stock-icons/16/media-playback-start-ltr.png     \
1288         stock-icons/16/media-playback-start-rtl.png     \
1289         stock-icons/16/media-skip-backward-ltr.png      \
1290         stock-icons/16/media-record.png                 \
1291         stock-icons/16/media-seek-backward-ltr.png      \
1292         stock-icons/16/media-playback-stop.png          \
1293         stock-icons/16/image-missing.png                \
1294         stock-icons/16/network-idle.png                 \
1295         stock-icons/16/document-new.png                 \
1296         stock-icons/16/document-open.png                \
1297         stock-icons/16/gtk-orientation-landscape.png    \
1298         stock-icons/16/gtk-orientation-portrait.png     \
1299         stock-icons/16/gtk-orientation-reverse-landscape.png \
1300         stock-icons/16/gtk-orientation-reverse-portrait.png \
1301         stock-icons/16/gtk-page-setup.png               \
1302         stock-icons/16/edit-paste.png                   \
1303         stock-icons/16/gtk-preferences.png              \
1304         stock-icons/16/document-print.png               \
1305         stock-icons/16/printer-error.png                \
1306         stock-icons/16/printer-paused.png               \
1307         stock-icons/16/document-print-preview.png       \
1308         stock-icons/16/printer-info.png                 \
1309         stock-icons/16/printer-warning.png              \
1310         stock-icons/16/document-properties.png          \
1311         stock-icons/16/application-exit.png             \
1312         stock-icons/16/edit-redo-ltr.png                \
1313         stock-icons/16/edit-redo-rtl.png                \
1314         stock-icons/16/view-refresh.png                 \
1315         stock-icons/16/list-remove.png                  \
1316         stock-icons/16/document-revert-ltr.png          \
1317         stock-icons/16/document-revert-rtl.png          \
1318         stock-icons/16/document-save-as.png             \
1319         stock-icons/16/edit-select-all.png              \
1320         stock-icons/16/gtk-select-color.png             \
1321         stock-icons/16/gtk-select-font.png              \
1322         stock-icons/16/view-sort-ascending.png          \
1323         stock-icons/16/view-sort-descending.png         \
1324         stock-icons/16/tools-check-spelling.png         \
1325         stock-icons/16/process-stop.png                 \
1326         stock-icons/16/format-text-strikethrough.png    \
1327         stock-icons/16/gtk-font.png                     \
1328         stock-icons/16/gtk-undelete-ltr.png             \
1329         stock-icons/16/gtk-undelete-rtl.png             \
1330         stock-icons/16/format-text-underline.png        \
1331         stock-icons/16/edit-undo-ltr.png                \
1332         stock-icons/16/edit-undo-rtl.png                \
1333         stock-icons/16/format-indent-less-ltr.png       \
1334         stock-icons/16/format-indent-less-rtl.png       \
1335         stock-icons/16/zoom-original.png                \
1336         stock-icons/16/zoom-fit-best.png                \
1337         stock-icons/16/zoom-in.png                      \
1338         stock-icons/16/zoom-out.png                     \
1339         stock-icons/16/format-text-italic.png           \
1340         stock-icons/16/format-text-bold.png             \
1341         stock-icons/20/gtk-apply.png                    \
1342         stock-icons/20/gtk-cancel.png                   \
1343         stock-icons/20/window-close.png                 \
1344         stock-icons/20/gtk-no.png                       \
1345         stock-icons/20/gtk-ok.png                       \
1346         stock-icons/20/gtk-yes.png                      \
1347         stock-icons/24/audio-volume-high.png            \
1348         stock-icons/24/audio-volume-low.png             \
1349         stock-icons/24/audio-volume-medium.png          \
1350         stock-icons/24/audio-volume-muted.png           \
1351         stock-icons/24/document-open-recent.png         \
1352         stock-icons/24/help-about.png                   \
1353         stock-icons/24/list-add.png                     \
1354         stock-icons/24/format-text-bold.png             \
1355         stock-icons/24/media-optical.png                \
1356         stock-icons/24/edit-clear.png                   \
1357         stock-icons/24/window-close.png                 \
1358         stock-icons/24/gtk-caps-lock-warning.png        \
1359         stock-icons/24/gtk-color-picker.png             \
1360         stock-icons/24/gtk-connect.png                  \
1361         stock-icons/24/gtk-convert.png                  \
1362         stock-icons/24/edit-copy.png                    \
1363         stock-icons/24/edit-cut.png                     \
1364         stock-icons/24/folder.png                       \
1365         stock-icons/24/gtk-disconnect.png               \
1366         stock-icons/24/gtk-edit.png                     \
1367         stock-icons/24/system-run.png                   \
1368         stock-icons/24/text-x-generic.png               \
1369         stock-icons/24/edit-find-replace.png            \
1370         stock-icons/24/edit-find.png                    \
1371         stock-icons/24/gtk-font.png                     \
1372         stock-icons/24/view-fullscreen.png              \
1373         stock-icons/24/go-previous-ltr.png              \
1374         stock-icons/24/go-top.png                       \
1375         stock-icons/24/go-down.png                      \
1376         stock-icons/24/go-bottom.png                    \
1377         stock-icons/24/go-first-ltr.png                 \
1378         stock-icons/24/go-last-ltr.png                  \
1379         stock-icons/24/go-up.png                        \
1380         stock-icons/24/drive-harddisk.png               \
1381         stock-icons/24/help-contents.png                \
1382         stock-icons/24/go-home.png                      \
1383         stock-icons/24/format-indent-more-ltr.png       \
1384         stock-icons/24/format-indent-more-rtl.png       \
1385         stock-icons/24/gtk-index.png                    \
1386         stock-icons/24/dialog-information.png           \
1387         stock-icons/24/format-text-italic.png           \
1388         stock-icons/24/go-jump-ltr.png                  \
1389         stock-icons/24/go-jump-rtl.png                  \
1390         stock-icons/24/format-justify-center.png        \
1391         stock-icons/24/format-justify-fill.png          \
1392         stock-icons/24/format-justify-left.png          \
1393         stock-icons/24/format-justify-right.png         \
1394         stock-icons/24/view-restore.png                 \
1395         stock-icons/24/media-seek-forward-ltr.png       \
1396         stock-icons/24/media-skip-forward-ltr.png       \
1397         stock-icons/24/media-playback-pause.png         \
1398         stock-icons/24/media-playback-start-ltr.png     \
1399         stock-icons/24/media-playback-start-rtl.png     \
1400         stock-icons/24/media-skip-backward-ltr.png      \
1401         stock-icons/24/media-record.png                 \
1402         stock-icons/24/media-seek-backward-ltr.png      \
1403         stock-icons/24/media-playback-stop.png          \
1404         stock-icons/24/image-missing.png                \
1405         stock-icons/24/network-idle.png                 \
1406         stock-icons/24/document-new.png                 \
1407         stock-icons/24/document-open.png                \
1408         stock-icons/24/gtk-orientation-reverse-landscape.png \
1409         stock-icons/24/gtk-orientation-landscape.png    \
1410         stock-icons/24/gtk-orientation-reverse-portrait.png \
1411         stock-icons/24/gtk-orientation-portrait.png     \
1412         stock-icons/24/gtk-page-setup.png               \
1413         stock-icons/24/edit-paste.png                   \
1414         stock-icons/24/gtk-preferences.png              \
1415         stock-icons/24/document-print.png               \
1416         stock-icons/24/printer-error.png                \
1417         stock-icons/24/printer-paused.png               \
1418         stock-icons/24/document-print-preview.png       \
1419         stock-icons/24/printer-info.png                 \
1420         stock-icons/24/printer-warning.png              \
1421         stock-icons/24/document-properties.png          \
1422         stock-icons/24/application-exit.png             \
1423         stock-icons/24/edit-redo-ltr.png                \
1424         stock-icons/24/edit-redo-rtl.png                \
1425         stock-icons/24/view-refresh.png                 \
1426         stock-icons/24/list-remove.png                  \
1427         stock-icons/24/document-revert-ltr.png          \
1428         stock-icons/24/document-revert-rtl.png          \
1429         stock-icons/24/gtk-select-font.png              \
1430         stock-icons/24/document-save-as.png             \
1431         stock-icons/24/media-floppy.png                 \
1432         stock-icons/24/edit-select-all.png              \
1433         stock-icons/24/gtk-select-color.png             \
1434         stock-icons/24/view-sort-ascending.png          \
1435         stock-icons/24/view-sort-descending.png         \
1436         stock-icons/24/tools-check-spelling.png         \
1437         stock-icons/24/process-stop.png                 \
1438         stock-icons/24/format-text-strikethrough.png    \
1439         stock-icons/24/edit-delete.png                  \
1440         stock-icons/24/gtk-undelete-ltr.png             \
1441         stock-icons/24/gtk-undelete-rtl.png             \
1442         stock-icons/24/format-text-underline.png        \
1443         stock-icons/24/edit-undo-ltr.png                \
1444         stock-icons/24/edit-undo-rtl.png                \
1445         stock-icons/24/format-indent-less-ltr.png       \
1446         stock-icons/24/format-indent-less-rtl.png       \
1447         stock-icons/24/zoom-original.png                \
1448         stock-icons/24/zoom-fit-best.png                \
1449         stock-icons/24/zoom-in.png                      \
1450         stock-icons/24/zoom-out.png                     \
1451         stock-icons/24/go-next-ltr.png                  \
1452         stock-icons/32/gtk-dnd-multiple.png             \
1453         stock-icons/32/gtk-dnd.png                      \
1454         stock-icons/48/dialog-password.png              \
1455         stock-icons/48/dialog-error.png                 \
1456         stock-icons/48/dialog-information.png           \
1457         stock-icons/48/dialog-question.png              \
1458         stock-icons/48/dialog-warning.png
1459
1460 GENERATED_ICONS = \
1461         stock-icons/16/go-previous-rtl.png              \
1462         stock-icons/16/go-next-rtl.png                  \
1463         stock-icons/16/go-first-rtl.png                 \
1464         stock-icons/16/go-last-rtl.png                  \
1465         stock-icons/16/media-seek-forward-rtl.png       \
1466         stock-icons/16/media-skip-forward-rtl.png       \
1467         stock-icons/16/media-skip-backward-rtl.png      \
1468         stock-icons/16/media-seek-backward-rtl.png      \
1469         stock-icons/16/document-save.png                \
1470         stock-icons/16/folder-remote.png                \
1471         stock-icons/16/user-home.png                    \
1472         stock-icons/16/user-desktop.png                 \
1473         stock-icons/24/go-previous-rtl.png              \
1474         stock-icons/24/go-next-rtl.png                  \
1475         stock-icons/24/go-first-rtl.png                 \
1476         stock-icons/24/go-last-rtl.png                  \
1477         stock-icons/24/media-seek-forward-rtl.png       \
1478         stock-icons/24/media-skip-forward-rtl.png       \
1479         stock-icons/24/media-skip-backward-rtl.png      \
1480         stock-icons/24/media-seek-backward-rtl.png      \
1481         stock-icons/24/document-save.png                \
1482         stock-icons/24/folder-remote.png                \
1483         stock-icons/24/user-home.png                    \
1484         stock-icons/24/user-desktop.png
1485
1486 # need to copy the icons so that we can replace the generated ones with
1487 # symlinks, even in the readonly srcdir case
1488 stamp-icons: $(STOCK_ICONS)
1489         $(AM_V_GEN) if [ ! -d stock-icons ]; then                       \
1490           for d in 16 20 24 32 48; do                                   \
1491             mkdir -p stock-icons/$$d;                                   \
1492           done;                                                         \
1493           for f in $(STOCK_ICONS); do                                   \
1494             cp $(srcdir)/$$f $$(dirname $$f);                           \
1495           done;                                                         \
1496           chmod -R u+w stock-icons;                                     \
1497         fi &&                                                           \
1498         for i in 16 24; do                                              \
1499            (cd stock-icons/$$i                                          \
1500            && $(RM) go-previous-rtl.png                                 \
1501            && $(LN_S) go-next-ltr.png go-previous-rtl.png               \
1502            && $(RM) go-next-rtl.png                                     \
1503            && $(LN_S) go-previous-ltr.png go-next-rtl.png               \
1504            && $(RM) go-first-rtl.png                                    \
1505            && $(LN_S) go-last-ltr.png go-first-rtl.png                  \
1506            && $(RM) go-last-rtl.png                                     \
1507            && $(LN_S) go-first-ltr.png go-last-rtl.png                  \
1508            && $(RM) media-seek-forward-rtl.png                          \
1509            && $(LN_S) media-seek-backward-ltr.png media-seek-forward-rtl.png \
1510            && $(RM) media-skip-forward-rtl.png                          \
1511            && $(LN_S) media-skip-backward-ltr.png media-skip-forward-rtl.png \
1512            && $(RM) media-skip-backward-rtl.png                         \
1513            && $(LN_S) media-skip-forward-ltr.png media-skip-backward-rtl.png \
1514            && $(RM) media-seek-backward-rtl.png                         \
1515            && $(LN_S) media-seek-forward-ltr.png media-seek-backward-rtl.png \
1516            && $(RM) document-save.png                                   \
1517            && $(LN_S) media-floppy.png document-save.png                \
1518            && $(RM) folder-remote.png                                   \
1519            && $(LN_S) folder.png folder-remote.png                      \
1520            && $(RM) user-home.png                                       \
1521            && $(LN_S) folder.png user-home.png                          \
1522            && $(RM) user-desktop.png                                    \
1523            && $(LN_S) folder.png user-desktop.png                       \
1524         ) done                                                          \
1525         && touch stamp-icons
1526
1527 if USE_EXTERNAL_ICON_CACHE
1528 gtk_update_icon_cache_program = $(GTK_UPDATE_ICON_CACHE)
1529 else
1530 gtk_update_icon_cache_program = ./gtk-update-icon-cache
1531 endif
1532
1533 gtkbuiltincache.h: @REBUILD@ stamp-icons
1534 if !USE_EXTERNAL_ICON_CACHE
1535         $(AM_V_at) $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST)
1536 endif
1537         $(AM_V_GEN) $(gtk_update_icon_cache_program) --quiet --force --ignore-theme-index               \
1538            --source builtin_icons stock-icons > gtkbuiltincache.h.tmp &&        \
1539         mv gtkbuiltincache.h.tmp gtkbuiltincache.h
1540
1541 EXTRA_DIST +=                   \
1542         $(STOCK_ICONS)          \
1543         $(DND_CURSORS)          \
1544         $(GENERATED_ICONS)      \
1545         gtk.def                 \
1546         gtk-win32.rc            \
1547         gtk-win32.rc.in         \
1548         gtkwin32embed.h         \
1549         gtkwin32embedwidget.h   \
1550         gtkwin32embedwidget.c   \
1551         gtkprint-win32.h        \
1552         gtkprint-win32.c        \
1553         gtksearchenginequartz.h \
1554         gtk.css.raleigh         \
1555         gtk.gresource.xml       \
1556         gtk-default.css         \
1557         gtk-keys.css.default    \
1558         gtk-keys.css.emacs      \
1559         gtk-keys.css.mac        \
1560         makefile.msc            \
1561         makefile.msc.in         \
1562         abicheck.sh             \
1563         gtktypebuiltins.c.template \
1564         gtktypebuiltins.h.template \
1565         gtkprivatetypebuiltins.c.template \
1566         gtkprivatetypebuiltins.h.template \
1567         org.gtk.Settings.FileChooser.gschema.xml
1568
1569 gsettings_SCHEMAS = \
1570         org.gtk.Settings.FileChooser.gschema.xml
1571
1572 @GSETTINGS_RULES@
1573
1574 install-data-local:
1575
1576 -include $(top_srcdir)/git.mk