| ## Makefile for building the gobject dll with Microsoft C |
| ## Use: nmake -f makefile.msc install |
| |
| TOP = ..\.. |
| |
| !INCLUDE ..\build\win32\make.msc |
| |
| ################################################################ |
| |
| INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib |
| DEFINES = -DHAVE_CONFIG_H -DGOBJECT_COMPILATION -DG_LOG_DOMAIN=\"GLib-GObject\" \ |
| -DG_ENABLE_DEBUG |
| # -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS |
| # -DG_DISABLE_CAST_CHECKS |
| |
| all : \ |
| glib-genmarshal.exe \ |
| gmarshal.h \ |
| gmarshal.c \ |
| gobjectalias.h \ |
| gobjectaliasdef.c \ |
| gmarshal.strings \ |
| gobject-query.exe \ |
| libgobject-2.0-@LT_CURRENT_MINUS_AGE@.dll \ |
| gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib \ |
| testgobject.exe |
| |
| gobject_OBJECTS = \ |
| gboxed.obj \ |
| gclosure.obj \ |
| genums.obj \ |
| gobject.obj \ |
| gparam.obj \ |
| gparamspecs.obj \ |
| gsignal.obj \ |
| gsourceclosure.obj \ |
| gtype.obj \ |
| gtypemodule.obj \ |
| gtypeplugin.obj \ |
| gvalue.obj \ |
| gvaluearray.obj \ |
| gvaluetypes.obj \ |
| gvaluetransform.obj |
| |
| gobjectalias.h: gobject.symbols |
| perl makegobjectalias.pl < gobject.symbols > gobjectalias.h |
| |
| gobjectaliasdef.c: gobject.symbols |
| perl makegobjectalias.pl -def < gobject.symbols > gobjectaliasdef.c |
| |
| gobject.def: gobject.symbols |
| echo EXPORTS > gobject.def |
| cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES \ |
| -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= \ |
| -DG_GNUC_PRINTF=;G_GNUC_PRINTF gobject.symbols >> gobject.def |
| |
| gobject.res : gobject.rc |
| rc -DBUILDNUMBER=0 -r -fo gobject.res gobject.rc |
| |
| gmarshal.h : gmarshal.list glib-genmarshal.exe |
| echo #ifndef __G_MARSHAL_H__ > xgen-gmh |
| echo #define __G_MARSHAL_H__ >> xgen-gmh |
| glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --header >> xgen-gmh |
| echo #endif /* __G_MARSHAL_H__ */ >> xgen-gmh |
| copy xgen-gmh gmarshal.h |
| |
| gmarshal.c: gmarshal.list gmarshal.h glib-genmarshal.exe |
| glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --body > gmarshal.c |
| |
| libgobject-2.0-@LT_CURRENT_MINUS_AGE@.dll : $(gobject_OBJECTS) gobject.def gobject.res |
| $(CC) $(CFLAGS) -Fm -LD -Fe$@ $(gobject_OBJECTS) gobject.res \ |
| ..\glib\glib-2.0.lib $(LDFLAGS) /implib:gobject-2.0.lib /def:gobject.def || del $@ |
| |
| gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib : $(gobject_OBJECTS) |
| lib /out:$@ $(gobject_OBJECTS) |
| |
| # link glib's static version to avoid installing |
| glib-genmarshal.exe : glib-genmarshal.c gmarshal.strings |
| $(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION glib-genmarshal.c \ |
| ..\glib\glib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib user32.lib advapi32.lib ole32.lib shell32.lib $(INTL_LIBS) |
| |
| gobject-query.exe : gobject-query.c libgobject-2.0-@LT_CURRENT_MINUS_AGE@.dll |
| $(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION gobject-query.c \ |
| ..\glib\glib-2.0.lib gobject-2.0.lib user32.lib advapi32.lib $(INTL_LIBS) |
| |
| gmarshal.strings : gmarshal.list |
| perl marshal-genstrings.pl > gmarshal.strings |
| |
| .c.exe : |
| $(CC) $(CFLAGS) -c $< |
| $(CC) $(CFLAGS) -Fe$@ $< gobject-2.0.lib ..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib $(LDFLAGS) user32.lib /subsystem:console |