PACKAGE = gdk_pixbuf
PKG_VER = $(GDK_PIXBUF_VER)
-!INCLUDE $(TOP)/build/win32/make.msc
+!INCLUDE $(TOP)/glib/build/win32/make.msc
!IFNDEF PERL
PERL = perl
!ENDIF
-GDK_PIXBUF_VER = 1.3
-
-# force inclusion of gdk-pixbuf-io-include.h
-# to get _working_ include modules ...
+GDK_PIXBUF_VER = 2.0
+
+# -DINCLUDE_gdiplus _replaces_ -DINCLUDE_bmp -DINCLUDE_gif -DINCLUDE_ico -DINCLUDE_jpeg -DINCLUDE_tiff
+# but not yet -DINCLUDE_png
+##USEGDIP=1
+# to get _working_ include modules we need respective defines ...
+#
+BUILT_IN_FORMATS = \
+!IFDEF USEGDIP
+ -DINCLUDE_gdiplus \
+!ELSE
+ -DINCLUDE_bmp -DINCLUDE_gif -DINCLUDE_ico -DINCLUDE_jpeg -DINCLUDE_tiff \
+!ENDIF
+ -DINCLUDE_png \
+ -DINCLUDE_xpm -DINCLUDE_wbmp \
+ -DINCLUDE_pnm -DINCLUDE_ras
-PKG_CFLAGS = -I. -I.. $(GLIB_CFLAGS) \
- -FIgdk-pixbuf-io-include.h \
- $(JPEG_CFLAGS) $(PNG_CFLAGS) $(TIFF_CFLAGS) $(INTL_CFLAGS) \
+PKG_CFLAGS = -FImsvc_recommended_pragmas.h \
+!IFNDEF USEGDIP
+ $(JPEG_CFLAGS) $(TIFF_CFLAGS) \
+!ENDIF
+ -I. -I.. $(GLIB_CFLAGS) \
+ $(BUILT_IN_FORMATS) \
+ $(PNG_CFLAGS) $(INTL_CFLAGS) \
$(G_DEBUGGING) \
+ -DGDK_PIXBUF_ENABLE_BACKEND \
+ -DGTK_PREFIX=\"/just/some/non/existing/path/\" \
-UUSE_GMODULE # use built-in
# -DUSE_GMODULE -DPIXBUF_LIBDIR=\".\"
-
PKG_LINK = $(GLIB_LIBS) \
-# $(TIFF_LIBS) \
- $(JPEG_LIBS) $(PNG_LIBS) $(INTL_LIBS) \
+!IFNDEF USEGDIP
+ $(TIFF_LIBS) $(JPEG_LIBS) \
+!ENDIF
+ $(PNG_LIBS) $(INTL_LIBS) \
pixops\pixops.lib \
+OBJECTS_NON_NATIVE = \
+ io-bmp.obj \
+ io-gif.obj \
+ io-ico.obj \
+ io-tiff.obj \
+ io-jpeg.obj \
+
+OBJECTS_NATIVE = \
+ io-gdip-animation.obj \
+ io-gdip-bmp.obj \
+ io-gdip-emf.obj \
+ io-gdip-gif.obj \
+ io-gdip-ico.obj \
+ io-gdip-jpeg.obj \
+ io-gdip-tiff.obj \
+ io-gdip-utils.obj \
+ io-gdip-wmf.obj
+
OBJECTS = \
gdk-pixbuf-enum-types.obj \
gdk-pixbuf-animation.obj \
gdk-pixbuf-io.obj \
gdk-pixbuf-loader.obj \
gdk-pixbuf-scale.obj \
+ gdk-pixbuf-scaled-anim.obj \
gdk-pixbuf-util.obj \
gdk-pixbuf.obj \
+ gdk-pixbuf-simple-anim.obj \
gdk-pixdata.obj \
- io-bmp.obj \
io-wbmp.obj \
- io-gif.obj \
io-gif-animation.obj \
- io-ico.obj \
io-png.obj \
io-pnm.obj \
io-ras.obj \
-# io-tiff.obj \
io-xpm.obj \
- io-jpeg.obj \
+!IFDEF USEGDIP
+ $(OBJECTS_NATIVE)
+!ELSE
+ $(OBJECTS_NON_NATIVE)
+!ENDIF
-gdk_pixbuf_headers = \
- gdk-pixbuf.h \
- gdk-pixbuf-loader.h
+gdk_pixbuf_headers = \
+ gdk-pixbuf.h \
+ gdk-pixbuf-core.h \
+ gdk-pixbuf-loader.h \
+ gdk-pixbuf-transform.h
gdk-pixbuf-marshal.h: gdk-pixbuf-marshal.list
- ..\..\glib\gobject\glib-genmarshal --prefix=gdk_pixbuf_marshal gdk-pixbuf-marshal.list --header >gdk-pixbuf-marshal.h
+ ..\..\glib\gobject\glib-genmarshal --prefix=_gdk_pixbuf_marshal gdk-pixbuf-marshal.list --header >gdk-pixbuf-marshal.h
+
+gdk-pixbuf-marshal.c: gdk-pixbuf-marshal.h gdk-pixbuf-marshal.list
+ ..\..\glib\gobject\glib-genmarshal --prefix=_gdk_pixbuf_marshal gdk-pixbuf-marshal.list --body >gdk-pixbuf-marshal.c
+
+gdk-pixbuf-alias.h: gdk-pixbuf.symbols
+ perl makegdkpixbufalias.pl < gdk-pixbuf.symbols > gdk-pixbuf-alias.h
-gdk-pixbuf-marshal.c: gdk-pixbuf-marshal.list
- ..\..\glib\gobject\glib-genmarshal --prefix=gdk_pixbuf_marshal gdk-pixbuf-marshal.list --body >gdk-pixbuf-marshal.c
+gdk_pixbuf.def: gdk-pixbuf.symbols makefile.msc
+ echo EXPORTS > gdk_pixbuf.def
+ cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES \
+ -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= -DG_GNUC_PRINTF=;G_GNUC_PRINTF \
+ gdk-pixbuf.symbols >> gdk_pixbuf.def
+
+gdk-pixbuf-aliasdef.c: gdk-pixbuf.symbols
+ perl makegdkpixbufalias.pl -def < gdk-pixbuf.symbols > gdk-pixbuf-aliasdef.c
## common stuff
## targets
all : \
$(PRJ_TOP)\config.h \
- gdk-pixbuf-marshal.c \
+ gdk-pixbuf-alias.h \
+ gdk-pixbuf-aliasdef.c \
gdk-pixbuf-marshal.h \
+ gdk-pixbuf-marshal.c \
sub-pixops \
- $(PACKAGE)-$(PKG_VER).dll \
+ lib$(PACKAGE)-$(PKG_VER)-0.dll \
$(PACKAGE)-$(PKG_VER)s.lib \
# make-inline-pixbuf.exe \
gdk-pixbuf-csource.exe \
test-gdk-pixbuf.exe
+$(PACKAGE).res : $(PACKAGE).rc
+ rc -DBUILDNUMBER=0 -r -fo $(PACKAGE).res $(PACKAGE).rc
+
$(PACKAGE)-$(PKG_VER)s.lib : $(OBJECTS)
lib /out:$(PACKAGE)-$(PKG_VER)s.lib $(OBJECTS) pixops\pixops.lib
-$(PACKAGE)-$(PKG_VER).dll : $(OBJECTS) $(PACKAGE).def
- $(CC) $(CFLAGS) -LD -Fe$(PACKAGE)-$(PKG_VER).dll $(OBJECTS) $(PKG_LINK) user32.lib advapi32.lib wsock32.lib $(LDFLAGS) /def:$(PACKAGE).def
+lib$(PACKAGE)-$(PKG_VER)-0.dll : $(OBJECTS) $(PACKAGE).def $(PACKAGE).res
+ $(CC) $(CFLAGS) -LD -Fe$@ $(OBJECTS) $(PKG_LINK) user32.lib advapi32.lib ole32.lib wsock32.lib $(PACKAGE).res \
+ $(LDFLAGS) /implib:$(PACKAGE)-$(PKG_VER).lib /def:$(PACKAGE).def
make-inline-pixbuf.exe : make-inline-pixbuf.c
$(CC) $(PKG_CFLAGS) -Femake-inline-pixbuf.exe make-inline-pixbuf.c $(PKG_LINK) $(PACKAGE)-$(PKG_VER).lib
clean::
del config.h
+ del gdk-pixbuf-marshal.h
+ del gdk-pixbuf-marshal.c
+ del gdk-pixbuf-alaias.h
+
+