blob: f4e700e3e6b8ba8ce0444e040f1ec47469f8faf0 [file] [log] [blame]
## 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 \
gmarshal.strings \
gobject-query.exe \
libgobject-2.0-0.dll \
gobject-2.49s.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
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-0.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-2.49s.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-2.49s.lib user32.lib advapi32.lib ole32.lib shell32.lib $(INTL_LIBS)
gobject-query.exe : gobject-query.c libgobject-2.0-0.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