summaryrefslogtreecommitdiff
path: root/gobject/makefile.msc.in
blob: c675aedf032afd9b5fb914dee78f9f38695ffe12 (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
## Makefile for building the gobject dll with Microsoft C
## Use: nmake -f makefile.msc install

TOP = ..\..

!INCLUDE ..\build\win32\make.msc

# Possibly override GLib version in build\win32\object.defs
GLIB_VER = @GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@

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

# Nothing much configurable below

INCLUDES = -I .. -I . -I ..\glib
DEFINES = -DHAVE_CONFIG_H -DGOBJECT_COMPILATION -DG_LOG_DOMAIN=g_log_domain_gruntime \
		-DG_ENABLE_DEBUG
#		-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS
#		-DG_DISABLE_CAST_CHECKS

all :				\
	glib-genmarshal.exe     \
	gmarshal.h              \
	gmarshal.c              \
	gmarshal.strings \
	gobject-query.exe \
	libgobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@-@LT_CURRENT_MINUS_AGE@.dll	\
	gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib

gobject_OBJECTS =		\
	gboxed.obj		\
	gclosure.obj		\
	genums.obj		\
	gobject.obj		\
	gparam.obj		\
	gparamspecs.obj		\
	gsignal.obj		\
	gsourceclosure.obj	\
	gtype.obj		\
	gtypemodule.obj		\
	gtypeplugin.obj		\
	gvalue.obj		\
	gvaluearray.obj		\
	gvaluetypes.obj	\
	gvaluetransform.obj

gmarshal.h : gmarshal.list glib-genmarshal.exe
	echo #ifndef __G_MARSHAL_H__ > xgen-gmh
	echo #define __G_MARSHAL_H__ >> xgen-gmh
	glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --header >> xgen-gmh
	echo #endif /* __G_MARSHAL_H__ */ >> xgen-gmh
	copy xgen-gmh gmarshal.h

gmarshal.c: gmarshal.list gmarshal.h glib-genmarshal.exe
	glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --body > gmarshal.c

libgobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@-@LT_CURRENT_MINUS_AGE@.dll : $(gobject_OBJECTS) gobject.def
	$(CC) $(CFLAGS) -Fm -LD -Fe$@ $(gobject_OBJECTS) \
	..\glib\glib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@.lib $(LDFLAGS) /implib:gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@.lib /def:gobject.def

gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib : $(gobject_OBJECTS) 
	lib /out:$@ $(gobject_OBJECTS)

# link glib's static version to avoid installing 
glib-genmarshal.exe : glib-genmarshal.c gmarshal.strings
	$(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION glib-genmarshal.c \
	..\glib\glib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib user32.lib advapi32.lib $(INTL_LIBS) $(LIBICONV_LIBS)

gobject-query.exe : gobject-query.c libgobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@-@LT_CURRENT_MINUS_AGE@.dll
	$(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION gobject-query.c \
	..\glib\glib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@.lib gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@.lib user32.lib advapi32.lib $(INTL_LIBS) $(LIBICONV_LIBS)

gmarshal.strings : gmarshal.list
	perl marshal-genstrings.pl > gmarshal.strings