f4186562ac0208ee12691675c8ccc468cc9a1e4d
[platform/upstream/glib.git] / gobject / makefile.msc.in
1 ## Makefile for building the gobject dll with Microsoft C
2 ## Use: nmake -f makefile.msc install
3
4 TOP = ..\..
5
6 !INCLUDE $(TOP)\build\win32\make.msc
7
8 # Possibly override GLib version in build\win32\object.defs
9 GLIB_VER = @GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@
10
11 ################################################################
12
13 # Nothing much configurable below
14
15 INCLUDES = -I .. -I . -I ..\glib
16 DEFINES = -DHAVE_CONFIG_H -DGOBJECT_COMPILATION -DG_LOG_DOMAIN=g_log_domain_gruntime \
17                 -DG_ENABLE_DEBUG
18 #               -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS
19 #               -DG_DISABLE_CAST_CHECKS
20
21 all :                           \
22         glib-genmarshal.exe     \
23         gobject-query.exe     \
24         gmarshal.h              \
25         gmarshal.c              \
26         gobject-$(GLIB_VER).dll \
27         gobject-$(GLIB_VER)s.lib
28
29 gobject_OBJECTS =               \
30         gboxed.obj              \
31         gbsearcharray.obj       \
32         gclosure.obj            \
33         genums.obj              \
34         gobject.obj             \
35         gparam.obj              \
36         gparamspecs.obj         \
37         gsignal.obj             \
38         gtype.obj               \
39         gtypemodule.obj         \
40         gtypeplugin.obj         \
41         gvalue.obj              \
42         gvaluearray.obj         \
43         gvaluetypes.obj \
44         gvaluetransform.obj
45
46 gmarshal.h : gmarshal.list glib-genmarshal.exe
47         echo #ifndef __G_MARSHAL_H__ > xgen-gmh
48         echo #define __G_MARSHAL_H__ >> xgen-gmh
49         glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --header >> xgen-gmh
50         echo #endif /* __G_MARSHAL_H__ */ >> xgen-gmh
51         copy xgen-gmh gmarshal.h
52
53 gmarshal.c: gmarshal.list gmarshal.h glib-genmarshal.exe
54         glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --body > gmarshal.c
55
56 makefile.msc: makefile.msc.in
57         $(SED) -e s,@GLIB[_]MAJOR_VERSION@,@GLIB_MAJOR_VERSION@, \
58                -e s,@GLIB[_]MINOR_VERSION@,@GLIB_MINOR_VERSION@, <makefile.msc.in >$@
59
60 gobject-$(GLIB_VER).dll : $(gobject_OBJECTS) gobject.def
61         $(CC) $(CFLAGS) -Fm -LD -Fegobject-$(GLIB_VER).dll $(gobject_OBJECTS) \
62         ..\glib\glib-$(GLIB_VER).lib $(LDFLAGS) /def:gobject.def
63
64 gobject-$(GLIB_VER)s.lib : $(gobject_OBJECTS) 
65         lib /out:gobject-$(GLIB_VER)s.lib $(gobject_OBJECTS)
66
67 # link glib's static version to avoid installing 
68 glib-genmarshal.exe : glib-genmarshal.c ..\glib\glib-$(GLIB_VER)s.lib gmarshal.strings
69         $(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION glib-genmarshal.c \
70         ..\glib\glib-$(GLIB_VER)s.lib user32.lib advapi32.lib $(INTL_LIBS) $(LIBICONV_LIBS)
71
72 gobject-query.exe : gobject-query.c ..\glib\glib-$(GLIB_VER).lib gobject-$(GLIB_VER).dll
73         $(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION gobject-query.c \
74         ..\glib\glib-$(GLIB_VER).lib gobject-$(GLIB_VER).lib user32.lib advapi32.lib $(INTL_LIBS) $(LIBICONV_LIBS)
75
76 gmarshal.strings : gmarshal.list
77         perl marshal-genstrings.pl > gmarshal.strings
78
79