makefile.msc 4.71 KB
Newer Older
1 2 3 4 5 6 7 8
## 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.

9
TOP = ..\..
10
!INCLUDE $(TOP)/glib/build/win32/make.msc
Tor Lillqvist's avatar
Update.  
Tor Lillqvist committed
11

12
# Location of the Wintab toolkit. Downloadable from http://www.pointing.com.
Tor Lillqvist's avatar
Update.  
Tor Lillqvist committed
13
# definition should possibly go to build/win32/module.def, too.
14 15 16
!IFNDEF WTKIT
WTKIT = $(TOP)\wtkit126
!ENDIF
17 18 19 20 21 22 23

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

# Nothing much configurable below

!IFNDEF DEBUG
# Full optimization:
24 25
OPTIMIZE = -Ox -MD -Zi
LINKDEBUG = /nodefaultlib:libc.lib
26 27 28
!ELSE
# Debugging:
OPTIMIZE = -Zi -MDd
29
LINKDEBUG = /nodefaultlib:libcd.lib /nodefaultlib:libc.lib /debug
30 31 32 33 34 35 36
!ENDIF

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

LDFLAGS = /link $(LINKDEBUG)

Tor Lillqvist's avatar
Update.  
Tor Lillqvist committed
37
# overwrite version?
Owen Taylor's avatar
Owen Taylor committed
38
GTK_VER=2.0
Hans Breuer's avatar
Hans Breuer committed
39
GDK_PIXBUF_VER=$(GTK_VER)
40

Hans Breuer's avatar
updated  
Hans Breuer committed
41 42 43 44
!IFNDEF PERL
PERL = perl
!ENDIF

45
CFLAGS = -FImsvc_recommended_pragmas.h -I . -I .. \
46
	$(GLIB_CFLAGS) $(PANGO_CFLAGS) $(CAIRO_CFLAGS) -I ../gdk-pixbuf \
Hans Breuer's avatar
Hans Breuer committed
47 48 49 50
	$(G_DEBUGGING) -DHAVE_CONFIG_H -DGDK_ENABLE_BROKEN \
	-DGDK_VERSION=\"$(GTK_VER)\" \
	-DG_LOG_DOMAIN=\"Gdk\"

51 52 53 54 55 56
EXTRALIBS = \
	$(WTKIT)\lib\i386\wntab32x.lib \
	$(GLIB_LIBS) \
	..\gdk-pixbuf\gdk_pixbuf-$(GDK_PIXBUF_VER).lib \
	$(PANGOWIN32_LIBS) $(INTL_LIBS) $(CAIRO_LIBS) \
	$(PANGOCAIRO_LIBS)
57

58 59 60 61 62
gdk-win32-backend :
	cd win32
	nmake -nologo -f makefile.msc
	cd ..
	
63 64 65
all: \
	..\config.h \
	gdkconfig.h \
Hans Breuer's avatar
updated  
Hans Breuer committed
66
	gdkalias.h \
67
	gdkaliasdef.c \
Hans Breuer's avatar
updated  
Hans Breuer committed
68 69
	gdkenumtypes.h \
	gdkenumtypes.c \
70 71
	gdkmarshalers.h \
	gdkmarshalers.c \
72
	gdk-win32-backend \
73
	libgdk-win32-$(GTK_VER)-0.dll \
74 75 76
	testgdk.exe \
	gdk-win32-$(GTK_VER)s.lib \
#	gdk-x11-$(GTK_VER).dll \
77 78 79

gdk_OBJECTS = \
	gdk.obj \
80
	gdkapplaunchcontext.obj \
81
	gdkcairo.obj \
82
	gdkcolor.obj \
83
	gdkcursor.obj \
Hans Breuer's avatar
Hans Breuer committed
84
	gdkdisplay.obj \
85 86
	gdkdisplaymanager.obj \
	gdkdnd.obj \
87
	gdkdraw.obj \
Hans Breuer's avatar
updated  
Hans Breuer committed
88
	gdkenumtypes.obj \
89 90 91 92 93
	gdkevents.obj \
	gdkfont.obj \
	gdkgc.obj \
	gdkglobals.obj \
	gdkimage.obj \
94
	gdkkeynames.obj \
Tor Lillqvist's avatar
Tor Lillqvist committed
95
	gdkkeys.obj \
Tor Lillqvist's avatar
Update.  
Tor Lillqvist committed
96 97
	gdkkeyuni.obj \
	gdkpango.obj \
Hans Breuer's avatar
Hans Breuer committed
98
	gdkpixbuf-drawable.obj \
Tor Lillqvist's avatar
Update.  
Tor Lillqvist committed
99
	gdkpixbuf-render.obj \
Hans Breuer's avatar
Hans Breuer committed
100
	gdkpixmap.obj \
Tor Lillqvist's avatar
Update.  
Tor Lillqvist committed
101
	gdkpolyreg-generic.obj \
102
	gdkrectangle.obj \
Hans Breuer's avatar
Hans Breuer committed
103 104
	gdkregion-generic.obj \
	gdkrgb.obj \
