=== Released 2.2.0 ===
[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 ..\build\win32\make.msc
7
8 ################################################################
9
10 INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib
11 DEFINES = -DHAVE_CONFIG_H -DGOBJECT_COMPILATION -DG_LOG_DOMAIN=\"GLib-GObject\" \
12                 -DG_ENABLE_DEBUG
13 #               -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS
14 #               -DG_DISABLE_CAST_CHECKS
15
16 all :                           \
17         glib-genmarshal.exe     \
18         gmarshal.h              \
19         gmarshal.c              \
20         gmarshal.strings \
21         gobject-query.exe \
22         libgobject-2.0-@LT_CURRENT_MINUS_AGE@.dll       \
23         gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib \
24         testgobject.exe \
25         testoverride.exe
26
27 gobject_OBJECTS =               \
28         gboxed.obj              \
29         gclosure.obj            \
30         genums.obj              \
31         gobject.obj             \
32         gparam.obj              \
33         gparamspecs.obj         \
34         gsignal.obj             \
35         gsourceclosure.obj      \
36         gtype.obj               \
37         gtypemodule.obj         \
38         gtypeplugin.obj         \
39         gvalue.obj              \
40         gvaluearray.obj         \
41         gvaluetypes.obj \
42         gvaluetransform.obj
43
44 gmarshal.h : gmarshal.list glib-genmarshal.exe
45         echo #ifndef __G_MARSHAL_H__ > xgen-gmh
46         echo #define __G_MARSHAL_H__ >> xgen-gmh
47         glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --header >> xgen-gmh
48         echo #endif /* __G_MARSHAL_H__ */ >> xgen-gmh
49         copy xgen-gmh gmarshal.h
50
51 gmarshal.c: gmarshal.list gmarshal.h glib-genmarshal.exe
52         glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --body > gmarshal.c
53
54 libgobject-2.0-@LT_CURRENT_MINUS_AGE@.dll : $(gobject_OBJECTS) gobject.def
55         $(CC) $(CFLAGS) -Fm -LD -Fe$@ $(gobject_OBJECTS) \
56         ..\glib\glib-2.0.lib $(LDFLAGS) /implib:gobject-2.0.lib /def:gobject.def
57
58 gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib : $(gobject_OBJECTS) 
59         lib /out:$@ $(gobject_OBJECTS)
60
61 # link glib's static version to avoid installing 
62 glib-genmarshal.exe : glib-genmarshal.c gmarshal.strings
63         $(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION glib-genmarshal.c \
64         ..\glib\glib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib user32.lib advapi32.lib $(INTL_LIBS) $(LIBICONV_LIBS)
65
66 gobject-query.exe : gobject-query.c libgobject-2.0-@LT_CURRENT_MINUS_AGE@.dll
67         $(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION gobject-query.c \
68         ..\glib\glib-2.0.lib gobject-2.0.lib user32.lib advapi32.lib $(INTL_LIBS) $(LIBICONV_LIBS)
69
70 gmarshal.strings : gmarshal.list
71         perl marshal-genstrings.pl > gmarshal.strings
72
73 .c.exe :
74         $(CC) $(CFLAGS) -c $<
75         $(CC) $(CFLAGS) -Fe$@ $< gobject-2.0.lib ..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib $(LDFLAGS) user32.lib /subsystem:console