]> Pileus Git - ~andy/gtk/blob - gdk/makefile.msc
gdk/: fully remove gdkalias hacks
[~andy/gtk] / gdk / makefile.msc
1 ## Makefile for building the GDK DLL with Microsoft C
2 ## Use: nmake -f makefile.msc
3
4 ## You must first build the Win32-dependent sources in the win32 subdirectory.
5
6 ## There is no install target, you have to decide where and 
7 ## how to install for yourself.
8
9 TOP = ..\..
10 !INCLUDE $(TOP)/glib/build/win32/make.msc
11
12 # Location of the Wintab toolkit. Downloadable from http://www.pointing.com.
13 # definition should possibly go to build/win32/module.def, too.
14 !IFNDEF WTKIT
15 WTKIT = $(TOP)\wtkit126
16 !ENDIF
17
18 ###############################################################
19
20 # Nothing much configurable below
21 # overwrite version?
22 GTK_VER=2.0
23 GDK_PIXBUF_VER=$(GTK_VER)
24
25 !IFNDEF PERL
26 PERL = perl
27 !ENDIF
28
29 INCLUDES = -FImsvc_recommended_pragmas.h \
30         -I . -I .. \
31         $(GLIB_CFLAGS) $(PANGO_CFLAGS) $(CAIRO_CFLAGS) -I ../gdk-pixbuf \
32
33 DEFINES = \
34         -DHAVE_CONFIG_H -DGDK_ENABLE_BROKEN \
35         -DGDK_VERSION=\"$(GTK_VER)\" \
36         -DG_LOG_DOMAIN=\"Gdk\" \
37         -DGDK_COMPILATION -DG_LOG_DOMAIN=\"Gdk\"
38
39 EXTRALIBS = \
40         $(WTKIT)\lib\i386\wntab32x.lib \
41         $(GLIB_LIBS) \
42         ..\gdk-pixbuf\gdk_pixbuf-$(GDK_PIXBUF_VER).lib \
43         $(PANGOWIN32_LIBS) $(PANGOCAIRO_LIBS) $(INTL_LIBS) $(CAIRO_LIBS) \
44         $(PANGOCAIRO_LIBS)
45
46 gdk-win32-backend :
47         cd win32
48         nmake -nologo -f makefile.msc
49         cd ..
50         
51 all: \
52         ..\config.h \
53         gdkconfig.h \
54         gdkenumtypes.h \
55         gdkenumtypes.c \
56         gdkmarshalers.h \
57         gdkmarshalers.c \
58         gdk-win32-backend \
59         libgdk-win32-$(GTK_VER)-0.dll \
60         testgdk.exe \
61         gdk-win32-$(GTK_VER)s.lib \
62 #       gdk-x11-$(GTK_VER).dll \
63
64 gdk_OBJECTS = \
65         gdk.obj \
66         gdkapplaunchcontext.obj \
67         gdkcairo.obj \
68         gdkcolor.obj \
69         gdkcursor.obj \
70         gdkdisplay.obj \
71         gdkdisplaymanager.obj \
72         gdkdnd.obj \
73         gdkdraw.obj \
74         gdkenumtypes.obj \
75         gdkevents.obj \
76         gdkgc.obj \
77         gdkglobals.obj \
78         gdkimage.obj \
79         gdkwindowimpl.obj \
80         gdkkeynames.obj \
81         gdkkeys.obj \
82         gdkkeyuni.obj \
83         gdkmarshalers.obj \
84         gdkoffscreenwindow.obj \
85         gdkpango.obj \
86         gdkpixbuf-drawable.obj \
87         gdkpixbuf-render.obj \
88         gdkpixmap.obj \
89         gdkrectangle.obj \
90         gdkrgb.obj \
91         gdkscreen.obj \
92         gdkselection.obj \
93         gdkvisual.obj \
94         gdkwindow.obj
95
96 gdk_public_h_sources = \
97         gdk.h           \
98         gdkcolor.h      \
99         gdkcursor.h     \
100         gdkdnd.h        \
101         gdkdrawable.h   \
102         gdkevents.h     \
103         gdkgc.h         \
104         gdkkeysyms.h    \
105         gdkimage.h      \
106         gdkinput.h      \
107         gdkkeys.h       \
108         gdkpango.h      \
109         gdkpixbuf.h     \
110         gdkpixmap.h     \
111         gdkproperty.h   \
112         gdkrgb.h        \
113         gdkselection.h  \
114         gdktypes.h      \
115         gdkvisual.h     \
116         gdkwindow.h     \
117
118 # private marshalers
119 gdkmarshalers.h : gdkmarshalers.list
120         $(GLIB)\gobject\glib-genmarshal --prefix=_gdk_marshal gdkmarshalers.list --header >>gdkmarshalers.h
121
122 gdkmarshalers.c : gdkmarshalers.list
123         $(GLIB)\gobject\glib-genmarshal --prefix=_gdk_marshal gdkmarshalers.list --body >gdkmarshalers.c
124
125 gdkenumtypes.h: $(gdk_public_h_sources) gdkenumtypes.h.template
126         $(PERL) $(GLIB)\gobject\glib-mkenums --template gdkenumtypes.h.template \
127                 $(gdk_public_h_sources) > gdkenumtypes.h
128
129 gdkenumtypes.c: $(gdk_public_h_sources) gdkenumtypes.c.template
130         $(PERL) $(GLIB)\gobject\glib-mkenums --template gdkenumtypes.c.template \
131                 $(gdk_public_h_sources) > gdkenumtypes.c
132
133 ..\config.h : ..\config.h.win32
134         copy ..\config.h.win32 ..\config.h
135
136 gdkconfig.h : gdkconfig.h.win32
137         copy gdkconfig.h.win32 gdkconfig.h
138
139 gdk.def: gdk.symbols
140         echo EXPORTS > gdk.def
141         cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DGDK_WINDOWING_WIN32 -DALL_FILES \
142                 -DG_GNUC_CONST= \
143                 gdk.symbols >> gdk.def
144
145 libgdk-win32-$(GTK_VER)-0.dll : $(gdk_OBJECTS) gdk.def win32\gdk-win32.lib
146         $(CC) $(CFLAGS) -LD -Fe$@ $(gdk_OBJECTS) win32\gdk-win32.lib $(EXTRALIBS) \
147         gdi32.lib user32.lib imm32.lib shell32.lib ole32.lib uuid.lib win32\gdk.res \
148         $(LDFLAGS) /implib:gdk-win32-$(GTK_VER).lib /def:gdk.def
149
150 gdk-win32-$(GTK_VER)s.lib : $(gdk_OBJECTS)
151         lib /out:gdk-win32-$(GTK_VER)s.lib $(gdk_OBJECTS) win32\gdk-win32.lib
152
153 gdk-x11-$(GTK_VER).dll : $(gdk_OBJECTS) gdk.def x11\gdk-x11.lib
154         $(CC) $(CFLAGS) -LD -Fegdk-x11-$(GTK_VER).dll $(gdk_OBJECTS) \
155         $(PANGO)\pango\pangox-$(PANGO_VER).lib \
156         x11\gdk-x11.lib $(X11_LIBS) $(EXTRALIBS) user32.lib $(LDFLAGS) /def:gdk.def
157
158 testgdk.exe : libgdk-win32-$(GTK_VER)-0.dll testgdk.obj
159         $(CC) -Fetestgdk.exe testgdk.obj gdk-win32-$(GTK_VER).lib $(EXTRALIBS) $(LDFLAGS)
160
161 clean::
162         cd win32
163         nmake -f makefile.msc clean
164         cd ..
165         del gdkmarshalers.c
166         del gdkmarshalers.h
167         del *.dll
168         del *.obj
169         del *.lib
170         del *.err
171         del *.res