Blame gdk-pixbuf/makefile.msc

Packit a4058c
TOP = ..\..
Packit a4058c
PRJ_TOP = ..
Packit a4058c
PACKAGE = gdk_pixbuf
Packit a4058c
PKG_VER = $(GDK_PIXBUF_VER)
Packit a4058c
Packit a4058c
!INCLUDE $(TOP)/glib/build/win32/make.msc
Packit a4058c
Packit a4058c
!IFNDEF PERL
Packit a4058c
PERL = perl
Packit a4058c
!ENDIF
Packit a4058c
Packit a4058c
GDK_PIXBUF_VER = 2.0
Packit a4058c
Packit a4058c
# -DINCLUDE_gdiplus _replaces_ -DINCLUDE_bmp -DINCLUDE_gif -DINCLUDE_ico -DINCLUDE_jpeg  -DINCLUDE_tiff
Packit a4058c
# but not yet -DINCLUDE_png 
Packit a4058c
##USEGDIP=1
Packit a4058c
# to get _working_ include modules we need respective defines ...
Packit a4058c
#   
Packit a4058c
BUILT_IN_FORMATS = \
Packit a4058c
!IFDEF USEGDIP
Packit a4058c
	-DINCLUDE_gdiplus \
Packit a4058c
!ELSE
Packit a4058c
	-DINCLUDE_bmp -DINCLUDE_gif -DINCLUDE_ico -DINCLUDE_jpeg -DINCLUDE_tiff \
Packit a4058c
!ENDIF
Packit a4058c
	-DINCLUDE_png \
Packit a4058c
	-DINCLUDE_xpm -DINCLUDE_wbmp \
Packit a4058c
	-DINCLUDE_pnm -DINCLUDE_ras
Packit a4058c
Packit a4058c
PKG_CFLAGS = -FImsvc_recommended_pragmas.h \
Packit a4058c
!IFNDEF USEGDIP
Packit a4058c
 	$(JPEG_CFLAGS) $(TIFF_CFLAGS) \
Packit a4058c
!ENDIF
Packit a4058c
	-I. -I.. $(GLIB_CFLAGS) \
Packit a4058c
	$(BUILT_IN_FORMATS) \
Packit a4058c
	$(PNG_CFLAGS) $(INTL_CFLAGS) \
Packit a4058c
	$(G_DEBUGGING) \
Packit a4058c
	-DGDK_PIXBUF_ENABLE_BACKEND \
Packit a4058c
	-DGTK_PREFIX=\"/just/some/non/existing/path/\" \
Packit a4058c
	-UUSE_GMODULE # use built-in
Packit a4058c
#	-DUSE_GMODULE -DPIXBUF_LIBDIR=\".\"
Packit a4058c
Packit a4058c
PKG_LINK = $(GLIB_LIBS) \
Packit a4058c
!IFNDEF USEGDIP
Packit a4058c
	$(TIFF_LIBS) $(JPEG_LIBS) \
Packit a4058c
!ENDIF
Packit a4058c
	$(PNG_LIBS) $(INTL_LIBS) \
Packit a4058c
	pixops\pixops.lib \
Packit a4058c
 
Packit a4058c
OBJECTS_NON_NATIVE = \
Packit a4058c
	io-bmp.obj \
Packit a4058c
	io-gif.obj \
Packit a4058c
	io-ico.obj \
Packit a4058c
	io-tiff.obj \
Packit a4058c
	io-jpeg.obj \
Packit a4058c
Packit a4058c
OBJECTS_NATIVE = \
Packit a4058c
	io-gdip-animation.obj \
Packit a4058c
	io-gdip-bmp.obj \
Packit a4058c
	io-gdip-emf.obj \
Packit a4058c
	io-gdip-gif.obj \
Packit a4058c
	io-gdip-ico.obj \
Packit a4058c
	io-gdip-jpeg.obj \
Packit a4058c
	io-gdip-tiff.obj \
Packit a4058c
	io-gdip-utils.obj \
Packit a4058c
	io-gdip-wmf.obj
Packit a4058c
Packit a4058c
OBJECTS = \
Packit a4058c
	gdk-pixbuf-enum-types.obj \
Packit a4058c
	gdk-pixbuf-animation.obj \
Packit a4058c
	gdk-pixbuf-data.obj \
Packit a4058c
	gdk-pixbuf-io.obj \
Packit a4058c
	gdk-pixbuf-loader.obj \
