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