now come the big changes...
[platform/upstream/glib.git] / gobject / makefile.msc.in
index 81b4361..3f5af9b 100644 (file)
@@ -3,37 +3,35 @@
 
 TOP = ..\..
 
-!INCLUDE $(TOP)\build\win32\make.msc
-
-# Possibly override GLib version in build\win32\object.defs
-GLIB_VER = @GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@
+!INCLUDE ..\build\win32\make.msc
 
 ################################################################
 
-# Nothing much configurable below
-
-INCLUDES = -I .. -I . -I ..\glib
-DEFINES = -DHAVE_CONFIG_H -DGOBJECT_COMPILATION -DG_LOG_DOMAIN=g_log_domain_gruntime \
+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 \
-       gobject-$(GLIB_VER).dll \
-       gobject-$(GLIB_VER)s.lib
+       glib-genmarshal.exe     \
+       gmarshal.h              \
+       gmarshal.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              \
-       gbsearcharray.obj       \
        gclosure.obj            \
        genums.obj              \
        gobject.obj             \
        gparam.obj              \
        gparamspecs.obj         \
        gsignal.obj             \
+       gsourceclosure.obj      \
        gtype.obj               \
        gtypemodule.obj         \
        gtypeplugin.obj         \
@@ -42,6 +40,15 @@ gobject_OBJECTS =            \
        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
@@ -52,18 +59,25 @@ gmarshal.h : gmarshal.list glib-genmarshal.exe
 gmarshal.c: gmarshal.list gmarshal.h glib-genmarshal.exe
        glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --body > gmarshal.c
 
-makefile.msc: makefile.msc.in
-       $(SED) -e s,@GLIB[_]MAJOR_VERSION@,@GLIB_MAJOR_VERSION@, \
-              -e s,@GLIB[_]MINOR_VERSION@,@GLIB_MINOR_VERSION@, <makefile.msc.in >$@
+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_VER).dll : $(gobject_OBJECTS) gobject.def
-       $(CC) $(CFLAGS) -Fm -LD -Fegobject-$(GLIB_VER).dll $(gobject_OBJECTS) \
-       ..\glib\glib-$(GLIB_VER).lib $(LDFLAGS) /def:gobject.def
-
-gobject-$(GLIB_VER)s.lib : $(gobject_OBJECTS) 
-       lib /out:gobject-$(GLIB_VER)s.lib $(gobject_OBJECTS)
+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 ..\glib\glib-$(GLIB_VER)s.lib
+glib-genmarshal.exe : glib-genmarshal.c gmarshal.strings
        $(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION glib-genmarshal.c \
-       ..\glib\glib-$(GLIB_VER)s.lib user32.lib advapi32.lib $(INTL_LIBS)
+       ..\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