cleanup
[platform/upstream/glib.git] / makefile.msc
index 6a7f9b6..52e07f6 100644 (file)
-## Makefile for building the GLib and gmodule dll with Microsoft C
-## Use: nmake -f makefile.msc install
+## Makefile for building the GLib dlls with Microsoft C
+## Use: nmake -f makefile.msc
 
-# Change this to wherever you want to install the DLLs. This directory
-# should be in your PATH.
-BIN = C:\bin
-
-################################################################
-
-# Nothing much configurable below
-
-# cl -? described the options
-CC = cl -G5 -GF -Ox -W3 -D_DLL -nologo
-
-LDFLAGS = /link /nodefaultlib:libc msvcrt.lib # /debug:full /debugtype:cv 
-INSTALL = copy
-TOUCH = copy makefile.msc+nul
-
-GLIB_VER = 1.1
-
-CFLAGS = -I. 
+PARTS = glib gmodule gthread gobject gio tests
 
 all : \
-       glibconfig.h    \
-       config.h        \
-       glib-$(GLIB_VER).dll    \
-       gmodule\gmoduleconf.h \
-       gmodule-$(GLIB_VER).dll \
-       testglib.exe    \
-       testgmodule.exe
+       config.h \
+       glibconfig.h \
+       sub-all
 
-install : all
-       $(INSTALL) glib-$(GLIB_VER).dll $(BIN)
-       $(INSTALL) gmodule-$(GLIB_VER).dll $(BIN)
+sub-all: 
+       for %d in ($(PARTS)) do nmake -nologo -f makefile.msc sub-one THIS=%d TARGET=all
 
-glib_OBJECTS = \
-       garray.obj      \
-       gcache.obj      \
-       gcompletion.obj \
-       gdataset.obj    \
-       gerror.obj      \
-       ghook.obj       \
-       ghash.obj       \
-       glist.obj       \
-       gmem.obj        \
-       gmessages.obj   \
-       gnode.obj       \
-       gprimes.obj     \
-       gslist.obj      \
-       gtimer.obj      \
-       gtree.obj       \
-       grel.obj        \
-       gstring.obj     \
-       gstrfuncs.obj   \
-       gscanner.obj    \
-       gutils.obj
+clean : sub-clean
 
-glib-$(GLIB_VER).dll : $(glib_OBJECTS)
-       $(CC) $(CFLAGS) -MD -LD -Feglib-$(GLIB_VER).dll $(glib_OBJECTS) user32.lib advapi32.lib $(LDFLAGS) /def:glib.def
+sub-clean:
+       for %d in ($(PARTS)) do nmake -nologo -f makefile.msc sub-one THIS=%d TARGET=clean
 
-glibconfig.h: glibconfig.h.win32
-       copy glibconfig.h.win32 glibconfig.h
+sub-one:
+       @cd $(THIS)
+       @nmake -nologo -f makefile.msc $(TARGET)
+       @cd ..
 
 config.h: config.h.win32
        copy config.h.win32 config.h
 
-.c.obj :
-       $(CC) $(CFLAGS) -GD -c -DHAVE_CONFIG_H -DGLIB_COMPILATION -DG_LOG_DOMAIN=g_log_domain_glib $<
-
-gmodule_OBJECTS = \
-       gmodule.obj
-
-gmodule-$(GLIB_VER).dll : $(gmodule_OBJECTS)
-       $(CC) $(CFLAGS) -MD -LD -Fegmodule-$(GLIB_VER).dll $(gmodule_OBJECTS) glib-$(GLIB_VER).lib $(LDFLAGS) /def:gmodule\gmodule.def
-
-gmodule.obj : gmodule\gmodule.c gmodule\gmodule-win32.c
-       $(CC) $(CFLAGS) -Igmodule -c -DG_LIB_DOMAIN=g_log_domain_gmodule gmodule\gmodule.c
-
-gmodule\gmoduleconf.h: gmodule\gmoduleconf.h.win32
-       copy gmodule\gmoduleconf.h.win32 gmodule\gmoduleconf.h
-
-testglib.exe : glib-$(GLIB_VER).dll testglib.obj
-       $(CC) $(CFLAGS) -MD -Fetestglib.exe testglib.obj glib-$(GLIB_VER).lib $(LDFLAGS) /map
-
-testglib.obj : testglib.c
-       $(CC) -c $(CFLAGS) testglib.c
-
-testgmodule.exe : glib-$(GLIB_VER).dll gmodule-$(GLIB_VER).dll testgmodule.obj libgplugin_a.dll libgplugin_b.dll
-       $(CC) $(CFLAGS) -MD testgmodule.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib $(LDFLAGS)
-
-testgmodule.obj : gmodule\testgmodule.c
-       $(CC) $(CFLAGS) -Igmodule -c gmodule\testgmodule.c
-
-libgplugin_a.dll : libgplugin_a.obj
-       $(CC) $(CFLAGS) -MD -LD libgplugin_a.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib $(LDFLAGS)
-
-libgplugin_a.obj : gmodule\libgplugin_a.c
-       $(CC) $(CFLAGS) -Igmodule -c gmodule\libgplugin_a.c
-
-libgplugin_b.dll : libgplugin_b.obj
-       $(CC) $(CFLAGS) -MD -LD libgplugin_b.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib  $(LDFLAGS)
-
-libgplugin_b.obj : gmodule\libgplugin_b.c
-       $(CC) $(CFLAGS) -Igmodule -c gmodule\libgplugin_b.c
-
-clean:
-       del config.h
-       del glibconfig.h
-       del gmodule\gmoduleconf.h
-       del *.exe
-       del *.obj
-       del *.dll
-       del *.lib
-       del *.err
-       del *.map
-       del *.sym
-       del *.exp
-       del *.lk1
-       del *.mk1
-       del *.pdb
-       del *.ilk
+glibconfig.h: glibconfig.h.win32
+       copy glibconfig.h.win32 glibconfig.h