## Makefile for building the GDK DLL with Microsoft C
## Use: nmake -f makefile.msc

## You must first build the Win32-dependent sources in the win32 subdirectory.

## There is no install target, you have to decide where and 
## how to install for yourself.

TOP = ../..
!INCLUDE $(TOP)/build/win32/make.msc

# Location of the Wintab toolkit. Downloadable from http://www.pointing.com.
# definition should possibly go to build/win32/module.def, too.
WTKIT = ..\..\wtkit126

###############################################################

# Nothing much configurable below

!IFNDEF DEBUG
# Full optimization:
OPTIMIZE = -Ox -MD -Zi
LINKDEBUG = /nodefaultlib:libc.lib
!ELSE
# Debugging:
OPTIMIZE = -Zi -MDd
LINKDEBUG = /nodefaultlib:libcd.lib /nodefaultlib:libc.lib /debug
!ENDIF

# cl -? describes the options
CC = cl -G5 -GF $(OPTIMIZE) -W3 -nologo

LDFLAGS = /link $(LINKDEBUG)

# overwrite version?
GTK_VER=1.3

CFLAGS = -I . -I .. $(GLIB_CFLAGS) $(PANGO_CFLAGS) -I ../gdk-pixbuf \
		-DG_ENABLE_DEBUG -DHAVE_CONFIG_H -DGDK_VERSION=\"$(GTK_VER)\"
EXTRALIBS = $(WTKIT)\lib\i386\wntab32x.lib $(GLIB_LIBS) \
		..\gdk-pixbuf\gdk_pixbuf-$(GDK_PIXBUF_VER).lib $(PANGOWIN32_LIBS)

all: \
	..\config.h \
	gdkconfig.h \
	gdk-$(GTK_VER).dll \
	testgdk.exe

gdk_OBJECTS = \
	gdk.obj \
	gdkcolor.obj \
	gdkcursor.obj \
	gdkdraw.obj \
	gdkevents.obj \
	gdkfont.obj \
	gdkgc.obj \
	gdkglobals.obj \
	gdkimage.obj \
	gdkkeyuni.obj \
	gdkpango.obj \
	gdkpixmap.obj \
	gdkregion-generic.obj \
	gdkpixbuf-render.obj \
	gdkpolyreg-generic.obj \
	gdkrgb.obj \
	gdkrectangle.obj \
	gdkwindow.obj

..\config.h : ..\config.h.win32
	copy ..\config.h.win32 ..\config.h

gdkconfig.h : gdkconfig.h.win32
	copy gdkconfig.h.win32 gdkconfig.h

gdk-$(GTK_VER).dll : $(gdk_OBJECTS) gdk.def win32\gdk-win32.lib
	$(CC) $(CFLAGS) -LD -Fegdk-$(GTK_VER).dll $(gdk_OBJECTS) win32\gdk-win32.lib $(EXTRALIBS) gdi32.lib user32.lib imm32.lib shell32.lib ole32.lib uuid.lib win32\gdk.res $(LDFLAGS) /def:gdk.def

testgdk.exe : gdk-$(GTK_VER).dll testgdk.obj
	$(CC) -Fetestgdk.exe testgdk.obj gdk-$(GTK_VER).lib $(EXTRALIBS) $(LDFLAGS)

.c.obj :
	$(CC) $(CFLAGS) -GD -c -DGDK_COMPILATION -DG_LOG_DOMAIN=\"Gdk\" $<

clean:
	del *.dll
	del *.obj
	del *.lib
	del *.err
	del *.res
