More Win32 automake macros. For .def files: GLIB_DEF, GMODULE_DEF,
[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         libgobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@-@LT_CURRENT_MINUS_AGE@.dll \
27         gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib
28
29 gobject_OBJECTS =               \
30         gboxed.obj              \
31         gclosure.obj            \
32         genums.obj              \
33         gobject.obj             \
34         gparam.obj              \
35         gparamspecs.obj         \
36         gsignal.obj             \
37         gtype.obj               \
38         gtypemodule.obj         \
39         gtypeplugin.obj         \
40         gvalue.obj              \
41         gvaluearray.obj         \
42         gvaluetypes.obj \
43         gvaluetransform.obj
44
45 gmarshal.h : gmarshal.list glib-genmarshal.exe
46         echo #ifndef __G_MARSHAL_H__ > xgen-gmh
47         echo #define __G_MARSHAL_H__ >> xgen-gmh
48         glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --header >> xgen-gmh
49         echo #endif /* __G_MARSHAL_H__ */ >> xgen-gmh
50         copy xgen-gmh gmarshal.h
51
52 gmarshal.c: gmarshal.list gmarshal.h glib-genmarshal.exe
53         glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --body > gmarshal.c
54
55 libgobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@-@LT_CURRENT_MINUS_AGE@.dll : $(gobject_OBJECTS) gobject.def
56         $(CC) $(CFLAGS) -Fm -LD -Fe$@ $(gobject_OBJECTS) \
57         ..\glib\glib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@.lib $(LDFLAGS) /implib:gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@.lib /def:gobject.def
58
59 gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib : $(gobject_OBJECTS) 
60         lib /out:$@ $(gobject_OBJECTS)
61
62 # link glib's static version to avoid installing 
63 glib-genmarshal.exe : glib-genmarshal.c gmarshal.strings
64         $(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION glib-genmarshal.c \
65         ..\glib\glib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib user32.lib advapi32.lib $(INTL_LIBS) $(LIBICONV_LIBS)
66
67 gobject-query.exe : gobject-query.c libgobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@-@LT_CURRENT_MINUS_AGE@.dll
68         $(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION gobject-query.c \
69         ..\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)
70
71 gmarshal.strings : gmarshal.list
72         perl marshal-genstrings.pl > gmarshal.strings