PACKAGE = gdk_pixbuf
PKG_VER = $(GDK_PIXBUF_VER)
-!INCLUDE $(TOP)/build/win32/make.msc
+!INCLUDE $(TOP)/glib/build/win32/make.msc
-GDK_PIXBUF_VER = 1.3
+!IFNDEF PERL
+PERL = perl
+!ENDIF
-# force inclusion of gdk-pixbuf-io-include.h
-# to get _working_ include modules ...
+GDK_PIXBUF_VER = 2.0
-PKG_CFLAGS = -I. -I.. $(GLIB_CFLAGS) \
- -FIgdk-pixbuf-io-include.h \
+# to get _working_ include modules we need respective defines ...
+BUILT_IN_FORMATS = -DINCLUDE_png -DINCLUDE_bmp -DINCLUDE_gif \
+ -DINCLUDE_ico -DINCLUDE_jpeg -DINCLUDE_xpm -DINCLUDE_wbmp \
+ -DINCLUDE_pnm -DINCLUDE_ras
+
+# -DINCLUDE_tiff
+
+
+
+PKG_CFLAGS = -FImsvc_recommended_pragmas.h \
+ -I. -I.. $(GLIB_CFLAGS) \
+ $(BUILT_IN_FORMATS) \
$(JPEG_CFLAGS) $(PNG_CFLAGS) $(TIFF_CFLAGS) $(INTL_CFLAGS) \
+ $(G_DEBUGGING) \
+ -DGDK_PIXBUF_ENABLE_BACKEND \
-UUSE_GMODULE # use built-in
# -DUSE_GMODULE -DPIXBUF_LIBDIR=\".\"
pixops\pixops.lib \
OBJECTS = \
+ gdk-pixbuf-enum-types.obj \
gdk-pixbuf-animation.obj \
gdk-pixbuf-data.obj \
gdk-pixbuf-io.obj \
io-xpm.obj \
io-jpeg.obj \
+gdk_pixbuf_headers = \
+ gdk-pixbuf.h \
+ gdk-pixbuf-loader.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
## common stuff
-# cl -? describes the options
-CC = cl -G5 -GF $(OPTIMIZE) $(CRUNTIME) -W3 -nologo
-
-# No general LDFLAGS needed
-LDFLAGS = /link $(LINKDEBUG)
INSTALL = copy
CFLAGS = -I. -DHAVE_CONFIG_H
+sub-pixops :
+ cd pixops
+ nmake -f makefile.msc
+ cd ..
+
## targets
all : \
$(PRJ_TOP)\config.h \
gdk-pixbuf-marshal.c \
gdk-pixbuf-marshal.h \
- $(PACKAGE)-$(PKG_VER).dll \
+ sub-pixops \
+ lib$(PACKAGE)-$(PKG_VER)-0.dll \
+ $(PACKAGE)-$(PKG_VER)s.lib \
# make-inline-pixbuf.exe \
gdk-pixbuf-csource.exe \
test-gdk-pixbuf.exe
-$(PACKAGE).lib : $(OBJECTS)
- lib /out:$(PACKAGE).lib $(OBJECTS)
+$(PACKAGE).res : $(PACKAGE).rc
+ rc -DBUILDNUMBER=0 -r -fo $(PACKAGE).res $(PACKAGE).rc
-$(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
+$(PACKAGE)-$(PKG_VER)s.lib : $(OBJECTS)
+ lib /out:$(PACKAGE)-$(PKG_VER)s.lib $(OBJECTS) pixops\pixops.lib
+
+lib$(PACKAGE)-$(PKG_VER)-0.dll : $(OBJECTS) $(PACKAGE).def $(PACKAGE).res
+ $(CC) $(CFLAGS) -LD -Fe$@ $(OBJECTS) $(PKG_LINK) user32.lib advapi32.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
test-gdk-pixbuf.exe : test-gdk-pixbuf.c
$(CC) $(PKG_CFLAGS) -Fetest-gdk-pixbuf.exe test-gdk-pixbuf.c $(PKG_LINK) $(PACKAGE)-$(PKG_VER).lib
+#
+# gdk-pixbuf-enum-types.h
+#
+gdk-pixbuf-enum-types.h : $(gdk_pixbuf_headers) makefile.msc
+ $(PERL) $(GLIB)\gobject\glib-mkenums \
+ --fhead "#ifndef __GDK_PIXBUF__ENUM_TYPES_H__\n#define __GDK_PIXBUF_ENUM_TYPES_H__\n" \
+ --fprod "/* enumerations from \"@filename@\" */\n" \
+ --vhead "GType @enum_name@_get_type (void);\n#define GDK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
+ --ftail "#endif /* __GDK_PIXBUF_ENUM_TYPES_H__ */" \
+ $(gdk_pixbuf_headers) ) > gdk-pixbuf-enum-types.h
+
+#
+# gdk-pixbuf-enum-types.c
+#
+gdk-pixbuf-enum-types.c: $(gdk_pixbuf_headers) makefile.msc
+ $(PERL) $(GLIB)\gobject\glib-mkenums \
+ --fhead "#include <gdk-pixbuf/gdk-pixbuf.h>" \
+ --fprod "\n/* enumerations from \"@filename@\" */" \
+ --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[] = {" \
+ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+ --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \
+ $(gdk_pixbuf_headers) > gdk-pixbuf-enum-types.c
+
+gdk-pixbuf-enum-types.obj : gdk-pixbuf-enum-types.c gdk-pixbuf-enum-types.h
+
$(PRJ_TOP)\config.h: $(PRJ_TOP)\config.h.win32
copy $(PRJ_TOP)\config.h.win32 $(PRJ_TOP)\config.h