1 # Makefile.am for gtk+/gtk
2 include $(top_srcdir)/Makefile.decl
3 include $(INTROSPECTION_MAKEFILE)
5 INTROSPECTION_SCANNER_ARGS = \
6 --add-include-path=../gdk-pixbuf \
7 --add-include-path=../gdk
8 INTROSPECTION_COMPILER_ARGS = \
9 --includedir=$(srcdir) \
11 --includedir=../gdk-pixbuf \
15 GTK_PRINT_PREVIEW_COMMAND="open -a /Applications/Preview.app %f"
17 GTK_PRINT_PREVIEW_COMMAND="evince --unlink-tempfile --preview --print-settings %s %f"
20 SUBDIRS = theme-bits . tests
21 DIST_SUBDIRS=theme-bits tests
24 GTK_PRINT_BACKENDS=file,papi,cups
27 GTK_PRINT_BACKENDS=file,cups
30 GTK_PRINT_BACKENDS=file,papi
32 GTK_PRINT_BACKENDS=file,lpr
38 -DG_LOG_DOMAIN=\"Gtk\" \
39 -DGTK_LIBDIR=\"$(libdir)\" \
40 -DGTK_DATADIR=\"$(datadir)\" \
41 -DGTK_DATA_PREFIX=\"$(prefix)\" \
42 -DGTK_SYSCONFDIR=\"$(sysconfdir)\" \
43 -DGTK_VERSION=\"$(GTK_VERSION)\" \
44 -DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\" \
45 -DGTK_HOST=\"$(host)\" \
47 -DGTK_PRINT_BACKENDS=\"$(GTK_PRINT_BACKENDS)\" \
48 -DGTK_PRINT_PREVIEW_COMMAND=\"$(GTK_PRINT_PREVIEW_COMMAND)\" \
50 -I$(top_builddir)/gtk \
51 -I$(top_srcdir) -I../gdk \
53 -I$(top_srcdir)/gdk-pixbuf -I../gdk-pixbuf \
54 -DGDK_DISABLE_DEPRECATED \
55 -DGTK_DISABLE_DEPRECATED \
56 -DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED \
57 -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED \
60 $(gtk_clipboard_dnd_c_sources_CFLAGS) \
61 $(INCLUDED_IMMODULE_DEFINE)
66 no_undefined = -no-undefined
71 gtk_win32_symbols = -export-symbols $(srcdir)/gtk.def
73 gtk_win32_res = gtk-win32-res.o
74 gtk_win32_res_ldflag = -Wl,gtk-win32-res.o
76 gtk-win32-res.o : gtk-win32.rc
77 $(WINDRES) gtk-win32.rc $@
79 install-def-file: gtk.def
80 $(INSTALL) $(srcdir)/gtk.def $(DESTDIR)$(libdir)/gtk-win32-2.0.def
82 -rm $(DESTDIR)$(libdir)/gtk-win32-2.0.def
89 noinst_DATA = gtk-win32-$(GTK_API_VERSION).lib
91 gtk-win32-$(GTK_API_VERSION).lib: libgtk-win32-$(GTK_API_VERSION).la gtk.def
92 lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgtk-win32-$(GTK_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:gtk.def -out:$@
95 $(INSTALL) gtk-win32-$(GTK_API_VERSION).lib $(DESTDIR)$(libdir)
98 -rm $(DESTDIR)$(libdir)/gtk-win32-$(GTK_API_VERSION).lib
104 # This places the generated .def file in srcdir, since it is expected to be there.
105 # (The one from a tarball is)
107 (echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/gtk.symbols | sed -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g') > $(srcdir)/gtk.def
109 gtkalias.h: gtk.symbols
110 $(PERL) $(srcdir)/makegtkalias.pl < $(srcdir)/gtk.symbols > gtkalias.h
111 gtkaliasdef.c: gtk.symbols
112 $(PERL) $(srcdir)/makegtkalias.pl -def < $(srcdir)/gtk.symbols > gtkaliasdef.c
115 @$(TESTS_ENVIRONMENT) $(srcdir)/aliasfilescheck.sh
117 .PHONY: check-aliases
119 TESTS_ENVIRONMENT = srcdir="$(srcdir)" gtk_all_c_sources="$(gtk_all_c_sources)"
120 TESTS = aliasfilescheck.sh
122 TESTS += abicheck.sh pltcheck.sh
125 libgtkincludedir = $(includedir)/gtk-2.0/gtk
127 $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
128 $(top_builddir)/gdk/$(gdktargetlib) \
132 # libtool stuff: set version and export symbols for resolving
133 # since automake doesn't support conditionalized libsomething_la_LDFLAGS
134 # we use the general approach here
136 -version-info $(LT_VERSION_INFO) \
137 -export-dynamic $(no_undefined) $(LIBTOOL_EXPORT_OPTIONS) \
138 -rpath $(libdir) $(libgtk_target_ldflags)
142 if HAVE_INCLUDED_IMMMODULES
143 @cd $(top_builddir)/modules/input && $(MAKE) $(AM_MAKEFLAGS) included-modules
145 libadd += $(INCLUDED_IMMODULE_OBJ)
146 deps += $(INCLUDED_IMMODULE_OBJ)
148 $(INCLUDED_IMMODULE_OBJ): included-modules
152 .PHONY: included-modules
155 # setup source file variables
158 # GTK+ header files for public installation (non-generated, or generated
160 gtk_public_h_sources = \
186 gtkcellrendereraccel.h \
187 gtkcellrenderercombo.h \
188 gtkcellrendererpixbuf.h \
189 gtkcellrendererprogress.h \
190 gtkcellrendererspin.h \
191 gtkcellrendererspinner.h\
192 gtkcellrenderertext.h \
193 gtkcellrenderertoggle.h \
200 gtkcolorseldialog.h \
211 gtkentrycompletion.h \
216 gtkfilechooserbutton.h \
217 gtkfilechooserdialog.h \
218 gtkfilechooserwidget.h \
240 gtkimcontextsimple.h \
242 gtkimmulticontext.h \
255 gtkmenutoolbutton.h \
259 gtkmountoperation.h \
268 gtkprintoperation.h \
269 gtkprintoperationpreview.h \
276 gtkradiotoolbutton.h \
281 gtkrecentchooserdialog.h \
282 gtkrecentchoosermenu.h \
283 gtkrecentchooserwidget.h \
290 gtkscrolledwindow.h \
293 gtkseparatormenuitem.h \
294 gtkseparatortoolitem.h \
306 gtktearoffmenuitem.h \
309 gtktextbufferrichtext.h \
319 gtktoggletoolbutton.h \
329 gtktreemodelfilter.h \
335 gtktreeviewcolumn.h \
351 gtk_unix_print_public_h_sources = \
352 gtkpagesetupunixdialog.h \
353 gtkprintunixdialog.h \
359 # Installed header files without compatibility guarantees
360 # that are not included in gtk/gtk.h
361 gtk_semi_private_h_sources = \
364 # GTK+ header files that don't get installed
365 gtk_private_h_sources = \
368 gtksearchenginesimple.h \
371 gtkbuilderprivate.h \
372 gtkcustompaperunixdialog.h\
373 gtkfilechooserdefault.h \
374 gtkfilechooserembed.h \
375 gtkfilechooserentry.h \
376 gtkfilechooserprivate.h \
377 gtkfilechoosersettings.h \
378 gtkfilechooserutils.h \
380 gtkfilesystemmodel.h \
385 gtkmountoperationprivate.h \
388 gtkprintoperation-private.h\
391 gtkrecentchooserdefault.h \
392 gtkrecentchooserprivate.h \
393 gtkrecentchooserutils.h \
396 gtktextbufferserialize.h\
397 gtktextchildprivate.h \
398 gtktextiterprivate.h \
399 gtktextmarkprivate.h \
401 gtktexttagprivate.h \
405 gtktoggleactionprivate.h\
406 gtktoolpaletteprivate.h \
409 gtkwindow-decorate.h \
410 $(gtk_clipboard_dnd_h_sources)
412 # GTK+ C sources to build the library from
413 gtk_base_c_sources = \
416 gtksearchenginesimple.c \
443 gtkcellrendereraccel.c \
444 gtkcellrenderercombo.c \
445 gtkcellrendererpixbuf.c \
446 gtkcellrendererprogress.c \
447 gtkcellrendererspin.c \
448 gtkcellrendererspinner.c\
449 gtkcellrenderertext.c \
450 gtkcellrenderertoggle.c \
456 gtkcolorseldialog.c \
465 gtkentrycompletion.c \
469 gtkfilechooserbutton.c \
470 gtkfilechooserdefault.c \
471 gtkfilechooserdialog.c \
472 gtkfilechooserembed.c \
473 gtkfilechooserentry.c \
474 gtkfilechoosersettings.c \
475 gtkfilechooserutils.c \
476 gtkfilechooserwidget.c \
479 gtkfilesystemmodel.c \
495 gtkiconcachevalidator.c \
502 gtkimcontextsimple.c \
504 gtkimmulticontext.c \
521 gtkmenutoolbutton.c \
526 gtkmountoperation.c \
536 gtkprintoperation.c \
537 gtkprintoperationpreview.c \
544 gtkradiotoolbutton.c \
549 gtkrecentchooserdefault.c \
550 gtkrecentchooserdialog.c \
551 gtkrecentchoosermenu.c \
552 gtkrecentchooserwidget.c \
553 gtkrecentchooserutils.c \
561 gtkscrolledwindow.c \
564 gtkseparatormenuitem.c \
565 gtkseparatortoolitem.c \
577 gtktearoffmenuitem.c \
581 gtktextbufferrichtext.c \
582 gtktextbufferserialize.c\
597 gtktoggletoolbutton.c \
608 gtktreemodelfilter.c \
614 gtktreeviewcolumn.c \
628 gtkwindow-decorate.c \
630 $(gtk_clipboard_dnd_c_sources)
633 gtk_public_h_sources += \
637 gtk_base_c_sources += \
643 gtk_public_h_sources += \
662 gtk_base_c_sources += \
681 gtk_c_sources = $(gtk_base_c_sources)
682 gtk_all_c_sources = $(gtk_base_c_sources)
684 gtk_os_unix_c_sources = \
685 gtkcustompaperunixdialog.c \
686 gtkpagesetupunixdialog.c \
689 gtkprinteroptionset.c \
690 gtkprinteroptionwidget.c \
692 gtkprintoperation-unix.c \
693 gtkprintunixdialog.c \
695 gtksearchenginebeagle.c \
696 gtksearchenginetracker.c
697 gtk_all_c_sources += $(gtk_os_unix_c_sources)
699 gtk_private_h_sources += \
700 gtkiconcachevalidator.h \
702 gtkprinter-private.h \
704 gtkprinteroptionset.h \
705 gtkprinteroptionwidget.h \
706 gtksearchenginebeagle.h \
707 gtksearchenginetracker.h
708 gtk_c_sources += $(gtk_os_unix_c_sources)
711 gtk_os_win32_c_sources = \
713 gtkprintoperation-win32.c
714 gtk_all_c_sources += $(gtk_os_win32_c_sources)
716 gtk_private_h_sources += gtkprint-win32.h
717 gtk_c_sources += $(gtk_os_win32_c_sources)
720 gtk_use_x11_c_sources = \
725 gtkmountoperation-x11.c
726 gtk_use_win32_c_sources = \
730 gtkwin32embedwidget.c \
731 gtkmountoperation-stub.c
732 gtk_use_quartz_c_sources = \
733 gtksearchenginequartz.c \
736 gtkmountoperation-stub.c
737 gtk_use_stub_c_sources = \
740 gtkmountoperation-stub.c
741 gtk_all_c_sources += $(gtk_use_x11_c_sources) $(gtk_use_win32_c_sources) $(gtk_use_quartz_c_sources) $(gtk_use_stub_c_sources)
743 gtk_private_h_sources += gtkxembed.h gtktrayicon.h xembed.h
744 gtk_c_sources += $(gtk_use_x11_c_sources)
747 gtk_private_h_sources += gtkwin32embed.h gtkwin32embedwidget.h
748 gtk_c_sources += $(gtk_use_win32_c_sources)
751 gtk_private_h_sources += gtksearchenginequartz.h
752 gtk_c_sources += $(gtk_use_quartz_c_sources)
753 gtk_use_quartz_c_sources_CFLAGS = "-xobjective-c"
755 gtk_c_sources += $(gtk_use_stub_c_sources)
761 gtk_clipboard_dnd_c_sources = gtkclipboard-quartz.c gtkdnd-quartz.c gtkquartz.c
762 gtk_clipboard_dnd_h_sources = gtkquartz.h
763 gtk_clipboard_dnd_c_sources_CFLAGS = "-xobjective-c"
765 gtk_clipboard_dnd_c_sources = gtkclipboard.c gtkdnd.c
766 gtk_clipboard_dnd_c_sources_CFLAGS =
768 EXTRA_DIST += gtkquartz.h
770 # we use our own built_sources variable rules to avoid automake's
771 # BUILT_SOURCES oddities
772 # we generate frequently rebuild files piggyback on a stamp file, so sources
773 # depending on them only get rebuild when the built source actually changed
776 # built sources that get installed with the header files
777 gtk_built_public_sources = \
781 # built headers that don't get installed
782 gtk_built_private_headers = \
786 gtkimcontextsimpleseqs.h
788 gtk_built_sources = \
794 ${gtk_built_private_headers} \
795 ${gtk_built_public_sources}
798 stamp-gtkmarshalers.h \
800 stamp-gtktypebuiltins.h \
803 # non-header sources (headers should be specified in the above variables)
804 # that don't serve as direct make target sources, i.e. they don't have
805 # their own .lo rules and don't get publically installed
806 gtk_extra_sources = \
808 paper_names_offsets.c \
810 gtkstatusicon-quartz.c \
817 # setup GTK+ sources and their dependencies
819 MAINTAINERCLEANFILES = $(gtk_built_sources) $(stamp_files) $(GENERATED_ICONS) stock-icons/icon-theme.cache
821 EXTRA_DIST += $(gtk_private_h_sources) $(gtk_extra_sources)
822 EXTRA_DIST += $(gtk_built_sources)
823 EXTRA_DIST += $(STOCK_ICONS)
826 # rules to generate built sources
828 # setup autogeneration dependencies
829 gen_sources = xgen-gdef xgen-gtbh xgen-gtic xgen-gmh xgen-gmc xgen-gmlh xgen-gmlc xgen-gtfsrc.c xgen-gtf
830 CLEANFILES = $(gen_sources)
832 BUILT_SOURCES = $(gtk_built_sources)
834 # all autogenerated files need to be generated in the srcdir,
835 # so old versions get remade and are not confused with newer
836 # versions in the build dir. thus a development setup requires
837 # srcdir to be writable, passing --disable-rebuilds to
838 # ../configure will supress all autogeneration rules.
839 gtkmarshalers.h: stamp-gtkmarshalers.h
841 stamp-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list
842 $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --header >> xgen-gmlh \
843 && (cmp -s xgen-gmlh gtkmarshalers.h || cp xgen-gmlh gtkmarshalers.h) \
845 && echo timestamp > $(@F)
846 gtkmarshalers.c: @REBUILD@ gtkmarshalers.list
847 (echo "#include \"gtkmarshalers.h\""; \
848 echo "#include \"gtkalias.h\""; \
849 $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --body) >> xgen-gmlc \
850 && cp xgen-gmlc gtkmarshalers.c \
853 gtkmarshal.h: stamp-gtkmarshal.h
855 stamp-gtkmarshal.h: @REBUILD@ gtkmarshal.list
856 echo "#ifndef GTK_DISABLE_DEPRECATED" > xgen-gmh \
857 && $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --header >> xgen-gmh \
858 && echo "#endif /* GTK_DISABLE_DEPRECATED */" >> xgen-gmh \
859 && (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \
861 && echo timestamp > $(@F)
862 gtkmarshal.c: @REBUILD@ gtkmarshal.list
863 (echo "#include \"gtkmarshal.h\""; \
864 echo "#include \"gtkalias.h\""; \
865 $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --body; \
866 echo "#define __gtk_marshal_MARSHAL_C__"; \
867 echo "#include \"gtkaliasdef.c\"") >> xgen-gmc \
868 && cp xgen-gmc gtkmarshal.c \
871 gtktypebuiltins.h: stamp-gtktypebuiltins.h
873 stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) gtktypebuiltins.h.template
874 ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.h.template \
875 $(gtk_public_h_sources) ) >> xgen-gtbh \
876 && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h ) \
878 && echo timestamp > $(@F)
879 gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) gtktypebuiltins.c.template
880 ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.c.template \
881 $(gtk_public_h_sources) ) > xgen-gtbc \
882 && cp xgen-gtbc gtktypebuiltins.c \
885 gtktypefuncs.c: @REBUILD@ $(top_srcdir)/gtk/*.h $(top_srcdir)/gdk/*.h Makefile
886 echo '#include <gtk/gtk.h>' > xgen-gtfsrc.c && \
887 ${CPP} $(DEFS) $(INCLUDES) -DGTK_ENABLE_BROKEN $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \
888 grep -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \
890 sed '{ s/^/*tp++ = /; s/$$/();/; }' > xgen-gtf \
891 && cp xgen-gtf $@ && rm -f xgen-gtf
892 gtktestutils.c: gtktypefuncs.c
895 lib_LTLIBRARIES = $(gtktargetlib)
897 gtkincludedir = $(includedir)/gtk-2.0/gtk
898 gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_semi_private_h_sources) $(gtk_built_public_sources) gtkversion.h
900 gtkunixprintincludedir = $(includedir)/gtk-unix-print-2.0/gtk
901 gtkunixprintinclude_HEADERS = $(gtk_unix_print_public_h_sources)
903 libgtk_x11_2_0_la_SOURCES = $(gtk_c_sources)
904 libgtk_win32_2_0_la_SOURCES = $(gtk_c_sources)
905 libgtk_quartz_2_0_la_SOURCES = $(gtk_c_sources)
906 libgtk_directfb_2_0_la_SOURCES = $(gtk_c_sources)
908 libgtk_x11_2_0_la_LDFLAGS = $(libtool_opts)
909 libgtk_win32_2_0_la_LDFLAGS = $(libtool_opts) -Wl,-luuid
910 libgtk_quartz_2_0_la_LDFLAGS = $(libtool_opts)
911 libgtk_directfb_2_0_la_LDFLAGS = $(libtool_opts)
913 libgtk_x11_2_0_la_LIBADD = $(libadd)
914 libgtk_win32_2_0_la_LIBADD = $(libadd) -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32
915 libgtk_quartz_2_0_la_LIBADD = $(libadd)
916 libgtk_directfb_2_0_la_LIBADD = $(libadd)
918 libgtk_x11_2_0_la_DEPENDENCIES = $(deps)
919 libgtk_win32_2_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32_res) $(deps)
920 libgtk_quartz_2_0_la_DEPENDENCIES = $(deps)
921 libgtk_directfb_2_0_la_DEPENDENCIES = $(deps)
924 libgtk_target_ldflags = $(gtk_win32_res_ldflag) $(gtk_win32_symbols)
926 EXTRA_LTLIBRARIES = libgtk-x11-2.0.la libgtk-win32-2.0.la libgtk-quartz-2.0.la libgtk-directfb-2.0.la
929 if DISABLE_EXPLICIT_DEPS
930 $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$(gtktargetlib)
934 install-mac-key-theme:
935 $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Mac/gtk-2.0-key
936 $(INSTALL_DATA) $(srcdir)/gtkrc.key.mac $(DESTDIR)$(datadir)/themes/Mac/gtk-2.0-key/gtkrc
937 uninstall-mac-key-theme:
938 rm -f $(DESTDIR)$(datadir)/themes/Mac/gtk-2.0-key/gtkrc
940 install-mac-key-theme:
941 uninstall-mac-key-theme:
944 # Install a RC file for the default GTK+ theme, and key themes
945 install-data-local: install-ms-lib install-def-file install-mac-key-theme
946 $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0
947 $(INSTALL_DATA) $(srcdir)/gtkrc.default $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0/gtkrc
948 $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key
949 $(INSTALL_DATA) $(srcdir)/gtkrc.key.default $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
950 $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key
951 $(INSTALL_DATA) $(srcdir)/gtkrc.key.emacs $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
953 uninstall-local: uninstall-ms-lib uninstall-def-file uninstall-mac-key-theme
954 rm -f $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0/gtkrc
955 rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
956 rm -f $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
958 # if srcdir!=builddir, clean out maintainer-clean files from builddir
959 # this allows dist to pass.
961 if test $(srcdir) != .; then \
962 rm -f $(MAINTAINERCLEANFILES); \
965 DEPS = $(gtktargetlib) $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la $(top_builddir)/gdk/$(gdktargetlib)
967 TEST_DEPS = $(DEPS) gtk.immodules
971 $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
972 $(top_builddir)/gdk/$(gdktargetlib) \
975 if HAVE_INTROSPECTION
976 introspection_files = \
977 $(gtkinclude_HEADERS) \
978 $(gtk_all_c_sources) \
982 Gtk-2.0.gir: $(INTROSPECTION_SCANNER) $(gtktargetlib) Makefile
983 Gtk_2_0_gir_SCANNERFLAGS = --strip-prefix=Gtk
984 Gtk_2_0_gir_INCLUDES = Atk-1.0 Gdk-2.0
985 Gtk_2_0_gir_CFLAGS = \
987 -UGDK_DISABLE_DEPRECATED \
988 -UGTK_DISABLE_DEPRECATED \
989 -DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API
990 Gtk_2_0_gir_LIBS = $(gtktargetlib)
991 Gtk_2_0_gir_FILES = $(addprefix $(srcdir)/, $(introspection_files))
992 INTROSPECTION_GIRS += Gtk-2.0.gir
994 girdir = $(INTROSPECTION_GIRDIR)
995 dist_gir_DATA = $(INTROSPECTION_GIRS)
997 typelibsdir = $(INTROSPECTION_TYPELIBDIR)
998 typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
1000 CLEANFILES += $(dist_gir_DATA) $(typelibs_DATA)
1007 gtk-query-immodules-2.0 \
1008 gtk-update-icon-cache
1010 bin_SCRIPTS = gtk-builder-convert
1014 # Workaround for UAC silliness: programs with "update" in their name
1015 # are believed to be installers and require elevated privileges to be
1016 # used... Use a manifest file to tell Windows that
1017 # gtk-update-icon-cache.exe doesn't require any special privileges.
1019 GTK_UPDATE_ICON_CACHE_MANIFEST = gtk-update-icon-cache.exe.manifest
1022 $(GTK_UPDATE_ICON_CACHE_MANIFEST)
1024 gtk-update-icon-cache.exe.manifest:
1025 (echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' ; \
1026 echo '<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">' ; \
1027 echo ' <assemblyIdentity version="1.0.0.0"' ; \
1028 echo ' processorArchitecture="'$(LIB_EXE_MACHINE_FLAG)'"' ; \
1029 echo ' name="gtk-update-icon-cache.exe"' ; \
1030 echo ' type="win32"/>' ; \
1031 echo ' <!-- Identify the application security requirements. -->' ; \
1032 echo ' <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">' ; \
1033 echo ' <security>' ; \
1034 echo ' <requestedPrivileges>' ; \
1035 echo ' <requestedExecutionLevel' ; \
1036 echo ' level="asInvoker"' ; \
1037 echo ' uiAccess="false"/>' ; \
1038 echo ' </requestedPrivileges>' ; \
1039 echo ' </security>' ; \
1040 echo ' </trustInfo>' ; \
1041 echo '</assembly>' ) >$@
1045 gtk_query_immodules_2_0_DEPENDENCIES = $(DEPS)
1046 gtk_query_immodules_2_0_LDADD = $(LDADDS)
1048 gtk_query_immodules_2_0_SOURCES = queryimmodules.c
1050 gtk_update_icon_cache_LDADD = $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la $(LDADDS)
1052 gtk_update_icon_cache_SOURCES = \
1055 .PHONY: files test test-debug
1058 @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
1063 stock-icons/16/document-open-recent.png \
1064 stock-icons/16/gtk-about.png \
1065 stock-icons/16/gtk-add.png \
1066 stock-icons/16/gtk-cdrom.png \
1067 stock-icons/16/gtk-close.png \
1068 stock-icons/16/gtk-connect.png \
1069 stock-icons/16/gtk-convert.png \
1070 stock-icons/16/gtk-copy.png \
1071 stock-icons/16/gtk-cut.png \
1072 stock-icons/16/gtk-delete.png \
1073 stock-icons/16/gtk-directory.png \
1074 stock-icons/16/gtk-disconnect.png \
1075 stock-icons/16/gtk-edit.png \
1076 stock-icons/16/gtk-execute.png \
1077 stock-icons/16/gtk-file.png \
1078 stock-icons/16/gtk-find-and-replace.png \
1079 stock-icons/16/gtk-find.png \
1080 stock-icons/16/gtk-floppy.png \
1081 stock-icons/16/gtk-fullscreen.png \
1082 stock-icons/16/gtk-go-back-ltr.png \
1083 stock-icons/16/gtk-go-down.png \
1084 stock-icons/16/gtk-go-forward-ltr.png \
1085 stock-icons/16/gtk-goto-bottom.png \
1086 stock-icons/16/gtk-goto-first-ltr.png \
1087 stock-icons/16/gtk-goto-last-ltr.png \
1088 stock-icons/16/gtk-goto-top.png \
1089 stock-icons/16/gtk-go-up.png \
1090 stock-icons/16/gtk-harddisk.png \
1091 stock-icons/16/gtk-help.png \
1092 stock-icons/16/gtk-home.png \
1093 stock-icons/16/gtk-indent-ltr.png \
1094 stock-icons/16/gtk-indent-rtl.png \
1095 stock-icons/16/gtk-index.png \
1096 stock-icons/16/gtk-info.png \
1097 stock-icons/16/gtk-jump-to-ltr.png \
1098 stock-icons/16/gtk-jump-to-rtl.png \
1099 stock-icons/16/gtk-justify-center.png \
1100 stock-icons/16/gtk-justify-fill.png \
1101 stock-icons/16/gtk-justify-left.png \
1102 stock-icons/16/gtk-justify-right.png \
1103 stock-icons/16/gtk-leave-fullscreen.png \
1104 stock-icons/16/gtk-media-forward-ltr.png \
1105 stock-icons/16/gtk-media-next-ltr.png \
1106 stock-icons/16/gtk-media-pause.png \
1107 stock-icons/16/gtk-media-play-ltr.png \
1108 stock-icons/16/gtk-media-play-rtl.png \
1109 stock-icons/16/gtk-media-previous-ltr.png \
1110 stock-icons/16/gtk-media-record.png \
1111 stock-icons/16/gtk-media-rewind-ltr.png \
1112 stock-icons/16/gtk-media-stop.png \
1113 stock-icons/16/gtk-missing-image.png \
1114 stock-icons/16/gtk-network.png \
1115 stock-icons/16/gtk-new.png \
1116 stock-icons/16/gtk-open.png \
1117 stock-icons/16/gtk-page-setup.png \
1118 stock-icons/16/gtk-paste.png \
1119 stock-icons/16/gtk-preferences.png \
1120 stock-icons/16/gtk-print.png \
1121 stock-icons/16/gtk-print-error.png \
1122 stock-icons/16/gtk-print-paused.png \
1123 stock-icons/16/gtk-print-preview.png \
1124 stock-icons/16/gtk-print-report.png \
1125 stock-icons/16/gtk-print-warning.png \
1126 stock-icons/16/gtk-properties.png \
1127 stock-icons/16/gtk-quit.png \
1128 stock-icons/16/gtk-redo-ltr.png \
1129 stock-icons/16/gtk-redo-rtl.png \
1130 stock-icons/16/gtk-refresh.png \
1131 stock-icons/16/gtk-remove.png \
1132 stock-icons/16/gtk-revert-to-saved-ltr.png \
1133 stock-icons/16/gtk-revert-to-saved-rtl.png \
1134 stock-icons/16/gtk-save-as.png \
1135 stock-icons/16/gtk-select-all.png \
1136 stock-icons/16/gtk-select-color.png \
1137 stock-icons/16/gtk-select-font.png \
1138 stock-icons/16/gtk-sort-ascending.png \
1139 stock-icons/16/gtk-sort-descending.png \
1140 stock-icons/16/gtk-spell-check.png \
1141 stock-icons/16/gtk-stop.png \
1142 stock-icons/16/gtk-strikethrough.png \
1143 stock-icons/16/gtk-font.png \
1144 stock-icons/16/gtk-undelete-ltr.png \
1145 stock-icons/16/gtk-undelete-rtl.png \
1146 stock-icons/16/gtk-underline.png \
1147 stock-icons/16/gtk-undo-ltr.png \
1148 stock-icons/16/gtk-undo-rtl.png \
1149 stock-icons/16/gtk-unindent-ltr.png \
1150 stock-icons/16/gtk-unindent-rtl.png \
1151 stock-icons/16/gtk-zoom-100.png \
1152 stock-icons/16/gtk-zoom-fit.png \
1153 stock-icons/16/gtk-zoom-in.png \
1154 stock-icons/16/gtk-zoom-out.png \
1155 stock-icons/16/gtk-italic.png \
1156 stock-icons/16/gtk-bold.png \
1157 stock-icons/20/gtk-apply.png \
1158 stock-icons/20/gtk-cancel.png \
1159 stock-icons/20/gtk-close.png \
1160 stock-icons/20/gtk-no.png \
1161 stock-icons/20/gtk-ok.png \
1162 stock-icons/20/gtk-yes.png \
1163 stock-icons/24/audio-volume-high.png \
1164 stock-icons/24/audio-volume-low.png \
1165 stock-icons/24/audio-volume-medium.png \
1166 stock-icons/24/audio-volume-muted.png \
1167 stock-icons/24/document-open-recent.png \
1168 stock-icons/24/gtk-about.png \
1169 stock-icons/24/gtk-add.png \
1170 stock-icons/24/gtk-bold.png \
1171 stock-icons/24/gtk-cdrom.png \
1172 stock-icons/24/gtk-clear.png \
1173 stock-icons/24/gtk-close.png \
1174 stock-icons/24/gtk-color-picker.png \
1175 stock-icons/24/gtk-connect.png \
1176 stock-icons/24/gtk-convert.png \
1177 stock-icons/24/gtk-copy.png \
1178 stock-icons/24/gtk-cut.png \
1179 stock-icons/24/gtk-directory.png \
1180 stock-icons/24/gtk-disconnect.png \
1181 stock-icons/24/gtk-edit.png \
1182 stock-icons/24/gtk-execute.png \
1183 stock-icons/24/gtk-file.png \
1184 stock-icons/24/gtk-find-and-replace.png \
1185 stock-icons/24/gtk-find.png \
1186 stock-icons/24/gtk-font.png \
1187 stock-icons/24/gtk-fullscreen.png \
1188 stock-icons/24/gtk-go-back-ltr.png \
1189 stock-icons/24/gtk-goto-top.png \
1190 stock-icons/24/gtk-go-down.png \
1191 stock-icons/24/gtk-goto-bottom.png \
1192 stock-icons/24/gtk-goto-first-ltr.png \
1193 stock-icons/24/gtk-goto-last-ltr.png \
1194 stock-icons/24/gtk-go-up.png \
1195 stock-icons/24/gtk-harddisk.png \
1196 stock-icons/24/gtk-help.png \
1197 stock-icons/24/gtk-home.png \
1198 stock-icons/24/gtk-indent-ltr.png \
1199 stock-icons/24/gtk-indent-rtl.png \
1200 stock-icons/24/gtk-index.png \
1201 stock-icons/24/gtk-info.png \
1202 stock-icons/24/gtk-italic.png \
1203 stock-icons/24/gtk-jump-to-ltr.png \
1204 stock-icons/24/gtk-jump-to-rtl.png \
1205 stock-icons/24/gtk-justify-center.png \
1206 stock-icons/24/gtk-justify-fill.png \
1207 stock-icons/24/gtk-justify-left.png \
1208 stock-icons/24/gtk-justify-right.png \
1209 stock-icons/24/gtk-leave-fullscreen.png \
1210 stock-icons/24/gtk-media-forward-ltr.png \
1211 stock-icons/24/gtk-media-next-ltr.png \
1212 stock-icons/24/gtk-media-pause.png \
1213 stock-icons/24/gtk-media-play-ltr.png \
1214 stock-icons/24/gtk-media-play-rtl.png \
1215 stock-icons/24/gtk-media-previous-ltr.png \
1216 stock-icons/24/gtk-media-record.png \
1217 stock-icons/24/gtk-media-rewind-ltr.png \
1218 stock-icons/24/gtk-media-stop.png \
1219 stock-icons/24/gtk-missing-image.png \
1220 stock-icons/24/gtk-network.png \
1221 stock-icons/24/gtk-new.png \
1222 stock-icons/24/gtk-open.png \
1223 stock-icons/24/gtk-orientation-reverse-landscape.png \
1224 stock-icons/24/gtk-orientation-landscape.png \
1225 stock-icons/24/gtk-orientation-reverse-portrait.png \
1226 stock-icons/24/gtk-orientation-portrait.png \
1227 stock-icons/24/gtk-page-setup.png \
1228 stock-icons/24/gtk-paste.png \
1229 stock-icons/24/gtk-preferences.png \
1230 stock-icons/24/gtk-print.png \
1231 stock-icons/24/gtk-print-error.png \
1232 stock-icons/24/gtk-print-paused.png \
1233 stock-icons/24/gtk-print-preview.png \
1234 stock-icons/24/gtk-print-report.png \
1235 stock-icons/24/gtk-print-warning.png \
1236 stock-icons/24/gtk-properties.png \
1237 stock-icons/24/gtk-quit.png \
1238 stock-icons/24/gtk-redo-ltr.png \
1239 stock-icons/24/gtk-redo-rtl.png \
1240 stock-icons/24/gtk-refresh.png \
1241 stock-icons/24/gtk-remove.png \
1242 stock-icons/24/gtk-revert-to-saved-ltr.png \
1243 stock-icons/24/gtk-revert-to-saved-rtl.png \
1244 stock-icons/24/gtk-select-font.png \
1245 stock-icons/24/gtk-save-as.png \
1246 stock-icons/24/gtk-floppy.png \
1247 stock-icons/24/gtk-select-all.png \
1248 stock-icons/24/gtk-select-color.png \
1249 stock-icons/24/gtk-sort-ascending.png \
1250 stock-icons/24/gtk-sort-descending.png \
1251 stock-icons/24/gtk-spell-check.png \
1252 stock-icons/24/gtk-stop.png \
1253 stock-icons/24/gtk-strikethrough.png \
1254 stock-icons/24/gtk-delete.png \
1255 stock-icons/24/gtk-undelete-ltr.png \
1256 stock-icons/24/gtk-undelete-rtl.png \
1257 stock-icons/24/gtk-underline.png \
1258 stock-icons/24/gtk-undo-ltr.png \
1259 stock-icons/24/gtk-undo-rtl.png \
1260 stock-icons/24/gtk-unindent-ltr.png \
1261 stock-icons/24/gtk-unindent-rtl.png \
1262 stock-icons/24/gtk-zoom-100.png \
1263 stock-icons/24/gtk-zoom-fit.png \
1264 stock-icons/24/gtk-zoom-in.png \
1265 stock-icons/24/gtk-zoom-out.png \
1266 stock-icons/24/gtk-go-forward-ltr.png \
1267 stock-icons/32/gtk-dnd-multiple.png \
1268 stock-icons/32/gtk-dnd.png \
1269 stock-icons/48/gtk-dialog-authentication.png \
1270 stock-icons/48/gtk-dialog-error.png \
1271 stock-icons/48/gtk-dialog-info.png \
1272 stock-icons/48/gtk-dialog-question.png \
1273 stock-icons/48/gtk-dialog-warning.png
1276 stock-icons/16/gtk-go-back-rtl.png \
1277 stock-icons/16/gtk-go-forward-rtl.png \
1278 stock-icons/16/gtk-goto-first-rtl.png \
1279 stock-icons/16/gtk-goto-last-rtl.png \
1280 stock-icons/16/gtk-media-forward-rtl.png \
1281 stock-icons/16/gtk-media-next-rtl.png \
1282 stock-icons/16/gtk-media-previous-rtl.png \
1283 stock-icons/16/gtk-media-rewind-rtl.png \
1284 stock-icons/16/gtk-save.png \
1285 stock-icons/16/drive-harddisk.png \
1286 stock-icons/16/folder.png \
1287 stock-icons/16/folder-remote.png \
1288 stock-icons/16/user-home.png \
1289 stock-icons/16/user-desktop.png \
1290 stock-icons/16/text-x-generic.png \
1291 stock-icons/24/gtk-go-back-rtl.png \
1292 stock-icons/24/gtk-go-forward-rtl.png \
1293 stock-icons/24/gtk-goto-first-rtl.png \
1294 stock-icons/24/gtk-goto-last-rtl.png \
1295 stock-icons/24/gtk-media-forward-rtl.png \
1296 stock-icons/24/gtk-media-next-rtl.png \
1297 stock-icons/24/gtk-media-previous-rtl.png \
1298 stock-icons/24/gtk-media-rewind-rtl.png \
1299 stock-icons/24/gtk-save.png \
1300 stock-icons/24/drive-harddisk.png \
1301 stock-icons/24/folder.png \
1302 stock-icons/24/folder-remote.png \
1303 stock-icons/24/user-home.png \
1304 stock-icons/24/user-desktop.png \
1305 stock-icons/24/text-x-generic.png
1307 # need to copy the icons so that we can replace the generated ones with
1308 # symlinks, even in the readonly srcdir case
1309 stamp-icons: $(STOCK_ICONS)
1310 if [ ! -d stock-icons ]; then \
1311 for d in 16 20 24 32 48; do \
1312 mkdir -p stock-icons/$$d; \
1314 for f in $(STOCK_ICONS); do \
1315 cp $(srcdir)/$$f $$(dirname $$f); \
1317 chmod -R u+w stock-icons; \
1319 for i in 16 24; do \
1320 (cd stock-icons/$$i \
1321 && $(RM) gtk-go-back-rtl.png \
1322 && $(LN_S) gtk-go-forward-ltr.png gtk-go-back-rtl.png \
1323 && $(RM) gtk-go-forward-rtl.png \
1324 && $(LN_S) gtk-go-back-ltr.png gtk-go-forward-rtl.png \
1325 && $(RM) gtk-goto-first-rtl.png \
1326 && $(LN_S) gtk-goto-last-ltr.png gtk-goto-first-rtl.png \
1327 && $(RM) gtk-goto-last-rtl.png \
1328 && $(LN_S) gtk-goto-first-ltr.png gtk-goto-last-rtl.png \
1329 && $(RM) gtk-media-forward-rtl.png \
1330 && $(LN_S) gtk-media-rewind-ltr.png gtk-media-forward-rtl.png\
1331 && $(RM) gtk-media-next-rtl.png \
1332 && $(LN_S) gtk-media-previous-ltr.png gtk-media-next-rtl.png \
1333 && $(RM) gtk-media-previous-rtl.png \
1334 && $(LN_S) gtk-media-next-ltr.png gtk-media-previous-rtl.png \
1335 && $(RM) gtk-media-rewind-rtl.png \
1336 && $(LN_S) gtk-media-forward-ltr.png gtk-media-rewind-rtl.png\
1337 && $(RM) gtk-save.png \
1338 && $(LN_S) gtk-floppy.png gtk-save.png \
1339 && $(RM) drive-harddisk.png \
1340 && $(LN_S) gtk-harddisk.png drive-harddisk.png \
1341 && $(RM) folder.png \
1342 && $(LN_S) gtk-directory.png folder.png \
1343 && $(RM) folder-remote.png \
1344 && $(LN_S) gtk-directory.png folder-remote.png \
1345 && $(RM) user-home.png \
1346 && $(LN_S) gtk-directory.png user-home.png \
1347 && $(RM) user-desktop.png \
1348 && $(LN_S) gtk-directory.png user-desktop.png \
1349 && $(RM) text-x-generic.png \
1350 && $(LN_S) gtk-file.png text-x-generic.png \
1352 && touch stamp-icons
1355 gtk_update_icon_cache_program = $(GTK_UPDATE_ICON_CACHE)
1357 gtk_update_icon_cache_program = \
1358 GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders \
1359 ./gtk-update-icon-cache
1362 gtkbuiltincache.h: @REBUILD@ stamp-icons
1363 $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST)
1364 $(gtk_update_icon_cache_program) --force --ignore-theme-index \
1365 --source builtin_icons stock-icons > gtkbuiltincache.h.tmp && \
1366 mv gtkbuiltincache.h.tmp gtkbuiltincache.h
1370 $(GENERATED_ICONS) \
1378 gtk-builder-convert \
1382 gtkwin32embedwidget.h \
1383 gtkwin32embedwidget.c \
1386 gtksearchenginequartz.h \
1394 aliasfilescheck.sh \
1397 gtktypebuiltins.c.template \
1398 gtktypebuiltins.h.template
1403 -include $(top_srcdir)/git.mk