Packit a4058c
	gdk-pixbuf-scale.obj \
Packit a4058c
	gdk-pixbuf-scaled-anim.obj \
Packit a4058c
	gdk-pixbuf-util.obj \
Packit a4058c
	gdk-pixbuf.obj \
Packit a4058c
	gdk-pixbuf-simple-anim.obj \
Packit a4058c
	gdk-pixdata.obj \
Packit a4058c
	io-wbmp.obj \
Packit a4058c
	io-gif-animation.obj \
Packit a4058c
	io-png.obj \
Packit a4058c
	io-pnm.obj \
Packit a4058c
	io-ras.obj \
Packit a4058c
	io-xpm.obj \
Packit a4058c
!IFDEF USEGDIP
Packit a4058c
	$(OBJECTS_NATIVE)
Packit a4058c
!ELSE
Packit a4058c
	$(OBJECTS_NON_NATIVE)
Packit a4058c
!ENDIF
Packit a4058c
Packit a4058c
gdk_pixbuf_headers = 	\
Packit a4058c
	gdk-pixbuf.h	\
Packit a4058c
	gdk-pixbuf-core.h	\
Packit a4058c
	gdk-pixbuf-loader.h	\
Packit a4058c
	gdk-pixbuf-transform.h
Packit a4058c
Packit a4058c
gdk-pixbuf-marshal.h: gdk-pixbuf-marshal.list
Packit a4058c
	..\..\glib\gobject\glib-genmarshal --prefix=_gdk_pixbuf_marshal gdk-pixbuf-marshal.list --header >gdk-pixbuf-marshal.h
Packit a4058c
Packit a4058c
gdk-pixbuf-marshal.c: gdk-pixbuf-marshal.h gdk-pixbuf-marshal.list
Packit a4058c
	..\..\glib\gobject\glib-genmarshal --prefix=_gdk_pixbuf_marshal gdk-pixbuf-marshal.list --body >gdk-pixbuf-marshal.c
Packit a4058c
Packit a4058c
gdk-pixbuf-alias.h: gdk-pixbuf.symbols
Packit a4058c
	perl makegdkpixbufalias.pl < gdk-pixbuf.symbols > gdk-pixbuf-alias.h
Packit a4058c
Packit a4058c
gdk_pixbuf.def: gdk-pixbuf.symbols makefile.msc
Packit a4058c
	echo EXPORTS > gdk_pixbuf.def
Packit a4058c
	cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES \
Packit a4058c
	-DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= -DG_GNUC_PRINTF=;G_GNUC_PRINTF \
Packit a4058c
	gdk-pixbuf.symbols >> gdk_pixbuf.def
Packit a4058c
Packit a4058c
gdk-pixbuf-aliasdef.c: gdk-pixbuf.symbols
Packit a4058c
	 perl makegdkpixbufalias.pl -def < gdk-pixbuf.symbols > gdk-pixbuf-aliasdef.c
Packit a4058c
Packit a4058c
## common stuff
Packit a4058c
Packit a4058c
INSTALL = copy
Packit a4058c
Packit a4058c
CFLAGS = -I. -DHAVE_CONFIG_H
Packit a4058c
Packit a4058c
sub-pixops :
Packit a4058c
	cd pixops
Packit a4058c
	nmake -f makefile.msc
Packit a4058c
	cd ..
Packit a4058c
Packit a4058c
## targets
Packit a4058c
all : \
Packit a4058c
	$(PRJ_TOP)\config.h \
Packit a4058c
	gdk-pixbuf-alias.h \
Packit a4058c
	gdk-pixbuf-aliasdef.c \
Packit a4058c
	gdk-pixbuf-marshal.h \
Packit a4058c
	gdk-pixbuf-marshal.c \
Packit a4058c
	sub-pixops \
Packit a4058c
	lib$(PACKAGE)-$(PKG_VER)-0.dll \
Packit a4058c
	$(PACKAGE)-$(PKG_VER)s.lib \
Packit a4058c
#	make-inline-pixbuf.exe \
Packit a4058c
	gdk-pixbuf-csource.exe \
Packit a4058c
	test-gdk-pixbuf.exe
Packit a4058c
Packit a4058c
$(PACKAGE).res : $(PACKAGE).rc
Packit a4058c
	rc -DBUILDNUMBER=0 -r -fo $(PACKAGE).res $(PACKAGE).rc
