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 \
215 gtkextendedlayout.h \
217 gtkfilechooserbutton.h \
218 gtkfilechooserdialog.h \
219 gtkfilechooserwidget.h \
241 gtkimcontextsimple.h \
243 gtkimmulticontext.h \
256 gtkmenutoolbutton.h \
260 gtkmountoperation.h \
269 gtkprintoperation.h \
270 gtkprintoperationpreview.h \
277 gtkradiotoolbutton.h \
282 gtkrecentchooserdialog.h \
283 gtkrecentchoosermenu.h \
284 gtkrecentchooserwidget.h \
291 gtkscrolledwindow.h \
294 gtkseparatormenuitem.h \
295 gtkseparatortoolitem.h \
307 gtktearoffmenuitem.h \
310 gtktextbufferrichtext.h \
320 gtktoggletoolbutton.h \
330 gtktreemodelfilter.h \
336 gtktreeviewcolumn.h \
352 gtk_unix_print_public_h_sources = \
353 gtkpagesetupunixdialog.h \
354 gtkprintunixdialog.h \
360 # Installed header files without compatibility guarantees
361 # that are not included in gtk/gtk.h
362 gtk_semi_private_h_sources = \
365 # GTK+ header files that don't get installed
366 gtk_private_h_sources = \
369 gtksearchenginesimple.h \
372 gtkbuilderprivate.h \
373 gtkcustompaperunixdialog.h\
374 gtkfilechooserdefault.h \
375 gtkfilechooserembed.h \
376 gtkfilechooserentry.h \
377 gtkfilechooserprivate.h \
378 gtkfilechoosersettings.h \
379 gtkfilechooserutils.h \
381 gtkfilesystemmodel.h \
386 gtkmountoperationprivate.h \
389 gtkprintoperation-private.h\
392 gtkrecentchooserdefault.h \
393 gtkrecentchooserprivate.h \
394 gtkrecentchooserutils.h \
397 gtktextbufferserialize.h\
398 gtktextchildprivate.h \
399 gtktextiterprivate.h \
400 gtktextmarkprivate.h \
402 gtktexttagprivate.h \
406 gtktoggleactionprivate.h\
407 gtktoolpaletteprivate.h \
410 gtkwindow-decorate.h \
411 $(gtk_clipboard_dnd_h_sources)
413 # GTK+ C sources to build the library from
414 gtk_base_c_sources = \
417 gtksearchenginesimple.c \
444 gtkcellrendereraccel.c \
445 gtkcellrenderercombo.c \
446 gtkcellrendererpixbuf.c \
447 gtkcellrendererprogress.c \
448 gtkcellrendererspin.c \
449 gtkcellrendererspinner.c\
450 gtkcellrenderertext.c \
451 gtkcellrenderertoggle.c \
457 gtkcolorseldialog.c \
466 gtkentrycompletion.c \
469 gtkextendedlayout.c \
471 gtkfilechooserbutton.c \
472 gtkfilechooserdefault.c \
473 gtkfilechooserdialog.c \
474 gtkfilechooserembed.c \
475 gtkfilechooserentry.c \
476 gtkfilechoosersettings.c \
477 gtkfilechooserutils.c \
478 gtkfilechooserwidget.c \
481 gtkfilesystemmodel.c \
497 gtkiconcachevalidator.c \
504 gtkimcontextsimple.c \
506 gtkimmulticontext.c \
523 gtkmenutoolbutton.c \
528 gtkmountoperation.c \
538 gtkprintoperation.c \
539 gtkprintoperationpreview.c \
546 gtkradiotoolbutton.c \
551 gtkrecentchooserdefault.c \
552 gtkrecentchooserdialog.c \
553 gtkrecentchoosermenu.c \
554 gtkrecentchooserwidget.c \
555 gtkrecentchooserutils.c \
563 gtkscrolledwindow.c \
566 gtkseparatormenuitem.c \
567 gtkseparatortoolitem.c \
579 gtktearoffmenuitem.c \
583 gtktextbufferrichtext.c \
584 gtktextbufferserialize.c\
599 gtktoggletoolbutton.c \
610 gtktreemodelfilter.c \
616 gtktreeviewcolumn.c \
630 gtkwindow-decorate.c \
632 $(gtk_clipboard_dnd_c_sources)
635 gtk_public_h_sources += \
639 gtk_base_c_sources += \
645 gtk_public_h_sources += \
664 gtk_base_c_sources += \
683 gtk_c_sources = $(gtk_base_c_sources)
684 gtk_all_c_sources = $(gtk_base_c_sources)
686 gtk_os_unix_c_sources = \
687 gtkcustompaperunixdialog.c \
688 gtkpagesetupunixdialog.c \
691 gtkprinteroptionset.c \
692 gtkprinteroptionwidget.c \
694 gtkprintoperation-unix.c \
695 gtkprintunixdialog.c \
697 gtksearchenginebeagle.c \
698 gtksearchenginetracker.c
699 gtk_all_c_sources += $(gtk_os_unix_c_sources)
701 gtk_private_h_sources += \
702 gtkiconcachevalidator.h \
704 gtkprinter-private.h \
706 gtkprinteroptionset.h \
707 gtkprinteroptionwidget.h \
708 gtksearchenginebeagle.h \
709 gtksearchenginetracker.h
710 gtk_c_sources += $(gtk_os_unix_c_sources)
713 gtk_os_win32_c_sources = \
715 gtkprintoperation-win32.c
716 gtk_all_c_sources += $(gtk_os_win32_c_sources)
718 gtk_private_h_sources += gtkprint-win32.h
719 gtk_c_sources += $(gtk_os_win32_c_sources)
722 gtk_use_x11_c_sources = \
727 gtkmountoperation-x11.c
728 gtk_use_win32_c_sources = \
732 gtkwin32embedwidget.c \
733 gtkmountoperation-stub.c
734 gtk_use_quartz_c_sources = \
735 gtksearchenginequartz.c \
738 gtkmountoperation-stub.c
739 gtk_use_stub_c_sources = \
742 gtkmountoperation-stub.c
743 gtk_all_c_sources += $(gtk_use_x11_c_sources) $(gtk_use_win32_c_sources) $(gtk_use_quartz_c_sources) $(gtk_use_stub_c_sources)
745 gtk_private_h_sources += gtkxembed.h gtktrayicon.h xembed.h
746 gtk_c_sources += $(gtk_use_x11_c_sources)
749 gtk_private_h_sources += gtkwin32embed.h gtkwin32embedwidget.h
750 gtk_c_sources += $(gtk_use_win32_c_sources)
753 gtk_private_h_sources += gtksearchenginequartz.h
754 gtk_c_sources += $(gtk_use_quartz_c_sources)
755 gtk_use_quartz_c_sources_CFLAGS = "-xobjective-c"
757 gtk_c_sources += $(gtk_use_stub_c_sources)
763 gtk_clipboard_dnd_c_sources = gtkclipboard-quartz.c gtkdnd-quartz.c gtkquartz.c
764 gtk_clipboard_dnd_h_sources = gtkquartz.h
765 gtk_clipboard_dnd_c_sources_CFLAGS = "-xobjective-c"
767 gtk_clipboard_dnd_c_sources = gtkclipboard.c gtkdnd.c
768 gtk_clipboard_dnd_c_sources_CFLAGS =
770 EXTRA_DIST += gtkquartz.h
772 # we use our own built_sources variable rules to avoid automake's
773 # BUILT_SOURCES oddities
774 # we generate frequently rebuild files piggyback on a stamp file, so sources
775 # depending on them only get rebuild when the built source actually changed
778 # built sources that get installed with the header files
779 gtk_built_public_sources = \
783 # built headers that don't get installed
784 gtk_built_private_headers = \
788 gtkimcontextsimpleseqs.h
790 gtk_built_sources = \
796 ${gtk_built_private_headers} \
797 ${gtk_built_public_sources}
800 stamp-gtkmarshalers.h \
802 stamp-gtktypebuiltins.h \
805 # non-header sources (headers should be specified in the above variables)
806 # that don't serve as direct make target sources, i.e. they don't have
807 # their own .lo rules and don't get publically installed
808 gtk_extra_sources = \
810 paper_names_offsets.c \
812 gtkstatusicon-quartz.c \
819 # setup GTK+ sources and their dependencies
821 MAINTAINERCLEANFILES = $(gtk_built_sources) $(stamp_files) $(GENERATED_ICONS) stock-icons/icon-theme.cache
823 EXTRA_DIST += $(gtk_private_h_sources) $(gtk_extra_sources)
824 EXTRA_DIST += $(gtk_built_sources)
825 EXTRA_DIST += $(STOCK_ICONS)
828 # rules to generate built sources
830 # setup autogeneration dependencies
831 gen_sources = xgen-gdef xgen-gtbh xgen-gtic xgen-gmh xgen-gmc xgen-gmlh xgen-gmlc xgen-gtfsrc.c xgen-gtf
832 CLEANFILES = $(gen_sources)
834 BUILT_SOURCES = $(gtk_built_sources)
836 # all autogenerated files need to be generated in the srcdir,
837 # so old versions get remade and are not confused with newer
838 # versions in the build dir. thus a development setup requires
839 # srcdir to be writable, passing --disable-rebuilds to
840 # ../configure will supress all autogeneration rules.
841 gtkmarshalers.h: stamp-gtkmarshalers.h
843 stamp-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list
844 $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --header >> xgen-gmlh \
845 && (cmp -s xgen-gmlh gtkmarshalers.h || cp xgen-gmlh gtkmarshalers.h) \
847 && echo timestamp > $(@F)
848 gtkmarshalers.c: @REBUILD@ gtkmarshalers.list
849 (echo "#include \"gtkmarshalers.h\""; \
850 echo "#include \"gtkalias.h\""; \
851 $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --body) >> xgen-gmlc \
852 && cp xgen-gmlc gtkmarshalers.c \
855 gtkmarshal.h: stamp-gtkmarshal.h
857 stamp-gtkmarshal.h: @REBUILD@ gtkmarshal.list
858 echo "#ifndef GTK_DISABLE_DEPRECATED" > xgen-gmh \
859 && $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --header >> xgen-gmh \
860 && echo "#endif /* GTK_DISABLE_DEPRECATED */" >> xgen-gmh \
861 && (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \
863 && echo timestamp > $(@F)
864 gtkmarshal.c: @REBUILD@ gtkmarshal.list
865 (echo "#include \"gtkmarshal.h\""; \
866 echo "#include \"gtkalias.h\""; \
867 $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --body; \
868 echo "#define __gtk_marshal_MARSHAL_C__"; \
869 echo "#include \"gtkaliasdef.c\"") >> xgen-gmc \
870 && cp xgen-gmc gtkmarshal.c \
873 gtktypebuiltins.h: stamp-gtktypebuiltins.h
875 stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) gtktypebuiltins.h.template
876 ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.h.template \
877 $(gtk_public_h_sources) ) >> xgen-gtbh \
878 && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h ) \
880 && echo timestamp > $(@F)
881 gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) gtktypebuiltins.c.template
882 ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.c.template \
883 $(gtk_public_h_sources) ) > xgen-gtbc \
884 && cp xgen-gtbc gtktypebuiltins.c \
887 gtktypefuncs.c: @REBUILD@ $(top_srcdir)/gtk/*.h $(top_srcdir)/gdk/*.h Makefile
888 echo '#include <gtk/gtk.h>' > xgen-gtfsrc.c && \
889 ${CPP} $(DEFS) $(INCLUDES) -DGTK_ENABLE_BROKEN $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \
890 grep -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \
892 sed '{ s/^/*tp++ = /; s/$$/();/; }' > xgen-gtf \
893 && cp xgen-gtf $@ && rm -f xgen-gtf
894 gtktestutils.c: gtktypefuncs.c
897 lib_LTLIBRARIES = $(gtktargetlib)
899 gtkincludedir = $(includedir)/gtk-2.0/gtk
900 gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_semi_private_h_sources) $(gtk_built_public_sources) gtkversion.h
902 gtkunixprintincludedir = $(includedir)/gtk-unix-print-2.0/gtk
903 gtkunixprintinclude_HEADERS = $(gtk_unix_print_public_h_sources)
905 libgtk_x11_2_0_la_SOURCES = $(gtk_c_sources)
906 libgtk_win32_2_0_la_SOURCES = $(gtk_c_sources)
907 libgtk_quartz_2_0_la_SOURCES = $(gtk_c_sources)
908 libgtk_directfb_2_0_la_SOURCES = $(gtk_c_sources)
910 libgtk_x11_2_0_la_LDFLAGS = $(libtool_opts)
911 libgtk_win32_2_0_la_LDFLAGS = $(libtool_opts) -Wl,-luuid
912 libgtk_quartz_2_0_la_LDFLAGS = $(libtool_opts)
913 libgtk_directfb_2_0_la_LDFLAGS = $(libtool_opts)
915 libgtk_x11_2_0_la_LIBADD = $(libadd)
916 libgtk_win32_2_0_la_LIBADD = $(libadd) -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32
917 libgtk_quartz_2_0_la_LIBADD = $(libadd)
918 libgtk_directfb_2_0_la_LIBADD = $(libadd)
920 libgtk_x11_2_0_la_DEPENDENCIES = $(deps)
921 libgtk_win32_2_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32_res) $(deps)
922 libgtk_quartz_2_0_la_DEPENDENCIES = $(deps)
923 libgtk_directfb_2_0_la_DEPENDENCIES = $(deps)
926 libgtk_target_ldflags = $(gtk_win32_res_ldflag) $(gtk_win32_symbols)
928 EXTRA_LTLIBRARIES = libgtk-x11-2.0.la libgtk-win32-2.0.la libgtk-quartz-2.0.la libgtk-directfb-2.0.la
931 if DISABLE_EXPLICIT_DEPS
932 $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$(gtktargetlib)
936 install-mac-key-theme:
937 $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Mac/gtk-2.0-key
938 $(INSTALL_DATA) $(srcdir)/gtkrc.key.mac $(DESTDIR)$(datadir)/themes/Mac/gtk-2.0-key/gtkrc
939 uninstall-mac-key-theme:
940 rm -f $(DESTDIR)$(datadir)/themes/Mac/gtk-2.0-key/gtkrc
942 install-mac-key-theme:
943 uninstall-mac-key-theme:
946 # Install a RC file for the default GTK+ theme, and key themes
947 install-data-local: install-ms-lib install-def-file install-mac-key-theme
948 $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0
949 $(INSTALL_DATA) $(srcdir)/gtkrc.default $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0/gtkrc
950 $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key
951 $(INSTALL_DATA) $(srcdir)/gtkrc.key.default $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
952 $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key
953 $(INSTALL_DATA) $(srcdir)/gtkrc.key.emacs $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
955 uninstall-local: uninstall-ms-lib uninstall-def-file uninstall-mac-key-theme
956 rm -f $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0/gtkrc
957 rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
958 rm -f $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
960 # if srcdir!=builddir, clean out maintainer-clean files from builddir
961 # this allows dist to pass.
963 if test $(srcdir) != .; then \
964 rm -f $(MAINTAINERCLEANFILES); \
967 DEPS = $(gtktargetlib) $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la $(top_builddir)/gdk/$(gdktargetlib)
969 TEST_DEPS = $(DEPS) gtk.immodules
973 $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
974 $(top_builddir)/gdk/$(gdktargetlib)
976 if HAVE_INTROSPECTION
977 introspection_files = \
978 $(gtkinclude_HEADERS) \
979 $(gtk_all_c_sources) \
983 Gtk-2.0.gir: $(INTROSPECTION_SCANNER) $(gtktargetlib) Makefile
984 Gtk_2_0_gir_SCANNERFLAGS = --strip-prefix=Gtk
985 Gtk_2_0_gir_INCLUDES = Atk-1.0 Gdk-2.0
986 Gtk_2_0_gir_CFLAGS = \
988 -UGDK_DISABLE_DEPRECATED \
989 -UGTK_DISABLE_DEPRECATED \
990 -DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API
991 Gtk_2_0_gir_LIBS = $(gtktargetlib)
992 Gtk_2_0_gir_FILES = $(addprefix $(srcdir)/, $(introspection_files))
993 INTROSPECTION_GIRS += Gtk-2.0.gir
995 girdir = $(INTROSPECTION_GIRDIR)
996 dist_gir_DATA = $(INTROSPECTION_GIRS)
998 typelibsdir = $(INTROSPECTION_TYPELIBDIR)
999 typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
1001 CLEANFILES += $(dist_gir_DATA) $(typelibs_DATA)
1008 gtk-query-immodules-2.0 \
1009 gtk-update-icon-cache
1011 bin_SCRIPTS = gtk-builder-convert
1015 # Workaround for UAC silliness: programs with "update" in their name
1016 # are believed to be installers and require elevated privileges to be
1017 # used... Use a manifest file to tell Windows that
1018 # gtk-update-icon-cache.exe doesn't require any special privileges.
1020 GTK_UPDATE_ICON_CACHE_MANIFEST = gtk-update-icon-cache.exe.manifest
1023 $(GTK_UPDATE_ICON_CACHE_MANIFEST)
1025 gtk-update-icon-cache.exe.manifest:
1026 (echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' ; \
1027 echo '<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">' ; \
1028 echo ' <assemblyIdentity version="1.0.0.0"' ; \
1029 echo ' processorArchitecture="'$(LIB_EXE_MACHINE_FLAG)'"' ; \
1030 echo ' name="gtk-update-icon-cache.exe"' ; \
1031 echo ' type="win32"/>' ; \
1032 echo ' <!-- Identify the application security requirements. -->' ; \
1033 echo ' <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">' ; \
1034 echo ' <security>' ; \
1035 echo ' <requestedPrivileges>' ; \
1036 echo ' <requestedExecutionLevel' ; \
1037 echo ' level="asInvoker"' ; \
1038 echo ' uiAccess="false"/>' ; \
1039 echo ' </requestedPrivileges>' ; \
1040 echo ' </security>' ; \
1041 echo ' </trustInfo>' ; \
1042 echo '</assembly>' ) >$@
1046 gtk_query_immodules_2_0_DEPENDENCIES = $(DEPS)
1047 gtk_query_immodules_2_0_LDADD = $(LDADDS)
1049 gtk_query_immodules_2_0_SOURCES = queryimmodules.c
1051 gtk_update_icon_cache_LDADD = $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
1053 gtk_update_icon_cache_SOURCES = \
1056 .PHONY: files test test-debug
1059 @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
1064 stock-icons/16/document-open-recent.png \
1065 stock-icons/16/gtk-about.png \
1066 stock-icons/16/gtk-add.png \
1067 stock-icons/16/gtk-cdrom.png \
1068 stock-icons/16/gtk-close.png \
1069 stock-icons/16/gtk-connect.png \
1070 stock-icons/16/gtk-convert.png \
1071 stock-icons/16/gtk-copy.png \
1072 stock-icons/16/gtk-cut.png \
1073 stock-icons/16/gtk-delete.png \
1074 stock-icons/16/gtk-directory.png \
1075 stock-icons/16/gtk-disconnect.png \
1076 stock-icons/16/gtk-edit.png \
1077 stock-icons/16/gtk-execute.png \
1078 stock-icons/16/gtk-file.png \
1079 stock-icons/16/gtk-find-and-replace.png \
1080 stock-icons/16/gtk-find.png \
1081 stock-icons/16/gtk-floppy.png \
1082 stock-icons/16/gtk-fullscreen.png \
1083 stock-icons/16/gtk-go-back-ltr.png \
1084 stock-icons/16/gtk-go-down.png \
1085 stock-icons/16/gtk-go-forward-ltr.png \
1086 stock-icons/16/gtk-goto-bottom.png \
1087 stock-icons/16/gtk-goto-first-ltr.png \
1088 stock-icons/16/gtk-goto-last-ltr.png \
1089 stock-icons/16/gtk-goto-top.png \
1090 stock-icons/16/gtk-go-up.png \
1091 stock-icons/16/gtk-harddisk.png \
1092 stock-icons/16/gtk-help.png \
1093 stock-icons/16/gtk-home.png \
1094 stock-icons/16/gtk-indent-ltr.png \
1095 stock-icons/16/gtk-indent-rtl.png \
1096 stock-icons/16/gtk-index.png \
1097 stock-icons/16/gtk-info.png \
1098 stock-icons/16/gtk-jump-to-ltr.png \
1099 stock-icons/16/gtk-jump-to-rtl.png \
1100 stock-icons/16/gtk-justify-center.png \
1101 stock-icons/16/gtk-justify-fill.png \
1102 stock-icons/16/gtk-justify-left.png \
1103 stock-icons/16/gtk-justify-right.png \
1104 stock-icons/16/gtk-leave-fullscreen.png \
1105 stock-icons/16/gtk-media-forward-ltr.png \
1106 stock-icons/16/gtk-media-next-ltr.png \
1107 stock-icons/16/gtk-media-pause.png \
1108 stock-icons/16/gtk-media-play-ltr.png \
1109 stock-icons/16/gtk-media-play-rtl.png \
1110 stock-icons/16/gtk-media-previous-ltr.png \
1111 stock-icons/16/gtk-media-record.png \
1112 stock-icons/16/gtk-media-rewind-ltr.png \
1113 stock-icons/16/gtk-media-stop.png \
1114 stock-icons/16/gtk-missing-image.png \
1115 stock-icons/16/gtk-network.png \
1116 stock-icons/16/gtk-new.png \
1117 stock-icons/16/gtk-open.png \
1118 stock-icons/16/gtk-page-setup.png \
1119 stock-icons/16/gtk-paste.png \
1120 stock-icons/16/gtk-preferences.png \
1121 stock-icons/16/gtk-print.png \
1122 stock-icons/16/gtk-print-error.png \
1123 stock-icons/16/gtk-print-paused.png \
1124 stock-icons/16/gtk-print-preview.png \
1125 stock-icons/16/gtk-print-report.png \
1126 stock-icons/16/gtk-print-warning.png \
1127 stock-icons/16/gtk-properties.png \
1128 stock-icons/16/gtk-quit.png \
1129 stock-icons/16/gtk-redo-ltr.png \
1130 stock-icons/16/gtk-redo-rtl.png \
1131 stock-icons/16/gtk-refresh.png \
1132 stock-icons/16/gtk-remove.png \
1133 stock-icons/16/gtk-revert-to-saved-ltr.png \
1134 stock-icons/16/gtk-revert-to-saved-rtl.png \
1135 stock-icons/16/gtk-save-as.png \
1136 stock-icons/16/gtk-select-all.png \
1137 stock-icons/16/gtk-select-color.png \
1138 stock-icons/16/gtk-select-font.png \
1139 stock-icons/16/gtk-sort-ascending.png \
1140 stock-icons/16/gtk-sort-descending.png \
1141 stock-icons/16/gtk-spell-check.png \
1142 stock-icons/16/gtk-stop.png \
1143 stock-icons/16/gtk-strikethrough.png \
1144 stock-icons/16/gtk-font.png \
1145 stock-icons/16/gtk-undelete-ltr.png \
1146 stock-icons/16/gtk-undelete-rtl.png \
1147 stock-icons/16/gtk-underline.png \
1148 stock-icons/16/gtk-undo-ltr.png \
1149 stock-icons/16/gtk-undo-rtl.png \
1150 stock-icons/16/gtk-unindent-ltr.png \
1151 stock-icons/16/gtk-unindent-rtl.png \
1152 stock-icons/16/gtk-zoom-100.png \
1153 stock-icons/16/gtk-zoom-fit.png \
1154 stock-icons/16/gtk-zoom-in.png \
1155 stock-icons/16/gtk-zoom-out.png \
1156 stock-icons/16/gtk-italic.png \
1157 stock-icons/16/gtk-bold.png \
1158 stock-icons/20/gtk-apply.png \
1159 stock-icons/20/gtk-cancel.png \
1160 stock-icons/20/gtk-close.png \
1161 stock-icons/20/gtk-no.png \
1162 stock-icons/20/gtk-ok.png \
1163 stock-icons/20/gtk-yes.png \
1164 stock-icons/24/audio-volume-high.png \
1165 stock-icons/24/audio-volume-low.png \
1166 stock-icons/24/audio-volume-medium.png \
1167 stock-icons/24/audio-volume-muted.png \
1168 stock-icons/24/document-open-recent.png \
1169 stock-icons/24/gtk-about.png \
1170 stock-icons/24/gtk-add.png \
1171 stock-icons/24/gtk-bold.png \
1172 stock-icons/24/gtk-cdrom.png \
1173 stock-icons/24/gtk-clear.png \
1174 stock-icons/24/gtk-close.png \
1175 stock-icons/24/gtk-color-picker.png \
1176 stock-icons/24/gtk-connect.png \
1177 stock-icons/24/gtk-convert.png \
1178 stock-icons/24/gtk-copy.png \
1179 stock-icons/24/gtk-cut.png \
1180 stock-icons/24/gtk-directory.png \
1181 stock-icons/24/gtk-disconnect.png \
1182 stock-icons/24/gtk-edit.png \
1183 stock-icons/24/gtk-execute.png \
1184 stock-icons/24/gtk-file.png \
1185 stock-icons/24/gtk-find-and-replace.png \
1186 stock-icons/24/gtk-find.png \
1187 stock-icons/24/gtk-font.png \
1188 stock-icons/24/gtk-fullscreen.png \
1189 stock-icons/24/gtk-go-back-ltr.png \
1190 stock-icons/24/gtk-goto-top.png \
1191 stock-icons/24/gtk-go-down.png \
1192 stock-icons/24/gtk-goto-bottom.png \
1193 stock-icons/24/gtk-goto-first-ltr.png \
1194 stock-icons/24/gtk-goto-last-ltr.png \
1195 stock-icons/24/gtk-go-up.png \
1196 stock-icons/24/gtk-harddisk.png \
1197 stock-icons/24/gtk-help.png \
1198 stock-icons/24/gtk-home.png \
1199 stock-icons/24/gtk-indent-ltr.png \
1200 stock-icons/24/gtk-indent-rtl.png \
1201 stock-icons/24/gtk-index.png \
1202 stock-icons/24/gtk-info.png \
1203 stock-icons/24/gtk-italic.png \
1204 stock-icons/24/gtk-jump-to-ltr.png \
1205 stock-icons/24/gtk-jump-to-rtl.png \
1206 stock-icons/24/gtk-justify-center.png \
1207 stock-icons/24/gtk-justify-fill.png \
1208 stock-icons/24/gtk-justify-left.png \
1209 stock-icons/24/gtk-justify-right.png \
1210 stock-icons/24/gtk-leave-fullscreen.png \
1211 stock-icons/24/gtk-media-forward-ltr.png \
1212 stock-icons/24/gtk-media-next-ltr.png \
1213 stock-icons/24/gtk-media-pause.png \
1214 stock-icons/24/gtk-media-play-ltr.png \
1215 stock-icons/24/gtk-media-play-rtl.png \
1216 stock-icons/24/gtk-media-previous-ltr.png \
1217 stock-icons/24/gtk-media-record.png \
1218 stock-icons/24/gtk-media-rewind-ltr.png \
1219 stock-icons/24/gtk-media-stop.png \
1220 stock-icons/24/gtk-missing-image.png \
1221 stock-icons/24/gtk-network.png \
1222 stock-icons/24/gtk-new.png \
1223 stock-icons/24/gtk-open.png \
1224 stock-icons/24/gtk-orientation-reverse-landscape.png \
1225 stock-icons/24/gtk-orientation-landscape.png \
1226 stock-icons/24/gtk-orientation-reverse-portrait.png \
1227 stock-icons/24/gtk-orientation-portrait.png \
1228 stock-icons/24/gtk-page-setup.png \
1229 stock-icons/24/gtk-paste.png \
1230 stock-icons/24/gtk-preferences.png \
1231 stock-icons/24/gtk-print.png \
1232 stock-icons/24/gtk-print-error.png \
1233 stock-icons/24/gtk-print-paused.png \
1234 stock-icons/24/gtk-print-preview.png \
1235 stock-icons/24/gtk-print-report.png \
1236 stock-icons/24/gtk-print-warning.png \
1237 stock-icons/24/gtk-properties.png \
1238 stock-icons/24/gtk-quit.png \
1239 stock-icons/24/gtk-redo-ltr.png \
1240 stock-icons/24/gtk-redo-rtl.png \
1241 stock-icons/24/gtk-refresh.png \
1242 stock-icons/24/gtk-remove.png \
1243 stock-icons/24/gtk-revert-to-saved-ltr.png \
1244 stock-icons/24/gtk-revert-to-saved-rtl.png \
1245 stock-icons/24/gtk-select-font.png \
1246 stock-icons/24/gtk-save-as.png \
1247 stock-icons/24/gtk-floppy.png \
1248 stock-icons/24/gtk-select-all.png \
1249 stock-icons/24/gtk-select-color.png \
1250 stock-icons/24/gtk-sort-ascending.png \
1251 stock-icons/24/gtk-sort-descending.png \
1252 stock-icons/24/gtk-spell-check.png \
1253 stock-icons/24/gtk-stop.png \
1254 stock-icons/24/gtk-strikethrough.png \
1255 stock-icons/24/gtk-delete.png \
1256 stock-icons/24/gtk-undelete-ltr.png \
1257 stock-icons/24/gtk-undelete-rtl.png \
1258 stock-icons/24/gtk-underline.png \
1259 stock-icons/24/gtk-undo-ltr.png \
1260 stock-icons/24/gtk-undo-rtl.png \
1261 stock-icons/24/gtk-unindent-ltr.png \
1262 stock-icons/24/gtk-unindent-rtl.png \
1263 stock-icons/24/gtk-zoom-100.png \
1264 stock-icons/24/gtk-zoom-fit.png \
1265 stock-icons/24/gtk-zoom-in.png \
1266 stock-icons/24/gtk-zoom-out.png \
1267 stock-icons/24/gtk-go-forward-ltr.png \
1268 stock-icons/32/gtk-dnd-multiple.png \
1269 stock-icons/32/gtk-dnd.png \
1270 stock-icons/48/gtk-dialog-authentication.png \
1271 stock-icons/48/gtk-dialog-error.png \
1272 stock-icons/48/gtk-dialog-info.png \
1273 stock-icons/48/gtk-dialog-question.png \
1274 stock-icons/48/gtk-dialog-warning.png
1277 stock-icons/16/gtk-go-back-rtl.png \
1278 stock-icons/16/gtk-go-forward-rtl.png \
1279 stock-icons/16/gtk-goto-first-rtl.png \
1280 stock-icons/16/gtk-goto-last-rtl.png \
1281 stock-icons/16/gtk-media-forward-rtl.png \
1282 stock-icons/16/gtk-media-next-rtl.png \
1283 stock-icons/16/gtk-media-previous-rtl.png \
1284 stock-icons/16/gtk-media-rewind-rtl.png \
1285 stock-icons/16/gtk-save.png \
1286 stock-icons/16/drive-harddisk.png \
1287 stock-icons/16/folder.png \
1288 stock-icons/16/folder-remote.png \
1289 stock-icons/16/user-home.png \
1290 stock-icons/16/user-desktop.png \
1291 stock-icons/16/text-x-generic.png \
1292 stock-icons/24/gtk-go-back-rtl.png \
1293 stock-icons/24/gtk-go-forward-rtl.png \
1294 stock-icons/24/gtk-goto-first-rtl.png \
1295 stock-icons/24/gtk-goto-last-rtl.png \
1296 stock-icons/24/gtk-media-forward-rtl.png \
1297 stock-icons/24/gtk-media-next-rtl.png \
1298 stock-icons/24/gtk-media-previous-rtl.png \
1299 stock-icons/24/gtk-media-rewind-rtl.png \
1300 stock-icons/24/gtk-save.png \
1301 stock-icons/24/drive-harddisk.png \
1302 stock-icons/24/folder.png \
1303 stock-icons/24/folder-remote.png \
1304 stock-icons/24/user-home.png \
1305 stock-icons/24/user-desktop.png \
1306 stock-icons/24/text-x-generic.png
1308 # need to copy the icons so that we can replace the generated ones with
1309 # symlinks, even in the readonly srcdir case
1310 stamp-icons: $(STOCK_ICONS)
1311 if [ ! -d stock-icons ]; then \
1312 for d in 16 20 24 32 48; do \
1313 mkdir -p stock-icons/$$d; \
1315 for f in $(STOCK_ICONS); do \
1316 cp $(srcdir)/$$f $$(dirname $$f); \
1318 chmod -R u+w stock-icons; \
1320 for i in 16 24; do \
1321 (cd stock-icons/$$i \
1322 && $(RM) gtk-go-back-rtl.png \
1323 && $(LN_S) gtk-go-forward-ltr.png gtk-go-back-rtl.png \
1324 && $(RM) gtk-go-forward-rtl.png \
1325 && $(LN_S) gtk-go-back-ltr.png gtk-go-forward-rtl.png \
1326 && $(RM) gtk-goto-first-rtl.png \
1327 && $(LN_S) gtk-goto-last-ltr.png gtk-goto-first-rtl.png \
1328 && $(RM) gtk-goto-last-rtl.png \
1329 && $(LN_S) gtk-goto-first-ltr.png gtk-goto-last-rtl.png \
1330 && $(RM) gtk-media-forward-rtl.png \
1331 && $(LN_S) gtk-media-rewind-ltr.png gtk-media-forward-rtl.png\
1332 && $(RM) gtk-media-next-rtl.png \
1333 && $(LN_S) gtk-media-previous-ltr.png gtk-media-next-rtl.png \
1334 && $(RM) gtk-media-previous-rtl.png \
1335 && $(LN_S) gtk-media-next-ltr.png gtk-media-previous-rtl.png \
1336 && $(RM) gtk-media-rewind-rtl.png \
1337 && $(LN_S) gtk-media-forward-ltr.png gtk-media-rewind-rtl.png\
1338 && $(RM) gtk-save.png \
1339 && $(LN_S) gtk-floppy.png gtk-save.png \
1340 && $(RM) drive-harddisk.png \
1341 && $(LN_S) gtk-harddisk.png drive-harddisk.png \
1342 && $(RM) folder.png \
1343 && $(LN_S) gtk-directory.png folder.png \
1344 && $(RM) folder-remote.png \
1345 && $(LN_S) gtk-directory.png folder-remote.png \
1346 && $(RM) user-home.png \
1347 && $(LN_S) gtk-directory.png user-home.png \
1348 && $(RM) user-desktop.png \
1349 && $(LN_S) gtk-directory.png user-desktop.png \
1350 && $(RM) text-x-generic.png \
1351 && $(LN_S) gtk-file.png text-x-generic.png \
1353 && touch stamp-icons
1356 gtk_update_icon_cache_program = $(GTK_UPDATE_ICON_CACHE)
1358 gtk_update_icon_cache_program = \
1359 GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders \
1360 ./gtk-update-icon-cache
1363 gtkbuiltincache.h: @REBUILD@ stamp-icons
1364 $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST)
1365 $(gtk_update_icon_cache_program) --force --ignore-theme-index \
1366 --source builtin_icons stock-icons > gtkbuiltincache.h.tmp && \
1367 mv gtkbuiltincache.h.tmp gtkbuiltincache.h
1371 $(GENERATED_ICONS) \
1379 gtk-builder-convert \
1383 gtkwin32embedwidget.h \
1384 gtkwin32embedwidget.c \
1387 gtksearchenginequartz.h \
1395 aliasfilescheck.sh \
1398 gtktypebuiltins.c.template \
1399 gtktypebuiltins.h.template
1404 -include $(top_srcdir)/git.mk