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 \
263 gtkoffscreenwindow.h \
270 gtkprintoperation.h \
271 gtkprintoperationpreview.h \
278 gtkradiotoolbutton.h \
283 gtkrecentchooserdialog.h \
284 gtkrecentchoosermenu.h \
285 gtkrecentchooserwidget.h \
292 gtkscrolledwindow.h \
295 gtkseparatormenuitem.h \
296 gtkseparatortoolitem.h \
308 gtktearoffmenuitem.h \
311 gtktextbufferrichtext.h \
321 gtktoggletoolbutton.h \
331 gtktreemodelfilter.h \
337 gtktreeviewcolumn.h \
353 gtk_unix_print_public_h_sources = \
354 gtkpagesetupunixdialog.h \
355 gtkprintunixdialog.h \
361 # Installed header files without compatibility guarantees
362 # that are not included in gtk/gtk.h
363 gtk_semi_private_h_sources = \
366 # GTK+ header files that don't get installed
367 gtk_private_h_sources = \
370 gtksearchenginesimple.h \
373 gtkbuilderprivate.h \
374 gtkcustompaperunixdialog.h\
375 gtkfilechooserdefault.h \
376 gtkfilechooserembed.h \
377 gtkfilechooserentry.h \
378 gtkfilechooserprivate.h \
379 gtkfilechoosersettings.h \
380 gtkfilechooserutils.h \
382 gtkfilesystemmodel.h \
387 gtkmountoperationprivate.h \
390 gtkprintoperation-private.h\
393 gtkrecentchooserdefault.h \
394 gtkrecentchooserprivate.h \
395 gtkrecentchooserutils.h \
398 gtktextbufferserialize.h\
399 gtktextchildprivate.h \
400 gtktextiterprivate.h \
401 gtktextmarkprivate.h \
403 gtktexttagprivate.h \
407 gtktoggleactionprivate.h\
408 gtktoolpaletteprivate.h \
411 gtkwindow-decorate.h \
412 $(gtk_clipboard_dnd_h_sources)
414 # GTK+ C sources to build the library from
415 gtk_base_c_sources = \
418 gtksearchenginesimple.c \
445 gtkcellrendereraccel.c \
446 gtkcellrenderercombo.c \
447 gtkcellrendererpixbuf.c \
448 gtkcellrendererprogress.c \
449 gtkcellrendererspin.c \
450 gtkcellrendererspinner.c\
451 gtkcellrenderertext.c \
452 gtkcellrenderertoggle.c \
458 gtkcolorseldialog.c \
467 gtkentrycompletion.c \
470 gtkextendedlayout.c \
472 gtkfilechooserbutton.c \
473 gtkfilechooserdefault.c \
474 gtkfilechooserdialog.c \
475 gtkfilechooserembed.c \
476 gtkfilechooserentry.c \
477 gtkfilechoosersettings.c \
478 gtkfilechooserutils.c \
479 gtkfilechooserwidget.c \
482 gtkfilesystemmodel.c \
498 gtkiconcachevalidator.c \
505 gtkimcontextsimple.c \
507 gtkimmulticontext.c \
524 gtkmenutoolbutton.c \
529 gtkmountoperation.c \
532 gtkoffscreenwindow.c \
540 gtkprintoperation.c \
541 gtkprintoperationpreview.c \
548 gtkradiotoolbutton.c \
553 gtkrecentchooserdefault.c \
554 gtkrecentchooserdialog.c \
555 gtkrecentchoosermenu.c \
556 gtkrecentchooserwidget.c \
557 gtkrecentchooserutils.c \
565 gtkscrolledwindow.c \
568 gtkseparatormenuitem.c \
569 gtkseparatortoolitem.c \
581 gtktearoffmenuitem.c \
585 gtktextbufferrichtext.c \
586 gtktextbufferserialize.c\
601 gtktoggletoolbutton.c \
612 gtktreemodelfilter.c \
618 gtktreeviewcolumn.c \
632 gtkwindow-decorate.c \
634 $(gtk_clipboard_dnd_c_sources)
637 gtk_public_h_sources += \
642 gtk_base_c_sources += \
648 gtk_c_sources = $(gtk_base_c_sources)
649 gtk_all_c_sources = $(gtk_base_c_sources)
651 gtk_os_unix_c_sources = \
652 gtkcustompaperunixdialog.c \
653 gtkpagesetupunixdialog.c \
656 gtkprinteroptionset.c \
657 gtkprinteroptionwidget.c \
659 gtkprintoperation-unix.c \
660 gtkprintunixdialog.c \
662 gtksearchenginebeagle.c \
663 gtksearchenginetracker.c
664 gtk_all_c_sources += $(gtk_os_unix_c_sources)
666 gtk_private_h_sources += \
667 gtkiconcachevalidator.h \
669 gtkprinter-private.h \
671 gtkprinteroptionset.h \
672 gtkprinteroptionwidget.h \
673 gtksearchenginebeagle.h \
674 gtksearchenginetracker.h
675 gtk_c_sources += $(gtk_os_unix_c_sources)
678 gtk_os_win32_c_sources = \
680 gtkprintoperation-win32.c
681 gtk_all_c_sources += $(gtk_os_win32_c_sources)
683 gtk_private_h_sources += gtkprint-win32.h
684 gtk_c_sources += $(gtk_os_win32_c_sources)
687 gtk_use_x11_c_sources = \
692 gtkmountoperation-x11.c
693 gtk_use_win32_c_sources = \
697 gtkwin32embedwidget.c \
698 gtkmountoperation-stub.c
699 gtk_use_quartz_c_sources = \
700 gtksearchenginequartz.c \
703 gtkmountoperation-stub.c
704 gtk_use_stub_c_sources = \
707 gtkmountoperation-stub.c
708 gtk_all_c_sources += $(gtk_use_x11_c_sources) $(gtk_use_win32_c_sources) $(gtk_use_quartz_c_sources) $(gtk_use_stub_c_sources)
710 gtk_private_h_sources += gtkxembed.h gtktrayicon.h xembed.h
711 gtk_c_sources += $(gtk_use_x11_c_sources)
714 gtk_private_h_sources += gtkwin32embed.h gtkwin32embedwidget.h
715 gtk_c_sources += $(gtk_use_win32_c_sources)
718 gtk_private_h_sources += gtksearchenginequartz.h
719 gtk_c_sources += $(gtk_use_quartz_c_sources)
720 gtk_use_quartz_c_sources_CFLAGS = "-xobjective-c"
722 gtk_c_sources += $(gtk_use_stub_c_sources)
728 gtk_clipboard_dnd_c_sources = gtkclipboard-quartz.c gtkdnd-quartz.c gtkquartz.c
729 gtk_clipboard_dnd_h_sources = gtkquartz.h
730 gtk_clipboard_dnd_c_sources_CFLAGS = "-xobjective-c"
732 gtk_clipboard_dnd_c_sources = gtkclipboard.c gtkdnd.c
733 gtk_clipboard_dnd_c_sources_CFLAGS =
735 EXTRA_DIST += gtkquartz.h
737 # we use our own built_sources variable rules to avoid automake's
738 # BUILT_SOURCES oddities
739 # we generate frequently rebuild files piggyback on a stamp file, so sources
740 # depending on them only get rebuild when the built source actually changed
743 # built sources that get installed with the header files
744 gtk_built_public_sources = \
748 # built headers that don't get installed
749 gtk_built_private_headers = \
753 gtkimcontextsimpleseqs.h
755 gtk_built_sources = \
761 ${gtk_built_private_headers} \
762 ${gtk_built_public_sources}
765 stamp-gtkmarshalers.h \
767 stamp-gtktypebuiltins.h \
770 # non-header sources (headers should be specified in the above variables)
771 # that don't serve as direct make target sources, i.e. they don't have
772 # their own .lo rules and don't get publically installed
773 gtk_extra_sources = \
775 paper_names_offsets.c \
777 gtkstatusicon-quartz.c \
784 # setup GTK+ sources and their dependencies
786 MAINTAINERCLEANFILES = $(gtk_built_sources) $(stamp_files) $(GENERATED_ICONS) stock-icons/icon-theme.cache
788 EXTRA_DIST += $(gtk_private_h_sources) $(gtk_extra_sources)
789 EXTRA_DIST += $(gtk_built_sources)
790 EXTRA_DIST += $(STOCK_ICONS)
793 # rules to generate built sources
795 # setup autogeneration dependencies
796 gen_sources = xgen-gdef xgen-gtbh xgen-gtic xgen-gmh xgen-gmc xgen-gmlh xgen-gmlc xgen-gtfsrc.c xgen-gtf
797 CLEANFILES = $(gen_sources)
799 BUILT_SOURCES = $(gtk_built_sources)
801 # all autogenerated files need to be generated in the srcdir,
802 # so old versions get remade and are not confused with newer
803 # versions in the build dir. thus a development setup requires
804 # srcdir to be writable, passing --disable-rebuilds to
805 # ../configure will supress all autogeneration rules.
806 gtkmarshalers.h: stamp-gtkmarshalers.h
808 stamp-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list
809 $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --header >> xgen-gmlh \
810 && (cmp -s xgen-gmlh gtkmarshalers.h || cp xgen-gmlh gtkmarshalers.h) \
812 && echo timestamp > $(@F)
813 gtkmarshalers.c: @REBUILD@ gtkmarshalers.list
814 (echo "#include \"gtkmarshalers.h\""; \
815 echo "#include \"gtkalias.h\""; \
816 $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --body) >> xgen-gmlc \
817 && cp xgen-gmlc gtkmarshalers.c \
820 gtkmarshal.h: stamp-gtkmarshal.h
822 stamp-gtkmarshal.h: @REBUILD@ gtkmarshal.list
823 echo "#ifndef GTK_DISABLE_DEPRECATED" > xgen-gmh \
824 && $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --header >> xgen-gmh \
825 && echo "#endif /* GTK_DISABLE_DEPRECATED */" >> xgen-gmh \
826 && (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \
828 && echo timestamp > $(@F)
829 gtkmarshal.c: @REBUILD@ gtkmarshal.list
830 (echo "#include \"gtkmarshal.h\""; \
831 echo "#include \"gtkalias.h\""; \
832 $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --body; \
833 echo "#define __gtk_marshal_MARSHAL_C__"; \
834 echo "#include \"gtkaliasdef.c\"") >> xgen-gmc \
835 && cp xgen-gmc gtkmarshal.c \
838 gtktypebuiltins.h: stamp-gtktypebuiltins.h
840 stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) gtktypebuiltins.h.template
841 ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.h.template \
842 $(gtk_public_h_sources) ) >> xgen-gtbh \
843 && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h ) \
845 && echo timestamp > $(@F)
846 gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) gtktypebuiltins.c.template
847 ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.c.template \
848 $(gtk_public_h_sources) ) > xgen-gtbc \
849 && cp xgen-gtbc gtktypebuiltins.c \
852 gtktypefuncs.c: @REBUILD@ $(top_srcdir)/gtk/*.h $(top_srcdir)/gdk/*.h Makefile
853 echo '#include <gtk/gtk.h>' > xgen-gtfsrc.c && \
854 ${CPP} $(DEFS) $(INCLUDES) -DGTK_ENABLE_BROKEN $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \
855 grep -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \
857 sed '{ s/^/*tp++ = /; s/$$/();/; }' > xgen-gtf \
858 && cp xgen-gtf $@ && rm -f xgen-gtf
859 gtktestutils.c: gtktypefuncs.c
862 lib_LTLIBRARIES = $(gtktargetlib)
864 gtkincludedir = $(includedir)/gtk-2.0/gtk
865 gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_semi_private_h_sources) $(gtk_built_public_sources) gtkversion.h
867 gtkunixprintincludedir = $(includedir)/gtk-unix-print-2.0/gtk
868 gtkunixprintinclude_HEADERS = $(gtk_unix_print_public_h_sources)
870 libgtk_x11_2_0_la_SOURCES = $(gtk_c_sources)
871 libgtk_win32_2_0_la_SOURCES = $(gtk_c_sources)
872 libgtk_quartz_2_0_la_SOURCES = $(gtk_c_sources)
873 libgtk_directfb_2_0_la_SOURCES = $(gtk_c_sources)
875 libgtk_x11_2_0_la_LDFLAGS = $(libtool_opts)
876 libgtk_win32_2_0_la_LDFLAGS = $(libtool_opts) -Wl,-luuid
877 libgtk_quartz_2_0_la_LDFLAGS = $(libtool_opts)
878 libgtk_directfb_2_0_la_LDFLAGS = $(libtool_opts)
880 libgtk_x11_2_0_la_LIBADD = $(libadd)
881 libgtk_win32_2_0_la_LIBADD = $(libadd) -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32
882 libgtk_quartz_2_0_la_LIBADD = $(libadd)
883 libgtk_directfb_2_0_la_LIBADD = $(libadd)
885 libgtk_x11_2_0_la_DEPENDENCIES = $(deps)
886 libgtk_win32_2_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32_res) $(deps)
887 libgtk_quartz_2_0_la_DEPENDENCIES = $(deps)
888 libgtk_directfb_2_0_la_DEPENDENCIES = $(deps)
891 libgtk_target_ldflags = $(gtk_win32_res_ldflag) $(gtk_win32_symbols)
893 EXTRA_LTLIBRARIES = libgtk-x11-2.0.la libgtk-win32-2.0.la libgtk-quartz-2.0.la libgtk-directfb-2.0.la
896 if DISABLE_EXPLICIT_DEPS
897 $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$(gtktargetlib)
901 install-mac-key-theme:
902 $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Mac/gtk-2.0-key
903 $(INSTALL_DATA) $(srcdir)/gtkrc.key.mac $(DESTDIR)$(datadir)/themes/Mac/gtk-2.0-key/gtkrc
904 uninstall-mac-key-theme:
905 rm -f $(DESTDIR)$(datadir)/themes/Mac/gtk-2.0-key/gtkrc
907 install-mac-key-theme:
908 uninstall-mac-key-theme:
911 dist-hook: ../build/win32/vs9/gtk.vcproj
913 ../build/win32/vs9/gtk.vcproj: ../build/win32/vs9/gtk.vcprojin
914 for F in $(gtk_base_c_sources) $(gtk_os_win32_c_sources) $(gtk_use_win32_c_sources); do \
916 *.c) echo ' <File RelativePath="..\..\..\gtk\'$$F'" />' \
919 done >libgtk.sourcefiles
920 $(CPP) -P - <$(top_srcdir)/build/win32/vs9/gtk.vcprojin >$@
921 rm libgtk.sourcefiles
923 # Install a RC file for the default GTK+ theme, and key themes
924 install-data-local: install-ms-lib install-def-file install-mac-key-theme
925 $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0
926 $(INSTALL_DATA) $(srcdir)/gtkrc.default $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0/gtkrc
927 $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key
928 $(INSTALL_DATA) $(srcdir)/gtkrc.key.default $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
929 $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key
930 $(INSTALL_DATA) $(srcdir)/gtkrc.key.emacs $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
932 uninstall-local: uninstall-ms-lib uninstall-def-file uninstall-mac-key-theme
933 rm -f $(DESTDIR)$(datadir)/themes/Raleigh/gtk-2.0/gtkrc
934 rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
935 rm -f $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
937 # if srcdir!=builddir, clean out maintainer-clean files from builddir
938 # this allows dist to pass.
940 if test $(srcdir) != .; then \
941 rm -f $(MAINTAINERCLEANFILES); \
944 DEPS = $(gtktargetlib) $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la $(top_builddir)/gdk/$(gdktargetlib)
946 TEST_DEPS = $(DEPS) gtk.immodules
950 $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
951 $(top_builddir)/gdk/$(gdktargetlib) \
954 if HAVE_INTROSPECTION
955 introspection_files = \
956 $(gtkinclude_HEADERS) \
957 $(gtk_all_c_sources) \
961 Gtk-2.0.gir: $(INTROSPECTION_SCANNER) $(gtktargetlib) $(top_builddir)/gdk/Gdk-2.0.gir Makefile
962 Gtk_2_0_gir_SCANNERFLAGS = --strip-prefix=Gtk
963 Gtk_2_0_gir_INCLUDES = Atk-1.0 Gdk-2.0
964 Gtk_2_0_gir_CFLAGS = \
966 -UGDK_DISABLE_DEPRECATED \
967 -UGTK_DISABLE_DEPRECATED \
968 -DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API
969 Gtk_2_0_gir_LIBS = $(gtktargetlib)
970 Gtk_2_0_gir_FILES = $(addprefix $(srcdir)/, $(introspection_files))
971 INTROSPECTION_GIRS += Gtk-2.0.gir
973 girdir = $(datadir)/gir-1.0
974 dist_gir_DATA = $(INTROSPECTION_GIRS)
976 typelibsdir = $(libdir)/girepository-1.0
977 typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
979 CLEANFILES += $(dist_gir_DATA) $(typelibs_DATA)
986 gtk-query-immodules-2.0 \
987 gtk-update-icon-cache
989 bin_SCRIPTS = gtk-builder-convert
993 # Workaround for UAC silliness: programs with "update" in their name
994 # are believed to be installers and require elevated privileges to be
995 # used... Use a manifest file to tell Windows that
996 # gtk-update-icon-cache.exe doesn't require any special privileges.
998 GTK_UPDATE_ICON_CACHE_MANIFEST = gtk-update-icon-cache.exe.manifest
1001 $(GTK_UPDATE_ICON_CACHE_MANIFEST)
1003 gtk-update-icon-cache.exe.manifest:
1004 (echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' ; \
1005 echo '<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">' ; \
1006 echo ' <assemblyIdentity version="1.0.0.0"' ; \
1007 echo ' processorArchitecture="'$(EXE_MANIFEST_ARCHITECTURE)'"' ; \
1008 echo ' name="gtk-update-icon-cache.exe"' ; \
1009 echo ' type="win32"/>' ; \
1010 echo ' <!-- Identify the application security requirements. -->' ; \
1011 echo ' <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">' ; \
1012 echo ' <security>' ; \
1013 echo ' <requestedPrivileges>' ; \
1014 echo ' <requestedExecutionLevel' ; \
1015 echo ' level="asInvoker"' ; \
1016 echo ' uiAccess="false"/>' ; \
1017 echo ' </requestedPrivileges>' ; \
1018 echo ' </security>' ; \
1019 echo ' </trustInfo>' ; \
1020 echo '</assembly>' ) >$@
1024 gtk_query_immodules_2_0_DEPENDENCIES = $(DEPS)
1025 gtk_query_immodules_2_0_LDADD = $(LDADDS)
1027 gtk_query_immodules_2_0_SOURCES = queryimmodules.c
1029 gtk_update_icon_cache_LDADD = \
1030 $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
1031 $(GDK_PIXBUF_DEP_LIBS)
1034 gtk_update_icon_cache_SOURCES = \
1037 .PHONY: files test test-debug
1040 @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
1045 stock-icons/16/document-open-recent.png \
1046 stock-icons/16/gtk-about.png \
1047 stock-icons/16/gtk-add.png \
1048 stock-icons/16/gtk-cdrom.png \
1049 stock-icons/16/gtk-close.png \
1050 stock-icons/16/gtk-connect.png \
1051 stock-icons/16/gtk-convert.png \
1052 stock-icons/16/gtk-copy.png \
1053 stock-icons/16/gtk-cut.png \
1054 stock-icons/16/gtk-delete.png \
1055 stock-icons/16/gtk-directory.png \
1056 stock-icons/16/gtk-disconnect.png \
1057 stock-icons/16/gtk-edit.png \
1058 stock-icons/16/gtk-execute.png \
1059 stock-icons/16/gtk-file.png \
1060 stock-icons/16/gtk-find-and-replace.png \
1061 stock-icons/16/gtk-find.png \
1062 stock-icons/16/gtk-floppy.png \
1063 stock-icons/16/gtk-fullscreen.png \
1064 stock-icons/16/gtk-go-back-ltr.png \
1065 stock-icons/16/gtk-go-down.png \
1066 stock-icons/16/gtk-go-forward-ltr.png \
1067 stock-icons/16/gtk-goto-bottom.png \
1068 stock-icons/16/gtk-goto-first-ltr.png \
1069 stock-icons/16/gtk-goto-last-ltr.png \
1070 stock-icons/16/gtk-goto-top.png \
1071 stock-icons/16/gtk-go-up.png \
1072 stock-icons/16/gtk-harddisk.png \
1073 stock-icons/16/gtk-help.png \
1074 stock-icons/16/gtk-home.png \
1075 stock-icons/16/gtk-indent-ltr.png \
1076 stock-icons/16/gtk-indent-rtl.png \
1077 stock-icons/16/gtk-index.png \
1078 stock-icons/16/gtk-info.png \
1079 stock-icons/16/gtk-jump-to-ltr.png \
1080 stock-icons/16/gtk-jump-to-rtl.png \
1081 stock-icons/16/gtk-justify-center.png \
1082 stock-icons/16/gtk-justify-fill.png \
1083 stock-icons/16/gtk-justify-left.png \
1084 stock-icons/16/gtk-justify-right.png \
1085 stock-icons/16/gtk-leave-fullscreen.png \
1086 stock-icons/16/gtk-media-forward-ltr.png \
1087 stock-icons/16/gtk-media-next-ltr.png \
1088 stock-icons/16/gtk-media-pause.png \
1089 stock-icons/16/gtk-media-play-ltr.png \
1090 stock-icons/16/gtk-media-play-rtl.png \
1091 stock-icons/16/gtk-media-previous-ltr.png \
1092 stock-icons/16/gtk-media-record.png \
1093 stock-icons/16/gtk-media-rewind-ltr.png \
1094 stock-icons/16/gtk-media-stop.png \
1095 stock-icons/16/gtk-missing-image.png \
1096 stock-icons/16/gtk-network.png \
1097 stock-icons/16/gtk-new.png \
1098 stock-icons/16/gtk-open.png \
1099 stock-icons/16/gtk-page-setup.png \
1100 stock-icons/16/gtk-paste.png \
1101 stock-icons/16/gtk-preferences.png \
1102 stock-icons/16/gtk-print.png \
1103 stock-icons/16/gtk-print-error.png \
1104 stock-icons/16/gtk-print-paused.png \
1105 stock-icons/16/gtk-print-preview.png \
1106 stock-icons/16/gtk-print-report.png \
1107 stock-icons/16/gtk-print-warning.png \
1108 stock-icons/16/gtk-properties.png \
1109 stock-icons/16/gtk-quit.png \
1110 stock-icons/16/gtk-redo-ltr.png \
1111 stock-icons/16/gtk-redo-rtl.png \
1112 stock-icons/16/gtk-refresh.png \
1113 stock-icons/16/gtk-remove.png \
1114 stock-icons/16/gtk-revert-to-saved-ltr.png \
1115 stock-icons/16/gtk-revert-to-saved-rtl.png \
1116 stock-icons/16/gtk-save-as.png \
1117 stock-icons/16/gtk-select-all.png \
1118 stock-icons/16/gtk-select-color.png \
1119 stock-icons/16/gtk-select-font.png \
1120 stock-icons/16/gtk-sort-ascending.png \
1121 stock-icons/16/gtk-sort-descending.png \
1122 stock-icons/16/gtk-spell-check.png \
1123 stock-icons/16/gtk-stop.png \
1124 stock-icons/16/gtk-strikethrough.png \
1125 stock-icons/16/gtk-font.png \
1126 stock-icons/16/gtk-undelete-ltr.png \
1127 stock-icons/16/gtk-undelete-rtl.png \
1128 stock-icons/16/gtk-underline.png \
1129 stock-icons/16/gtk-undo-ltr.png \
1130 stock-icons/16/gtk-undo-rtl.png \
1131 stock-icons/16/gtk-unindent-ltr.png \
1132 stock-icons/16/gtk-unindent-rtl.png \
1133 stock-icons/16/gtk-zoom-100.png \
1134 stock-icons/16/gtk-zoom-fit.png \
1135 stock-icons/16/gtk-zoom-in.png \
1136 stock-icons/16/gtk-zoom-out.png \
1137 stock-icons/16/gtk-italic.png \
1138 stock-icons/16/gtk-bold.png \
1139 stock-icons/20/gtk-apply.png \
1140 stock-icons/20/gtk-cancel.png \
1141 stock-icons/20/gtk-close.png \
1142 stock-icons/20/gtk-no.png \
1143 stock-icons/20/gtk-ok.png \
1144 stock-icons/20/gtk-yes.png \
1145 stock-icons/24/audio-volume-high.png \
1146 stock-icons/24/audio-volume-low.png \
1147 stock-icons/24/audio-volume-medium.png \
1148 stock-icons/24/audio-volume-muted.png \
1149 stock-icons/24/document-open-recent.png \
1150 stock-icons/24/gtk-about.png \
1151 stock-icons/24/gtk-add.png \
1152 stock-icons/24/gtk-bold.png \
1153 stock-icons/24/gtk-cdrom.png \
1154 stock-icons/24/gtk-clear.png \
1155 stock-icons/24/gtk-close.png \
1156 stock-icons/24/gtk-color-picker.png \
1157 stock-icons/24/gtk-connect.png \
1158 stock-icons/24/gtk-convert.png \
1159 stock-icons/24/gtk-copy.png \
1160 stock-icons/24/gtk-cut.png \
1161 stock-icons/24/gtk-directory.png \
1162 stock-icons/24/gtk-disconnect.png \
1163 stock-icons/24/gtk-edit.png \
1164 stock-icons/24/gtk-execute.png \
1165 stock-icons/24/gtk-file.png \
1166 stock-icons/24/gtk-find-and-replace.png \
1167 stock-icons/24/gtk-find.png \
1168 stock-icons/24/gtk-font.png \
1169 stock-icons/24/gtk-fullscreen.png \
1170 stock-icons/24/gtk-go-back-ltr.png \
1171 stock-icons/24/gtk-goto-top.png \
1172 stock-icons/24/gtk-go-down.png \
1173 stock-icons/24/gtk-goto-bottom.png \
1174 stock-icons/24/gtk-goto-first-ltr.png \
1175 stock-icons/24/gtk-goto-last-ltr.png \
1176 stock-icons/24/gtk-go-up.png \
1177 stock-icons/24/gtk-harddisk.png \
1178 stock-icons/24/gtk-help.png \
1179 stock-icons/24/gtk-home.png \
1180 stock-icons/24/gtk-indent-ltr.png \
1181 stock-icons/24/gtk-indent-rtl.png \
1182 stock-icons/24/gtk-index.png \
1183 stock-icons/24/gtk-info.png \
1184 stock-icons/24/gtk-italic.png \
1185 stock-icons/24/gtk-jump-to-ltr.png \
1186 stock-icons/24/gtk-jump-to-rtl.png \
1187 stock-icons/24/gtk-justify-center.png \
1188 stock-icons/24/gtk-justify-fill.png \
1189 stock-icons/24/gtk-justify-left.png \
1190 stock-icons/24/gtk-justify-right.png \
1191 stock-icons/24/gtk-leave-fullscreen.png \
1192 stock-icons/24/gtk-media-forward-ltr.png \
1193 stock-icons/24/gtk-media-next-ltr.png \
1194 stock-icons/24/gtk-media-pause.png \
1195 stock-icons/24/gtk-media-play-ltr.png \
1196 stock-icons/24/gtk-media-play-rtl.png \
1197 stock-icons/24/gtk-media-previous-ltr.png \
1198 stock-icons/24/gtk-media-record.png \
1199 stock-icons/24/gtk-media-rewind-ltr.png \
1200 stock-icons/24/gtk-media-stop.png \
1201 stock-icons/24/gtk-missing-image.png \
1202 stock-icons/24/gtk-network.png \
1203 stock-icons/24/gtk-new.png \
1204 stock-icons/24/gtk-open.png \
1205 stock-icons/24/gtk-orientation-reverse-landscape.png \
1206 stock-icons/24/gtk-orientation-landscape.png \
1207 stock-icons/24/gtk-orientation-reverse-portrait.png \
1208 stock-icons/24/gtk-orientation-portrait.png \
1209 stock-icons/24/gtk-page-setup.png \
1210 stock-icons/24/gtk-paste.png \
1211 stock-icons/24/gtk-preferences.png \
1212 stock-icons/24/gtk-print.png \
1213 stock-icons/24/gtk-print-error.png \
1214 stock-icons/24/gtk-print-paused.png \
1215 stock-icons/24/gtk-print-preview.png \
1216 stock-icons/24/gtk-print-report.png \
1217 stock-icons/24/gtk-print-warning.png \
1218 stock-icons/24/gtk-properties.png \
1219 stock-icons/24/gtk-quit.png \
1220 stock-icons/24/gtk-redo-ltr.png \
1221 stock-icons/24/gtk-redo-rtl.png \
1222 stock-icons/24/gtk-refresh.png \
1223 stock-icons/24/gtk-remove.png \
1224 stock-icons/24/gtk-revert-to-saved-ltr.png \
1225 stock-icons/24/gtk-revert-to-saved-rtl.png \
1226 stock-icons/24/gtk-select-font.png \
1227 stock-icons/24/gtk-save-as.png \
1228 stock-icons/24/gtk-floppy.png \
1229 stock-icons/24/gtk-select-all.png \
1230 stock-icons/24/gtk-select-color.png \
1231 stock-icons/24/gtk-sort-ascending.png \
1232 stock-icons/24/gtk-sort-descending.png \
1233 stock-icons/24/gtk-spell-check.png \
1234 stock-icons/24/gtk-stop.png \
1235 stock-icons/24/gtk-strikethrough.png \
1236 stock-icons/24/gtk-delete.png \
1237 stock-icons/24/gtk-undelete-ltr.png \
1238 stock-icons/24/gtk-undelete-rtl.png \
1239 stock-icons/24/gtk-underline.png \
1240 stock-icons/24/gtk-undo-ltr.png \
1241 stock-icons/24/gtk-undo-rtl.png \
1242 stock-icons/24/gtk-unindent-ltr.png \
1243 stock-icons/24/gtk-unindent-rtl.png \
1244 stock-icons/24/gtk-zoom-100.png \
1245 stock-icons/24/gtk-zoom-fit.png \
1246 stock-icons/24/gtk-zoom-in.png \
1247 stock-icons/24/gtk-zoom-out.png \
1248 stock-icons/24/gtk-go-forward-ltr.png \
1249 stock-icons/32/gtk-dnd-multiple.png \
1250 stock-icons/32/gtk-dnd.png \
1251 stock-icons/48/gtk-dialog-authentication.png \
1252 stock-icons/48/gtk-dialog-error.png \
1253 stock-icons/48/gtk-dialog-info.png \
1254 stock-icons/48/gtk-dialog-question.png \
1255 stock-icons/48/gtk-dialog-warning.png
1258 stock-icons/16/gtk-go-back-rtl.png \
1259 stock-icons/16/gtk-go-forward-rtl.png \
1260 stock-icons/16/gtk-goto-first-rtl.png \
1261 stock-icons/16/gtk-goto-last-rtl.png \
1262 stock-icons/16/gtk-media-forward-rtl.png \
1263 stock-icons/16/gtk-media-next-rtl.png \
1264 stock-icons/16/gtk-media-previous-rtl.png \
1265 stock-icons/16/gtk-media-rewind-rtl.png \
1266 stock-icons/16/gtk-save.png \
1267 stock-icons/16/drive-harddisk.png \
1268 stock-icons/16/folder.png \
1269 stock-icons/16/folder-remote.png \
1270 stock-icons/16/user-home.png \
1271 stock-icons/16/user-desktop.png \
1272 stock-icons/16/text-x-generic.png \
1273 stock-icons/24/gtk-go-back-rtl.png \
1274 stock-icons/24/gtk-go-forward-rtl.png \
1275 stock-icons/24/gtk-goto-first-rtl.png \
1276 stock-icons/24/gtk-goto-last-rtl.png \
1277 stock-icons/24/gtk-media-forward-rtl.png \
1278 stock-icons/24/gtk-media-next-rtl.png \
1279 stock-icons/24/gtk-media-previous-rtl.png \
1280 stock-icons/24/gtk-media-rewind-rtl.png \
1281 stock-icons/24/gtk-save.png \
1282 stock-icons/24/drive-harddisk.png \
1283 stock-icons/24/folder.png \
1284 stock-icons/24/folder-remote.png \
1285 stock-icons/24/user-home.png \
1286 stock-icons/24/user-desktop.png \
1287 stock-icons/24/text-x-generic.png
1289 # need to copy the icons so that we can replace the generated ones with
1290 # symlinks, even in the readonly srcdir case
1291 stamp-icons: $(STOCK_ICONS)
1292 if [ ! -d stock-icons ]; then \
1293 for d in 16 20 24 32 48; do \
1294 mkdir -p stock-icons/$$d; \
1296 for f in $(STOCK_ICONS); do \
1297 cp $(srcdir)/$$f $$(dirname $$f); \
1299 chmod -R u+w stock-icons; \
1301 for i in 16 24; do \
1302 (cd stock-icons/$$i \
1303 && $(RM) gtk-go-back-rtl.png \
1304 && $(LN_S) gtk-go-forward-ltr.png gtk-go-back-rtl.png \
1305 && $(RM) gtk-go-forward-rtl.png \
1306 && $(LN_S) gtk-go-back-ltr.png gtk-go-forward-rtl.png \
1307 && $(RM) gtk-goto-first-rtl.png \
1308 && $(LN_S) gtk-goto-last-ltr.png gtk-goto-first-rtl.png \
1309 && $(RM) gtk-goto-last-rtl.png \
1310 && $(LN_S) gtk-goto-first-ltr.png gtk-goto-last-rtl.png \
1311 && $(RM) gtk-media-forward-rtl.png \
1312 && $(LN_S) gtk-media-rewind-ltr.png gtk-media-forward-rtl.png\
1313 && $(RM) gtk-media-next-rtl.png \
1314 && $(LN_S) gtk-media-previous-ltr.png gtk-media-next-rtl.png \
1315 && $(RM) gtk-media-previous-rtl.png \
1316 && $(LN_S) gtk-media-next-ltr.png gtk-media-previous-rtl.png \
1317 && $(RM) gtk-media-rewind-rtl.png \
1318 && $(LN_S) gtk-media-forward-ltr.png gtk-media-rewind-rtl.png\
1319 && $(RM) gtk-save.png \
1320 && $(LN_S) gtk-floppy.png gtk-save.png \
1321 && $(RM) drive-harddisk.png \
1322 && $(LN_S) gtk-harddisk.png drive-harddisk.png \
1323 && $(RM) folder.png \
1324 && $(LN_S) gtk-directory.png folder.png \
1325 && $(RM) folder-remote.png \
1326 && $(LN_S) gtk-directory.png folder-remote.png \
1327 && $(RM) user-home.png \
1328 && $(LN_S) gtk-directory.png user-home.png \
1329 && $(RM) user-desktop.png \
1330 && $(LN_S) gtk-directory.png user-desktop.png \
1331 && $(RM) text-x-generic.png \
1332 && $(LN_S) gtk-file.png text-x-generic.png \
1334 && touch stamp-icons
1337 gtk_update_icon_cache_program = $(GTK_UPDATE_ICON_CACHE)
1339 gtk_update_icon_cache_program = \
1340 GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders \
1341 ./gtk-update-icon-cache
1344 gtkbuiltincache.h: @REBUILD@ stamp-icons
1345 $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST)
1346 $(gtk_update_icon_cache_program) --force --ignore-theme-index \
1347 --source builtin_icons stock-icons > gtkbuiltincache.h.tmp && \
1348 mv gtkbuiltincache.h.tmp gtkbuiltincache.h
1352 $(GENERATED_ICONS) \
1360 gtk-builder-convert \
1364 gtkwin32embedwidget.h \
1365 gtkwin32embedwidget.c \
1368 gtksearchenginequartz.h \
1376 aliasfilescheck.sh \
1379 gtktypebuiltins.c.template \
1380 gtktypebuiltins.h.template
1385 -include $(top_srcdir)/git.mk