makefile.msc 4.73 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 \
Hans Breuer's avatar
Hans Breuer committed
94
	gdkwindowimpl.obj \
95
	gdkkeynames.obj \
Tor Lillqvist's avatar
Tor Lillqvist committed
96
	gdkkeys.obj \
Tor Lillqvist's avatar
Update.  
Tor Lillqvist committed
97 98
	gdkkeyuni.obj \
	gdkpango.obj \
Hans Breuer's avatar
Hans Breuer committed
99
	gdkpixbuf-drawable.obj \
Tor Lillqvist's avatar
Update.  
Tor Lillqvist committed
100
	gdkpixbuf-render.obj \
Hans Breuer's avatar
Hans Breuer committed
101
	gdkpixmap.obj \
Tor Lillqvist's avatar
Update.  
Tor Lillqvist committed
102
	gdkpolyreg-generic.obj \
103
	gdkrectangle.obj \
Hans Breuer's avatar
Hans Breuer committed
104 105
	gdkregion-generic.obj \
	gdkrgb.obj \
Hans Breuer's avatar
Hans Breuer committed
106
	gdkscreen.obj \
107 108
	gdkselection.obj \
	gdkvisual.obj \
109 110
	gdkwindow.obj

Hans Breuer's avatar
updated  
Hans Breuer committed
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
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	\

136 137 138 139 140 141 142
# 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

143 144 145
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
146

147 148 149
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
150

151 152 153 154 155 156
..\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
157 158 159
gdkalias.h: gdk.symbols
	perl makegdkalias.pl < gdk.symbols > gdkalias.h

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

Hans Breuer's avatar
updated  
Hans Breuer committed
163 164
gdk.def: gdk.symbols
	echo EXPORTS > gdk.def
165 166 167
	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
168

169 170 171 172
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
173

174 175 176 177 178 179 180 181
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

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

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

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