]> Pileus Git - ~andy/gtk/blobdiff - gdk-pixbuf/makefile.msc
Clarify misleading explanation of rowstride. (#119000)
[~andy/gtk] / gdk-pixbuf / makefile.msc
index ca11da023149e64a68e2e9727d3c0c00acead564..e658cff78c64eed48680bcea147dfaca28258a50 100644 (file)
@@ -3,16 +3,29 @@ PRJ_TOP = ..
 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=\".\"
 
@@ -23,6 +36,7 @@ PKG_LINK = $(GLIB_LIBS) \
        pixops\pixops.lib \
  
 OBJECTS = \
+       gdk-pixbuf-enum-types.obj \
        gdk-pixbuf-animation.obj \
        gdk-pixbuf-data.obj \
        gdk-pixbuf-io.obj \
@@ -43,6 +57,10 @@ OBJECTS = \
        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
 
@@ -51,30 +69,36 @@ gdk-pixbuf-marshal.c: gdk-pixbuf-marshal.list
 
 ## 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
@@ -85,6 +109,31 @@ gdk-pixbuf-csource.exe : gdk-pixbuf-csource.c
 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