makefile.msc 4.29 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
Tor Lillqvist committed
11

12
# Location of the Wintab toolkit. Downloadable from http://www.pointing.com.
Tor Lillqvist's avatar
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

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

# Nothing much configurable below
Tor Lillqvist's avatar
Tor Lillqvist committed
21
# overwrite version?
Hans Breuer's avatar
Hans Breuer committed
22
GTK_VER=3.0
23

Hans Breuer's avatar
Hans Breuer committed
24 25 26 27
!IFNDEF PERL
PERL = perl
!ENDIF

28 29
INCLUDES = -FImsvc_recommended_pragmas.h \
	-I . -I .. \
Hans Breuer's avatar
Hans Breuer committed
30
	$(GLIB_CFLAGS) $(PANGO_CFLAGS) $(CAIRO_CFLAGS) $(GDK_PIXBUF_CFLAGS) \
31 32

DEFINES = \
Hans Breuer's avatar
Hans Breuer committed
33
	-DHAVE_CONFIG_H \
34
	-DGDK_VERSION=\"$(GTK_VER)\" \
35 36
	-DG_LOG_DOMAIN=\"Gdk\" \
	-DGDK_COMPILATION -DG_LOG_DOMAIN=\"Gdk\"
37

38 39
EXTRALIBS = \
	$(WTKIT)\lib\i386\wntab32x.lib \
Hans Breuer's avatar
Hans Breuer committed
40 41 42
	$(GLIB_LIBS) $(GDK_PIXBUF_LIBS) \
	$(CAIRO_LIBS) $(CAIRO_GOBJECT_LIBS) \
	$(PANGOWIN32_LIBS) $(PANGOCAIRO_LIBS) $(INTL_LIBS)
43

44 45 46 47 48
gdk-win32-backend :
	cd win32
	nmake -nologo -f makefile.msc
	cd ..
	
49 50 51
all: \
	..\config.h \
	gdkconfig.h \
Hans Breuer's avatar
Hans Breuer committed
52 53
	gdkenumtypes.h \
	gdkenumtypes.c \
54 55
	gdkmarshalers.h \
	gdkmarshalers.c \
56
	gdk-win32-backend \
57
	libgdk-win32-$(GTK_VER)-0.dll \
Hans Breuer's avatar
Hans Breuer committed
58 59
#	testgdk.exe \
#	gdk-win32-$(GTK_VER)s.lib \
60
#	gdk-x11-$(GTK_VER).dll \
61 62 63

gdk_OBJECTS = \
	gdk.obj \
64
	gdkapplaunchcontext.obj \
65
	gdkcairo.obj \
66
	gdkcolor.obj \
67
	gdkcursor.obj \
Hans Breuer's avatar
Hans Breuer committed
68 69
	gdkdevice.obj \
	gdkdevicemanager.obj \
Hans Breuer's avatar
Hans Breuer committed
70
	gdkdisplay.obj \
71 72
	gdkdisplaymanager.obj \
	gdkdnd.obj \
Hans Breuer's avatar
Hans Breuer committed
73
	gdkenumtypes.obj \
74 75
	gdkevents.obj \
	gdkglobals.obj \
76
	gdkkeynames.obj \
Tor Lillqvist's avatar
Tor Lillqvist committed
77
	gdkkeys.obj \
Tor Lillqvist's avatar
Tor Lillqvist committed
78
	gdkkeyuni.obj \
Hans Breuer's avatar
Hans Breuer committed
79 80
	gdkmarshalers.obj \
	gdkoffscreenwindow.obj \
Tor Lillqvist's avatar
Tor Lillqvist committed
81
	gdkpango.obj \
Hans Breuer's avatar
Hans Breuer committed
82
	gdkpixbuf-drawable.obj \
83
	gdkrectangle.obj \
Hans Breuer's avatar
Hans Breuer committed
84
	gdkrgba.obj \
Hans Breuer's avatar
Hans Breuer committed
85
	gdkscreen.obj \
86 87
	gdkselection.obj \
	gdkvisual.obj \
Hans Breuer's avatar
Hans Breuer committed
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
	gdkwindow.obj \
	gdkwindowimpl.obj \

gdk_public_h_sources = 				\
	gdk.h					\
	gdkapplaunchcontext.h			\
	gdkcairo.h				\
	gdkcolor.h				\
	gdkcursor.h				\
	gdkdevice.h				\
	gdkdevicemanager.h			\
	gdkdisplay.h				\
	gdkdisplaymanager.h			\
	gdkdnd.h				\
	gdkevents.h				\
	gdkkeys.h				\
	gdkkeysyms.h				\
	gdkkeysyms-compat.h			\
	gdkmain.h				\
	gdkpango.h				\
	gdkpixbuf.h				\
	gdkprivate.h				\
	gdkproperty.h				\
	gdkrectangle.h				\
	gdkrgba.h				\
	gdkscreen.h				\
	gdkselection.h				\
	gdktestutils.h				\
	gdkthreads.h				\
	gdktypes.h				\
	gdkvisual.h				\
	gdkwindow.h
Hans Breuer's avatar
Hans Breuer committed
120

121 122
# private marshalers
gdkmarshalers.h : gdkmarshalers.list
123
	$(GLIB)\gobject\glib-genmarshal --prefix=_gdk_marshal gdkmarshalers.list --header >>gdkmarshalers.h
124 125

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

128 129 130
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
Hans Breuer committed
131

132 133 134
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
135

136 137 138 139 140 141
..\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
Hans Breuer committed
142 143
gdk.def: gdk.symbols
	echo EXPORTS > gdk.def
144
	cl /EP -DG_OS_WIN32 -DGDK_WINDOWING_WIN32 \
145 146
		-DG_GNUC_CONST= \
		gdk.symbols >> gdk.def
Hans Breuer's avatar
Hans Breuer committed
147

Hans Breuer's avatar
Hans Breuer committed
148
# /force /verbose:lib 
149 150 151 152
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
Tor Lillqvist committed
153

154 155 156 157 158 159 160 161
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

162
testgdk.exe : libgdk-win32-$(GTK_VER)-0.dll testgdk.obj
Hans Breuer's avatar
Hans Breuer committed
163
	$(CC) -Fetestgdk.exe testgdk.obj gdk-win32-$(GTK_VER).lib $(EXTRALIBS) $(LDFLAGS)
164

Hans Breuer's avatar
Hans Breuer committed
165
clean::
166 167 168
	cd win32
	nmake -f makefile.msc clean
	cd ..
169 170
	del gdkmarshalers.c
	del gdkmarshalers.h
171 172 173 174 175
	del *.dll
	del *.obj
	del *.lib
	del *.err
	del *.res