5 no_undefined = -no-undefined
9 gdk_pixbuf_def = gdk_pixbuf.def
10 gdk_pixbuf_symbols = -export-symbols $(srcdir)/gdk_pixbuf.def
12 gdk_pixbuf_win32_res = gdk_pixbuf-win32-res.o
13 gdk_pixbuf_win32_res_ldflag = -Wl,gdk_pixbuf-win32-res.o
15 gdk_pixbuf-win32-res.o : gdk_pixbuf.rc
16 $(WINDRES) gdk_pixbuf.rc $@
19 $(INSTALL) $(srcdir)/gdk_pixbuf.def $(DESTDIR)$(libdir)/gdk_pixbuf-$(GTK_API_VERSION).def
21 -rm $(DESTDIR)$(libdir)/gdk_pixbuf-$(GTK_API_VERSION).def
28 noinst_DATA = gdk_pixbuf-$(GTK_API_VERSION).lib
30 gdk_pixbuf-$(GTK_API_VERSION).lib: libgdk_pixbuf-$(GTK_API_VERSION).la gdk_pixbuf.def
31 lib -name:libgdk_pixbuf-$(GTK_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:$(srcdir)/gdk_pixbuf.def -out:$@
34 $(INSTALL) gdk_pixbuf-$(GTK_API_VERSION).lib $(DESTDIR)$(libdir)
37 -rm $(DESTDIR)$(libdir)/gdk_pixbuf-$(GTK_API_VERSION).lib
43 gdk_pixbuf.def: gdk-pixbuf.symbols
44 (echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/gdk-pixbuf.symbols | sed -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g') > gdk_pixbuf.def
46 gdk-pixbuf-alias.h: gdk-pixbuf.symbols
47 $(PERL) $(srcdir)/makegdkpixbufalias.pl < $(srcdir)/gdk-pixbuf.symbols > gdk-pixbuf-alias.h
49 gdk-pixbuf-aliasdef.c: gdk-pixbuf.symbols
50 $(PERL) $(srcdir)/makegdkpixbufalias.pl -def < $(srcdir)/gdk-pixbuf.symbols > gdk-pixbuf-aliasdef.c
53 TESTS = abicheck.sh pltcheck.sh
59 loaderdir = $(libdir)/gtk-2.0/$(GTK_BINARY_VERSION)/loaders
61 module_libs = libgdk_pixbuf-$(GTK_API_VERSION).la $(GDK_PIXBUF_DEP_LIBS)
66 libpixbufloader_png_la_SOURCES = io-png.c
67 libpixbufloader_png_la_LDFLAGS = -avoid-version -module $(no_undefined)
68 libpixbufloader_png_la_LIBADD = $(LIBPNG) $(module_libs)
69 libstatic_pixbufloader_png_la_SOURCES = io-png.c
74 libstatic_pixbufloader_bmp_la_SOURCES = io-bmp.c
75 libpixbufloader_bmp_la_SOURCES = io-bmp.c
76 libpixbufloader_bmp_la_LDFLAGS = -avoid-version -module $(no_undefined)
77 libpixbufloader_bmp_la_LIBADD = $(module_libs)
82 libstatic_pixbufloader_wbmp_la_SOURCES = io-wbmp.c
83 libpixbufloader_wbmp_la_SOURCES = io-wbmp.c
84 libpixbufloader_wbmp_la_LDFLAGS = -avoid-version -module $(no_undefined)
85 libpixbufloader_wbmp_la_LIBADD = $(module_libs)
90 libstatic_pixbufloader_gif_la_SOURCES = io-gif.c io-gif-animation.c io-gif-animation.h
91 libpixbufloader_gif_la_SOURCES = io-gif.c io-gif-animation.c io-gif-animation.h
92 libpixbufloader_gif_la_LDFLAGS = -avoid-version -module $(no_undefined)
93 libpixbufloader_gif_la_LIBADD = $(module_libs)
98 libstatic_pixbufloader_ico_la_SOURCES = io-ico.c
99 libpixbufloader_ico_la_SOURCES = io-ico.c
100 libpixbufloader_ico_la_LDFLAGS = -avoid-version -module $(no_undefined)
101 libpixbufloader_ico_la_LIBADD = $(module_libs)
106 libstatic_pixbufloader_ani_la_SOURCES = io-ani.c io-ani-animation.c io-ani-animation.h
107 libpixbufloader_ani_la_SOURCES = io-ani.c io-ani-animation.c io-ani-animation.h
108 libpixbufloader_ani_la_LDFLAGS = -avoid-version -module $(no_undefined)
109 libpixbufloader_ani_la_LIBADD = $(module_libs)
114 libstatic_pixbufloader_jpeg_la_SOURCES = io-jpeg.c
115 libpixbufloader_jpeg_la_SOURCES = io-jpeg.c
116 libpixbufloader_jpeg_la_LDFLAGS = -avoid-version -module $(no_undefined)
117 libpixbufloader_jpeg_la_LIBADD = $(LIBJPEG) $(module_libs)
122 libstatic_pixbufloader_pnm_la_SOURCES = io-pnm.c
123 libpixbufloader_pnm_la_SOURCES = io-pnm.c
124 libpixbufloader_pnm_la_LDFLAGS = -avoid-version -module $(no_undefined)
125 libpixbufloader_pnm_la_LIBADD = $(module_libs)
130 libstatic_pixbufloader_ras_la_SOURCES = io-ras.c
131 libpixbufloader_ras_la_SOURCES = io-ras.c
132 libpixbufloader_ras_la_LDFLAGS = -avoid-version -module $(no_undefined)
133 libpixbufloader_ras_la_LIBADD = $(module_libs)
138 libstatic_pixbufloader_tiff_la_SOURCES = io-tiff.c
139 libpixbufloader_tiff_la_SOURCES = io-tiff.c
140 libpixbufloader_tiff_la_LDFLAGS = -avoid-version -module $(no_undefined)
141 libpixbufloader_tiff_la_LIBADD = $(LIBTIFF) $(module_libs)
146 libstatic_pixbufloader_xpm_la_SOURCES = io-xpm.c
147 libpixbufloader_xpm_la_SOURCES = io-xpm.c
148 libpixbufloader_xpm_la_LDFLAGS = -avoid-version -module $(no_undefined)
149 libpixbufloader_xpm_la_LIBADD = $(module_libs)
154 libstatic_pixbufloader_xbm_la_SOURCES = io-xbm.c
155 libpixbufloader_xbm_la_SOURCES = io-xbm.c
156 libpixbufloader_xbm_la_LDFLAGS = -avoid-version -module $(no_undefined)
157 libpixbufloader_xbm_la_LIBADD = $(module_libs)
162 libstatic_pixbufloader_tga_la_SOURCES = io-tga.c
163 libpixbufloader_tga_la_SOURCES = io-tga.c
164 libpixbufloader_tga_la_LDFLAGS = -avoid-version -module $(no_undefined)
165 libpixbufloader_tga_la_LIBADD = $(module_libs)
170 libstatic_pixbufloader_pcx_la_SOURCES = io-pcx.c
171 libpixbufloader_pcx_la_SOURCES = io-pcx.c
172 libpixbufloader_pcx_la_LDFLAGS = -avoid-version -module $(no_undefined)
173 libpixbufloader_pcx_la_LIBADD = $(module_libs)
177 STATIC_PNG_LIB = libstatic-pixbufloader-png.la
179 PNG_LIB = libpixbufloader-png.la
184 STATIC_BMP_LIB = libstatic-pixbufloader-bmp.la
186 BMP_LIB = libpixbufloader-bmp.la
190 STATIC_WBMP_LIB = libstatic-pixbufloader-wbmp.la
192 WBMP_LIB = libpixbufloader-wbmp.la
196 STATIC_GIF_LIB = libstatic-pixbufloader-gif.la
198 GIF_LIB = libpixbufloader-gif.la
202 STATIC_ICO_LIB = libstatic-pixbufloader-ico.la
204 ICO_LIB = libpixbufloader-ico.la
208 STATIC_ANI_LIB = libstatic-pixbufloader-ani.la
210 ANI_LIB = libpixbufloader-ani.la
215 STATIC_JPEG_LIB = libstatic-pixbufloader-jpeg.la
217 JPEG_LIB = libpixbufloader-jpeg.la
222 STATIC_PNM_LIB = libstatic-pixbufloader-pnm.la
224 PNM_LIB = libpixbufloader-pnm.la
228 STATIC_RAS_LIB = libstatic-pixbufloader-ras.la
230 RAS_LIB = libpixbufloader-ras.la
235 STATIC_TIFF_LIB = libstatic-pixbufloader-tiff.la
237 TIFF_LIB = libpixbufloader-tiff.la
242 STATIC_XPM_LIB = libstatic-pixbufloader-xpm.la
244 XPM_LIB = libpixbufloader-xpm.la
248 STATIC_XBM_LIB = libstatic-pixbufloader-xbm.la
250 XBM_LIB = libpixbufloader-xbm.la
254 STATIC_TGA_LIB = libstatic-pixbufloader-tga.la
256 TGA_LIB = libpixbufloader-tga.la
260 STATIC_PCX_LIB = libstatic-pixbufloader-pcx.la
262 PCX_LIB = libpixbufloader-pcx.la
265 if BUILD_DYNAMIC_MODULES
267 loader_LTLIBRARIES = \
286 noinst_LTLIBRARIES = \
302 builtin_objs = @INCLUDED_LOADER_OBJ@
305 DEPS = libgdk_pixbuf-$(GTK_API_VERSION).la
307 -DG_LOG_DOMAIN=\"GdkPixbuf\" \
308 -I$(top_srcdir) -I$(top_builddir) \
309 -I$(top_srcdir)/gdk-pixbuf \
310 -I$(top_builddir)/gdk-pixbuf \
311 -DGTK_SYSCONFDIR=\"$(sysconfdir)\" \
312 -DGTK_VERSION=\"$(GTK_VERSION)\" \
313 -DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\" \
314 -DGTK_PREFIX=\"$(prefix)\" \
315 $(INCLUDED_LOADER_DEFINE) \
317 $(GDK_PIXBUF_DEP_CFLAGS) \
318 -DGDK_PIXBUF_ENABLE_BACKEND
320 AM_CPPFLAGS = "-DPIXBUF_LIBDIR=\"$(loaderdir)\"" "-DBUILT_MODULES_DIR=\"$(srcdir)/.libs\""
321 LDADDS = libgdk_pixbuf-$(GTK_API_VERSION).la $(GLIB_LIBS)
323 noinst_PROGRAMS = test-gdk-pixbuf
324 test_gdk_pixbuf_LDADD = $(LDADDS)
326 bin_PROGRAMS = gdk-pixbuf-csource gdk-pixbuf-query-loaders
327 gdk_pixbuf_csource_SOURCES = gdk-pixbuf-csource.c
328 gdk_pixbuf_csource_LDADD = $(LDADDS)
330 gdk_pixbuf_query_loaders_DEPENDENCIES = $(DEPS)
331 gdk_pixbuf_query_loaders_LDADD = $(LDADDS)
333 gdk_pixbuf_query_loaders_SOURCES = queryloaders.c
337 # The GdkPixBuf library
339 libgdk_pixbufincludedir = $(includedir)/gtk-2.0/gdk-pixbuf
340 libgdk_pixbuf_2_0_la_SOURCES = \
343 gdk-pixbuf-animation.c \
346 gdk-pixbuf-loader.c \
348 gdk-pixbuf-simple-anim.c \
351 gdk-pixbuf-enum-types.c
353 libgdk_pixbuf_2_0_la_LDFLAGS = \
354 $(gdk_pixbuf_win32_res_ldflag) \
355 -version-info $(LT_VERSION_INFO) \
356 $(LIBTOOL_EXPORT_OPTIONS) \
358 $(gdk_pixbuf_symbols)
361 libgdk_pixbuf_2_0_la_LIBADD = pixops/libpixops.la $(builtin_objs) $(GDK_PIXBUF_DEP_LIBS)
362 libgdk_pixbuf_2_0_la_DEPENDENCIES = pixops/libpixops.la $(builtin_objs) $(gdk_pixbuf_def) $(gdk_pixbuf_win32_res)
364 gdk_pixbuf_headers = \
367 gdk-pixbuf-transform.h \
369 gdk-pixbuf-animation.h \
370 gdk-pixbuf-simple-anim.h \
373 libgdk_pixbufinclude_HEADERS = \
374 $(gdk_pixbuf_headers) \
375 gdk-pixbuf-enum-types.h \
376 gdk-pixbuf-marshal.h \
377 gdk-pixbuf-features.h \
382 gdk-pixbuf-private.h \
387 gdk-pixbuf-aliasdef.c \
388 gdk-pixbuf-enum-types.h \
389 gdk-pixbuf-enum-types.c \
390 gdk-pixbuf-marshal.h \
394 MAINTAINERCLEANFILES = \
395 gdk-pixbuf-aliasdef.c \
396 gdk-pixbuf-enum-types.h \
397 gdk-pixbuf-enum-types.c \
398 gdk-pixbuf-marshal.h \
399 gdk-pixbuf-marshal.c \
403 # gdk-pixbuf-enum-types.h
405 gdk-pixbuf-enum-types.h: s-enum-types-h
408 s-enum-types-h: @REBUILD@ $(gdk_pixbuf_headers) Makefile
409 ( cd $(srcdir) && $(GLIB_MKENUMS) \
410 --fhead "#ifndef __GDK_PIXBUF_ENUM_TYPES_H__\n#define __GDK_PIXBUF_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
411 --fprod "/* enumerations from \"@filename@\" */\n" \
412 --vhead "GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define GDK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
413 --ftail "G_END_DECLS\n\n#endif /* __GDK_PIXBUF_ENUM_TYPES_H__ */" \
414 $(gdk_pixbuf_headers) ) > tmp-gdk-pixbuf-enum-types.h \
415 && (cmp -s tmp-gdk-pixbuf-enum-types.h gdk-pixbuf-enum-types.h || cp tmp-gdk-pixbuf-enum-types.h gdk-pixbuf-enum-types.h ) \
416 && rm -f tmp-gdk-pixbuf-enum-types.h \
417 && echo timestamp > $(@F)
419 CLEANFILES += tmp-gdk-pixbuf-enum-types.h
420 MAINTAINERCLEANFILES += s-enum-types-h
423 # gdk-pixbuf-enum-types.c
425 gdk-pixbuf-enum-types.c: @REBUILD@ $(gdk_pixbuf_headers) Makefile
426 (cd $(srcdir) && $(GLIB_MKENUMS) \
427 --fhead "#include <gdk-pixbuf/gdk-pixbuf.h>\n#include \"gdk-pixbuf-alias.h\"\n" \
428 --fprod "\n/* enumerations from \"@filename@\" */" \
429 --ftail "\n#define __GDK_PIXBUF_ENUM_TYPES_C__\n#include \"gdk-pixbuf-aliasdef.c\"" \
430 --vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {" \
431 --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
432 --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (g_intern_static_string (\"@EnumName@\"), values);\n }\n return etype;\n}\n" \
433 $(gdk_pixbuf_headers)) > gdk-pixbuf-enum-types.c
436 # gdk-pixbuf-marshal.h
438 gdk-pixbuf-marshal.h: @REBUILD@ stamp-gdk-pixbuf-marshal.h
441 stamp-gdk-pixbuf-marshal.h: @REBUILD@ $(srcdir)/gdk-pixbuf-marshal.list
442 $(GLIB_GENMARSHAL) --prefix=_gdk_pixbuf_marshal $(srcdir)/gdk-pixbuf-marshal.list --header >> xgen-gmh \
443 && (cmp -s xgen-gmh gdk-pixbuf-marshal.h || cp xgen-gmh gdk-pixbuf-marshal.h) \
444 && rm -f xgen-gmh xgen-gmh~ \
445 && echo timestamp > $(@F)
447 CLEANFILES += xgen-gmh
448 MAINTAINERCLEANFILES += stamp-gdk-pixbuf-marshal.h
451 # gdk-pixbuf-marshal.c
453 $(srcdir)/gdk-pixbuf-marshal.c: @REBUILD@ $(srcdir)/gdk-pixbuf-marshal.list
454 (echo -e "#include <gdk-pixbuf/gdk-pixbuf.h>\n#include \"gdk-pixbuf-alias.h\"" | $(GLIB_GENMARSHAL) --prefix=_gdk_pixbuf_marshal $(srcdir)/gdk-pixbuf-marshal.list --body ) >> xgen-gmc \
455 && cp xgen-gmc gdk-pixbuf-marshal.c \
456 && rm -f xgen-gmc xgen-gmc~
458 CLEANFILES += xgen-gmc
460 # if srcdir!=builddir, clean out maintainer-clean files from builddir
461 # this allows dist to pass.
463 if test $(srcdir) != .; then \
464 rm -f $(MAINTAINERCLEANFILES); \
468 gdk-pixbuf-csource.1 \
471 makegdkpixbufalias.pl \
476 gdk-pixbuf-marshal.c \
477 gdk-pixbuf-marshal.list \
481 RUN_QUERY_LOADER_TEST=false
483 RUN_QUERY_LOADER_TEST=test -z "$(DESTDIR)"
486 # Running this if cross compiling or if DESTDIR is set is going to
487 # not work at all, so skip it
488 # We use install-data-hook here to workaround a bug in automake and/or libtool
489 # that makes the install target for the loader libraries a dependency on
490 # install-data-am, and not install-exec-am. We need to ensure this gets run
491 # after the libraries are installed in their final locations.
492 install-data-hook: install-ms-lib install-def-file
493 @if $(RUN_QUERY_LOADER_TEST) ; then \
494 $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/gtk-2.0 ; \
495 $(top_builddir)/gdk-pixbuf/gdk-pixbuf-query-loaders > $(DESTDIR)$(sysconfdir)/gtk-2.0/gdk-pixbuf.loaders ; \
498 echo "*** Warning: gdk-pixbuf.loaders not built" ; \
500 echo "*** Generate this file manually on host" ; \
501 echo "*** system using gdk-pixbuf-query-loaders" ; \
505 uninstall-local: uninstall-ms-lib uninstall-def-file
506 rm -f $(DESTDIR)$(sysconfdir)/gtk-2.0/gdk-pixbuf.loaders
510 all-local: gdk-pixbuf.loaders
513 if BUILD_DYNAMIC_MODULES
514 gdk-pixbuf.loaders: $(loader_LTLIBRARIES) gdk-pixbuf-query-loaders$(EXEEXT)
515 LOADERS=`echo libpixbufloader-*.la` ; \
516 if test "x$$LOADERS" != 'xlibpixbufloader-*.la' ; then \
517 echo "Writing a gdk-pixbuf.loader file to use when running examples before installing gdk-pixbuf."; \
518 $(top_builddir)/gdk-pixbuf/gdk-pixbuf-query-loaders $$LOADERS > ./gdk-pixbuf.loaders ;\
520 echo "No dynamic modules found; will use only static modules for uninstalled example programs."; \
521 touch gdk-pixbuf.loaders; \
525 echo "No dynamic modules found; will use only static modules for uninstalled example programs."; \
526 touch gdk-pixbuf.loaders;