Packit a4058c
Packit a4058c
$(PACKAGE)-$(PKG_VER)s.lib : $(OBJECTS)
Packit a4058c
	lib /out:$(PACKAGE)-$(PKG_VER)s.lib $(OBJECTS) pixops\pixops.lib
Packit a4058c
Packit a4058c
lib$(PACKAGE)-$(PKG_VER)-0.dll : $(OBJECTS) $(PACKAGE).def $(PACKAGE).res
Packit a4058c
	$(CC) $(CFLAGS) -LD -Fe$@ $(OBJECTS) $(PKG_LINK) user32.lib advapi32.lib ole32.lib wsock32.lib $(PACKAGE).res \
Packit a4058c
	$(LDFLAGS) /implib:$(PACKAGE)-$(PKG_VER).lib /def:$(PACKAGE).def
Packit a4058c
Packit a4058c
make-inline-pixbuf.exe : make-inline-pixbuf.c
Packit a4058c
	$(CC) $(PKG_CFLAGS) -Femake-inline-pixbuf.exe make-inline-pixbuf.c $(PKG_LINK) $(PACKAGE)-$(PKG_VER).lib
Packit a4058c
Packit a4058c
gdk-pixbuf-csource.exe : gdk-pixbuf-csource.c
Packit a4058c
	$(CC) $(PKG_CFLAGS) -Fegdk-pixbuf-csource.exe gdk-pixbuf-csource.c $(PKG_LINK) $(PACKAGE)-$(PKG_VER).lib
Packit a4058c
Packit a4058c
test-gdk-pixbuf.exe : test-gdk-pixbuf.c
Packit a4058c
	$(CC) $(PKG_CFLAGS) -Fetest-gdk-pixbuf.exe test-gdk-pixbuf.c $(PKG_LINK) $(PACKAGE)-$(PKG_VER).lib
Packit a4058c
Packit a4058c
#
Packit a4058c
# gdk-pixbuf-enum-types.h
Packit a4058c
#
Packit a4058c
gdk-pixbuf-enum-types.h : $(gdk_pixbuf_headers) makefile.msc
Packit a4058c
	$(PERL) $(GLIB)\gobject\glib-mkenums \
Packit a4058c
		--fhead "#ifndef __GDK_PIXBUF__ENUM_TYPES_H__\n#define __GDK_PIXBUF_ENUM_TYPES_H__\n" \
Packit a4058c
		--fprod "/* enumerations from \"@filename@\" */\n" \
Packit a4058c
		--vhead "GType @enum_name@_get_type (void);\n#define GDK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n"         \
Packit a4058c
		--ftail "#endif /* __GDK_PIXBUF_ENUM_TYPES_H__ */" \
Packit a4058c
		$(gdk_pixbuf_headers) ) > gdk-pixbuf-enum-types.h
Packit a4058c
Packit a4058c
#
Packit a4058c
# gdk-pixbuf-enum-types.c
Packit a4058c
#
Packit a4058c
gdk-pixbuf-enum-types.c: $(gdk_pixbuf_headers) makefile.msc
Packit a4058c
	$(PERL) $(GLIB)\gobject\glib-mkenums \
Packit a4058c
		--fhead "#include <gdk-pixbuf/gdk-pixbuf.h>" \
Packit a4058c
		--fprod "\n/* enumerations from \"@filename@\" */" \
Packit a4058c
		--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[] = {"       \
Packit a4058c
		--vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
Packit a4058c
		--vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
Packit a4058c
		  $(gdk_pixbuf_headers) > gdk-pixbuf-enum-types.c
Packit a4058c
Packit a4058c
gdk-pixbuf-enum-types.obj : gdk-pixbuf-enum-types.c gdk-pixbuf-enum-types.h
Packit a4058c
Packit a4058c
$(PRJ_TOP)\config.h: $(PRJ_TOP)\config.h.win32
Packit a4058c
	copy $(PRJ_TOP)\config.h.win32 $(PRJ_TOP)\config.h
Packit a4058c
Packit a4058c
.c.obj :
Packit a4058c
	$(CC) $(CFLAGS) -GD -c $(PKG_CFLAGS) $<
Packit a4058c
Packit a4058c
clean::
Packit a4058c
	del config.h
Packit a4058c
	del gdk-pixbuf-marshal.h
Packit a4058c
	del gdk-pixbuf-marshal.c
Packit a4058c
	del gdk-pixbuf-alaias.h
Packit a4058c
Packit a4058c
Packit a4058c