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