1 ## Makefile for building the gobject dll with Microsoft C
2 ## Use: nmake -f makefile.msc install
6 !INCLUDE ..\build\win32\make.msc
8 ################################################################
10 INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib
11 DEFINES = -DHAVE_CONFIG_H -DGOBJECT_COMPILATION -DG_LOG_DOMAIN=\"GLib-GObject\" \
13 # -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS
14 # -DG_DISABLE_CAST_CHECKS
22 libgobject-2.0-@LT_CURRENT_MINUS_AGE@.dll \
23 gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib \
43 gobjectalias.h: gobject.symbols
44 perl makegobjectalias.pl < gobject.symbols > gobjectalias.h
46 gobject.def: gobject.symbols
47 echo EXPORTS > gobject.def
48 cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 gobject.symbols >> gobject.def
50 gobject.res : gobject.rc
51 rc -DBUILDNUMBER=0 -r -fo gobject.res gobject.rc
53 gmarshal.h : gmarshal.list glib-genmarshal.exe
54 echo #ifndef __G_MARSHAL_H__ > xgen-gmh
55 echo #define __G_MARSHAL_H__ >> xgen-gmh
56 glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --header >> xgen-gmh
57 echo #endif /* __G_MARSHAL_H__ */ >> xgen-gmh
58 copy xgen-gmh gmarshal.h
60 gmarshal.c: gmarshal.list gmarshal.h glib-genmarshal.exe
61 glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --body > gmarshal.c
63 libgobject-2.0-@LT_CURRENT_MINUS_AGE@.dll : $(gobject_OBJECTS) gobject.def gobject.res
64 $(CC) $(CFLAGS) -Fm -LD -Fe$@ $(gobject_OBJECTS) gobject.res \
65 ..\glib\glib-2.0.lib $(LDFLAGS) /implib:gobject-2.0.lib /def:gobject.def
67 gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib : $(gobject_OBJECTS)
68 lib /out:$@ $(gobject_OBJECTS)
70 # link glib's static version to avoid installing
71 glib-genmarshal.exe : glib-genmarshal.c gmarshal.strings
72 $(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION glib-genmarshal.c \
73 ..\glib\glib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib user32.lib advapi32.lib ole32.lib shell32.lib $(INTL_LIBS) $(LIBICONV_LIBS)
75 gobject-query.exe : gobject-query.c libgobject-2.0-@LT_CURRENT_MINUS_AGE@.dll
76 $(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION gobject-query.c \
77 ..\glib\glib-2.0.lib gobject-2.0.lib user32.lib advapi32.lib $(INTL_LIBS) $(LIBICONV_LIBS)
79 gmarshal.strings : gmarshal.list
80 perl marshal-genstrings.pl > gmarshal.strings
84 $(CC) $(CFLAGS) -Fe$@ $< gobject-2.0.lib ..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib $(LDFLAGS) user32.lib /subsystem:console