summaryrefslogtreecommitdiff
path: root/makefile.msc
blob: b3814cfb8952d67a02f0945b125b388edfa17006 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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
TOP = ..\..
!INCLUDE $(TOP)\glib\build\win32\make.msc

#DEBUG=1

PYTHONDIR = c:\python23
!IFNDEF DEBUG
EXTRALIBS = $(PYTHONDIR)\libs\python23.lib user32.lib
!ELSE
EXTRALIBS = $(PYTHONDIR)\libs\python23_d.lib user32.lib
# Python in Debug Build requires a modue name postfix
PYD_POSTFIX = _d
!ENDIF

EXTRACFLAGS = -I$(PYTHONDIR)\include
MODULE_EXT = pyd

MODULES = atk pango

sub-all: 
	for %d in ($(MODULES)) do nmake -nologo -f makefile.msc sub-one THIS=%d

sub-one :
	nmake -nologo -f makefile.msc MODULE=$(THIS) $(THIS)$(PYD_POSTFIX).$(MODULE_EXT) OBJ_$(THIS)=1

sub-clean :
	cd gtk
	nmake -nologo -f makefile.msc clean
	cd ..\gobject
	nmake -nologo -f makefile.msc clean
	cd ..

sub-gtk :
	cd gtk
	nmake -nologo -f makefile.msc $(TARGET)
	cd ..

sub-gobject :
	cd gobject
	nmake -nologo -f makefile.msc $(TARGET)
	cd ..

all : \
	config.h \
	sub-all \
	sub-gtk \
	sub-gobject

# nothing much configuarable below this line ...
#################################################################

.SUFFIXES: .defs .c .exe

atk.c : atk.defs atk.override
pango.c : pango.defs pango.override

.defs.c :
	 $(PYTHONDIR)\python codegen/codegen.py \
	    --register pango-types.defs \
	    --register atk-types.defs \
#	    --register gtk/gdk-types.defs \
#	    --register gtk/gtk-types.defs \
	    --override $*.override \
	    --errorfilename gen-$*.err \
	    --prefix py$* $*.defs > gen-$*.c
	copy gen-$*.c $*.c
	del gen-$*.c

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

LDFLAGS = /link /machine:ix86 $(LINKDEBUG)

INCLUDES = \
	-FImsvc_recommended_pragmas.h \
	-DHAVE_CONFIG_H $(EXTRACFLAGS) -Igobject \
	-I. $(GLIB_CFLAGS) $(PANGO_CFLAGS) $(ATK_CFLAGS)

#	-I$(LIBGLADE) -I$(LIBXML)

!IFDEF OBJ_gobject
OBJECTS = \
	gobject\gobjectmodule.obj \
	gobject\pygboxed.obj \
	gobject\pygenum.obj \
	gobject\pygflags.obj \
	gobject\pygobject.obj \
	gobject\pygmaincontext.obj \
	gobject\pygmainloop.obj \
	gobject\pygparamspec.obj \
	gobject\pygpointer.obj \
	gobject\pygtype.obj
!ENDIF

!IFDEF OBJ_atk
EXTRALIBS = $(EXTRALIBS) $(ATK_LIBS)
!ENDIF

!IFDEF OBJ_pango
EXTRALIBS = $(EXTRALIBS) $(PANGO_LIBS)
!ENDIF

!IFNDEF OBJECTS
OBJECTS = \
	$(MODULE).obj \
	$(MODULE)module.obj
!ENDIF

config.h : config.h.win32
	copy config.h.win32 config.h
 
$(MODULE)$(PYD_POSTFIX).$(MODULE_EXT) : $(OBJECTS)
	$(CC) $(CFLAGS) -LD -Fe$@ $(OBJECTS) $(LDFLAGS) $(EXTRALIBS) \
	$(GLIB_LIBS) /export:init$(MODULE)

clean:: sub-clean
	del *.pyc
	del *.pyd