Hans Breuer's avatar
Hans Breuer committed
105
	gdkscreen.obj \
106 107
	gdkselection.obj \
	gdkvisual.obj \
108 109
	gdkwindow.obj

Hans Breuer's avatar
updated  
Hans Breuer committed
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
gdk_public_h_sources = \
	gdk.h		\
	gdkcolor.h	\
	gdkcursor.h     \
	gdkdnd.h	\
	gdkdrawable.h	\
	gdkevents.h	\
	gdkfont.h	\
	gdkgc.h		\
	gdkkeysyms.h	\
	gdki18n.h	\
	gdkimage.h	\
	gdkinput.h	\
	gdkkeys.h	\
	gdkpango.h	\
	gdkpixbuf.h	\
	gdkpixmap.h	\
	gdkproperty.h	\
	gdkregion.h	\
	gdkrgb.h	\
	gdkselection.h	\
	gdktypes.h	\
	gdkvisual.h	\
	gdkwindow.h	\

135 136 137 138 139 140 141
# private marshalers
gdkmarshalers.h : gdkmarshalers.list
	$(GLIB)\gobject\glib-genmarshal --prefix=gdk_marshal gdkmarshalers.list --header >>gdkmarshalers.h

gdkmarshalers.c : gdkmarshalers.list
	$(GLIB)\gobject\glib-genmarshal --prefix=gdk_marshal gdkmarshalers.list --body >gdkmarshalers.c

142 143 144
gdkenumtypes.h: $(gdk_public_h_sources) gdkenumtypes.h.template
	$(PERL) $(GLIB)\gobject\glib-mkenums --template gdkenumtypes.h.template \
		$(gdk_public_h_sources) > gdkenumtypes.h
Hans Breuer's avatar
updated  
Hans Breuer committed
145

146 147 148
gdkenumtypes.c: $(gdk_public_h_sources) gdkenumtypes.c.template
	$(PERL) $(GLIB)\gobject\glib-mkenums --template gdkenumtypes.c.template \
		$(gdk_public_h_sources) > gdkenumtypes.c
Hans Breuer's avatar
Hans Breuer committed
149

150 151 152 153 154 155
..\config.h : ..\config.h.win32
	copy ..\config.h.win32 ..\config.h

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

Hans Breuer's avatar
updated  
Hans Breuer committed
156 157 158
gdkalias.h: gdk.symbols
	perl makegdkalias.pl < gdk.symbols > gdkalias.h

159 160 161
gdkaliasdef.c: gdk.symbols
	 perl makegdkalias.pl -def < gdk.symbols > gdkaliasdef.c

Hans Breuer's avatar
updated  
Hans Breuer committed
162 163
gdk.def: gdk.symbols
	echo EXPORTS > gdk.def
164 165 166
	cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DGDK_WINDOWING_WIN32 -DALL_FILES \
		-DG_GNUC_CONST= \
		gdk.symbols >> gdk.def
Hans Breuer's avatar
updated  
Hans Breuer committed
167

168 169 170 171
libgdk-win32-$(GTK_VER)-0.dll : $(gdk_OBJECTS) gdk.def win32\gdk-win32.lib
	$(CC) $(CFLAGS) -LD -Fe$@ $(gdk_OBJECTS) win32\gdk-win32.lib $(EXTRALIBS) \
	gdi32.lib user32.lib imm32.lib shell32.lib ole32.lib uuid.lib win32\gdk.res \
	$(LDFLAGS) /implib:gdk-win32-$(GTK_VER).lib /def:gdk.def
Tor Lillqvist's avatar
Update.  
Tor Lillqvist committed
172

173 174 175 176 177 178 179 180
gdk-win32-$(GTK_VER)s.lib : $(gdk_OBJECTS)
	lib /out:gdk-win32-$(GTK_VER)s.lib $(gdk_OBJECTS) win32\gdk-win32.lib

gdk-x11-$(GTK_VER).dll : $(gdk_OBJECTS) gdk.def x11\gdk-x11.lib
	$(CC) $(CFLAGS) -LD -Fegdk-x11-$(GTK_VER).dll $(gdk_OBJECTS) \
	$(PANGO)\pango\pangox-$(PANGO_VER).lib \
	x11\gdk-x11.lib $(X11_LIBS) $(EXTRALIBS) user32.lib $(LDFLAGS) /def:gdk.def

181
testgdk.exe : libgdk-win32-$(GTK_VER)-0.dll testgdk.obj
Hans Breuer's avatar
Hans Breuer committed
182
	$(CC) -Fetestgdk.exe testgdk.obj gdk-win32-$(GTK_VER).lib $(EXTRALIBS) $(LDFLAGS)
183 184 185 186

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

Hans Breuer's avatar
Hans Breuer committed
187
clean::
188 189 190
	cd win32
	nmake -f makefile.msc clean
	cd ..
191 192
	del gdkmarshalers.c
	del gdkmarshalers.h
193 194 195 196 197
	del *.dll
	del *.obj
	del *.lib
	del *.err
	del *.res