diff --git a/config/ARCHS b/config/ARCHS
index 64622a3fcc806be8ee47170c0595972da2f89ce0..d2281ec9324a6a91f401b4198311aa34890c30bf 100644
--- a/config/ARCHS
+++ b/config/ARCHS
@@ -41,6 +41,6 @@ solaris              for Solaris CC
 solarisCC5           for Solaris CC 5.0
 solarisgcc           for Solaris gcc
 solariskcc           for Solaris KCC
-win32                for Win32 with VC++
-win32gdk             for Win32 with VC++ and gdk based GUI
+win32                for Win32 with VC++ and gdk based GUI
+win32old             for Win32 with VC++ (obsolete version)
 win32gcc             for Win32 with cygwin/gcc
diff --git a/config/Makefile.win32 b/config/Makefile.win32
index ed42a9d39550a8483a176805a911550d09aede16..cf429977cc8c431428c1d71ac798bc6c27b161d3 100644
--- a/config/Makefile.win32
+++ b/config/Makefile.win32
@@ -5,16 +5,16 @@
 PLATFORM      = win32
 
 DEBUGFLAGS    = -Z7
-OPTFLAGS      = -O2
+OPTFLAGS      = -O2 -Z7
 ifeq (debug,$(findstring debug,$(ROOTBUILD)))
 OPT           = $(DEBUGFLAGS)
-LDOPT         = -debug -pdb:none
+LDOPT         = -debug
 F77OPT        = -debug -nopdbfile
 NOOPT         =
 else
 OPT           = $(OPTFLAGS)
-LDOPT         = -pdb:none
-#LDOPT         = -opt:ref -pdb:none
+LDOPT         =
+#LDOPT         = -opt:ref
 F77OPT        = -optimize:0 -nopdbfile -recursive
 NOOPT         =
 endif
@@ -22,18 +22,20 @@ endif
 # Compiler:
 CXX           = build/win/cxx.sh
 CC            = build/win/cc.sh
-CXXFLAGS      = -G5 -GR -GX -MD -DWIN32 -D_WINDOWS -DWINVER=0x0400 \
+CXXFLAGS      = -G5 -GR -GX -MD -DWIN32 -DGDK_WIN32 -D_WINDOWS -DWINVER=0x0400 \
                 -nologo -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -FIw32pragma.h \
                 -D_X86_=1 -D_DLL -DVISUAL_CPLUSPLUS $(EXTRA_CXXFLAGS)
-CFLAGS        = -G5 -MD -DWIN32 -D_WINDOWS -DWINVER=0x0400 -FIsehmap.h \
-                -nologo -D_X86_=1 -D_DLL -DVISUAL_CPLUSPLUS $(EXTRA_CFLAGS)
-CINTCXXFLAGS  = -G5 -GR -GX -MD -DWIN32 -D_WIN32 -D_WINDOWS \
+CFLAGS        = -G5 -MD -DWIN32 -DGDK_WIN32 -D_WINDOWS -DWINVER=0x0400 \
+                -FIsehmap.h -nologo -D_X86_=1 -D_DLL -DVISUAL_CPLUSPLUS \
+                $(EXTRA_CFLAGS)
+CINTCXXFLAGS  = -G5 -GR -GX -MD -DWIN32 -DGDK_WIN32 -D_WIN32 -D_WINDOWS \
                 -DWINVER=0x0400 -nologo -DCRTAPI1=_cdecl \
                 -DCRTAPI2=_cdecl -D_X86_=1 -D_DLL -DVISUAL_CPLUSPLUS -DG__REDIRECTIO \
                 -DG__SHAREDLIB -DG__UNIX -DG__ROOT -DG__WIN32 $(EXTRA_CXXFLAGS)
-CINTCFLAGS    = -G5 -MD -DWIN32 -D_WIN32 -D_WINDOWS -DWINVER=0x0400 \
-                -FIsehmap.h -nologo -D_X86_=1 -D_DLL -DVISUAL_CPLUSPLUS -DG__REDIRECTIO \
-                -DG__SHAREDLIB -DG__UNIX -DG__ROOT -DG__WIN32 $(EXTRA_CXXFLAGS)
+CINTCFLAGS    = -G5 -MD -DWIN32 -D_WIN32 -DGDK_WIN32 -D_WINDOWS \
+                -DWINVER=0x0400 -FIsehmap.h -nologo -D_X86_=1 -D_DLL \
+                -DVISUAL_CPLUSPLUS -DG__SHAREDLIB -DG__UNIX -DG__ROOT \
+                -DG__REDIRECTIO -DG__WIN32 $(EXTRA_CXXFLAGS)
 
 # Compiler version:
 VC_MAJOR     := $(shell $(CXX) 2>&1 | awk '{ if (NR==1) print $$8 }' | \
diff --git a/config/Makefile.win32gdk b/config/Makefile.win32old
similarity index 74%
rename from config/Makefile.win32gdk
rename to config/Makefile.win32old
index cf429977cc8c431428c1d71ac798bc6c27b161d3..ed42a9d39550a8483a176805a911550d09aede16 100644
--- a/config/Makefile.win32gdk
+++ b/config/Makefile.win32old
@@ -5,16 +5,16 @@
 PLATFORM      = win32
 
 DEBUGFLAGS    = -Z7
-OPTFLAGS      = -O2 -Z7
+OPTFLAGS      = -O2
 ifeq (debug,$(findstring debug,$(ROOTBUILD)))
 OPT           = $(DEBUGFLAGS)
-LDOPT         = -debug
+LDOPT         = -debug -pdb:none
 F77OPT        = -debug -nopdbfile
 NOOPT         =
 else
 OPT           = $(OPTFLAGS)
-LDOPT         =
-#LDOPT         = -opt:ref
+LDOPT         = -pdb:none
+#LDOPT         = -opt:ref -pdb:none
 F77OPT        = -optimize:0 -nopdbfile -recursive
 NOOPT         =
 endif
@@ -22,20 +22,18 @@ endif
 # Compiler:
 CXX           = build/win/cxx.sh
 CC            = build/win/cc.sh
-CXXFLAGS      = -G5 -GR -GX -MD -DWIN32 -DGDK_WIN32 -D_WINDOWS -DWINVER=0x0400 \
+CXXFLAGS      = -G5 -GR -GX -MD -DWIN32 -D_WINDOWS -DWINVER=0x0400 \
                 -nologo -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -FIw32pragma.h \
                 -D_X86_=1 -D_DLL -DVISUAL_CPLUSPLUS $(EXTRA_CXXFLAGS)
-CFLAGS        = -G5 -MD -DWIN32 -DGDK_WIN32 -D_WINDOWS -DWINVER=0x0400 \
-                -FIsehmap.h -nologo -D_X86_=1 -D_DLL -DVISUAL_CPLUSPLUS \
-                $(EXTRA_CFLAGS)
-CINTCXXFLAGS  = -G5 -GR -GX -MD -DWIN32 -DGDK_WIN32 -D_WIN32 -D_WINDOWS \
+CFLAGS        = -G5 -MD -DWIN32 -D_WINDOWS -DWINVER=0x0400 -FIsehmap.h \
+                -nologo -D_X86_=1 -D_DLL -DVISUAL_CPLUSPLUS $(EXTRA_CFLAGS)
+CINTCXXFLAGS  = -G5 -GR -GX -MD -DWIN32 -D_WIN32 -D_WINDOWS \
                 -DWINVER=0x0400 -nologo -DCRTAPI1=_cdecl \
                 -DCRTAPI2=_cdecl -D_X86_=1 -D_DLL -DVISUAL_CPLUSPLUS -DG__REDIRECTIO \
                 -DG__SHAREDLIB -DG__UNIX -DG__ROOT -DG__WIN32 $(EXTRA_CXXFLAGS)
-CINTCFLAGS    = -G5 -MD -DWIN32 -D_WIN32 -DGDK_WIN32 -D_WINDOWS \
-                -DWINVER=0x0400 -FIsehmap.h -nologo -D_X86_=1 -D_DLL \
-                -DVISUAL_CPLUSPLUS -DG__SHAREDLIB -DG__UNIX -DG__ROOT \
-                -DG__REDIRECTIO -DG__WIN32 $(EXTRA_CXXFLAGS)
+CINTCFLAGS    = -G5 -MD -DWIN32 -D_WIN32 -D_WINDOWS -DWINVER=0x0400 \
+                -FIsehmap.h -nologo -D_X86_=1 -D_DLL -DVISUAL_CPLUSPLUS -DG__REDIRECTIO \
+                -DG__SHAREDLIB -DG__UNIX -DG__ROOT -DG__WIN32 $(EXTRA_CXXFLAGS)
 
 # Compiler version:
 VC_MAJOR     := $(shell $(CXX) 2>&1 | awk '{ if (NR==1) print $$8 }' | \
diff --git a/config/root-config.in b/config/root-config.in
index 7b85960c738ca7f42e490dc3f068c8191452067c..cca0b90006433ef1fc054da4f5244dfd768cab24 100755
--- a/config/root-config.in
+++ b/config/root-config.in
@@ -6,14 +6,13 @@
 # Author: Fons Rademakers, 06/06/99
 
 arch=@architecture@
+platform=@platform@
 bindir=@bindir@
 libdir=@libdir@
 incdir=@incdir@
 features="@features@"
-if test "$arch" = "win32gdk"; then
-   arch="win32"
-fi
-if test "$arch" = "win32"; then
+
+if test "$platform" = "win32"; then
    bindir=`cygpath -u $bindir`
    libdir=`cygpath -u $libdir`
    incdir=`cygpath -u $incdir`
@@ -36,7 +35,7 @@ rootulibs="-u _G__cpp_setupG__Hist       \
            -u _G__cpp_setupG__Quadp      \
            -u _G__cpp_setupG__Physics"
 rootuglibs="-u _G__cpp_setupG__Gui1"
-if test "$arch" = "win32"; then
+if test "$platform" = "win32"; then
    rootulibs="-include:_G__cpp_setupG__Hist       \
               -include:_G__cpp_setupG__Graf1      \
               -include:_G__cpp_setupG__G3D        \
@@ -336,7 +335,7 @@ esac
 
 
 prefix=@prefix@
-if test "$arch" = "win32"; then
+if test "$platform" = "win32"; then
    prefix=`cygpath -u ${prefix}`
 fi
 exec_prefix=${prefix}
@@ -349,7 +348,7 @@ noauxcflags=no
 noldflags=no
 
 usage="\
-Usage: root-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--new] [--nonew] [--libs] [--glibs] [--bindir] [--libdir] [--incdir] [--noauxcflags] [--noauxlibs] [--noldflags] [--has-<feature>] [--arch] [--help]"
+Usage: root-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--new] [--nonew] [--libs] [--glibs] [--bindir] [--libdir] [--incdir] [--noauxcflags] [--noauxlibs] [--noldflags] [--has-<feature>] [--arch] [--platform] [--help]"
 
 if test $# -eq 0; then
    echo "${usage}" 1>&2
@@ -366,9 +365,13 @@ while test $# -gt 0; do
 
   case $1 in
     --arch)
-      ### Output the arcitecture
+      ### Output the arcitecture (compiler/OS combination)
       out="$out $arch"
       ;;
+    --platform)
+      ### Output the platform (OS)
+      out="$out $platform"
+      ;;
     --has-*)
       ### Check for feature
       f=`echo $1 | sed 's/--has-//'`
@@ -385,7 +388,7 @@ while test $# -gt 0; do
       ;;
     --prefix=*)
       ### Set the prefix
-      if test "$arch" = "win32"; then
+      if test "$platform" = "win32"; then
          optarg=`cygpath -u $optarg`
       fi
       prefix=$optarg
@@ -393,7 +396,7 @@ while test $# -gt 0; do
       libdir=${prefix}/lib
       incdir=${prefix}/include
       ### We need to expand the path to backslash seperated path
-      if test "$arch" = "win32"; then
+      if test "$platform" = "win32"; then
          bindir=`cygpath -u $bindir`
          libdir=`cygpath -u $libdir`
          incdir=`cygpath -u $incdir`
@@ -408,7 +411,7 @@ while test $# -gt 0; do
       ;;
     --exec-prefix=*)
       ### Set the exec-prefix
-      if test "$arch" = "win32"; then
+      if test "$platform" = "win32"; then
          optarg=`cygpath -u $optarg`
       fi
       exec_prefix=$optarg
@@ -416,7 +419,7 @@ while test $# -gt 0; do
       bindir=${exec_prefix}/bin
       libdir=${exec_prefix}/lib
       ### We need to expand the path to backslash seperated path
-      if test "$arch" = "win32"; then
+      if test "$platform" = "win32"; then
          bindir=`cygpath -u $bindir`
          libdir=`cygpath -u $libdir`
       fi
@@ -456,7 +459,7 @@ while test $# -gt 0; do
       if test ${incdir} != /usr/include; then
          ### In case we're on a Win32 system, we need to expand the
          ### path to a backslash seperated path
-         if test "$arch" = "win32"; then
+         if test "$platform" = "win32"; then
             includes=-I\'`cygpath -w ${incdir}`\'
          else
             includes=-I${incdir}
@@ -490,7 +493,7 @@ while test $# -gt 0; do
       ### If we're on a win32 system, we need to change the -l prefix
       ### into a .lib suffix, and expand the paths to a backslash
       ### separated path.
-      if test "$arch" = "win32"; then
+      if test "$platform" = "win32"; then
          nlibs=`echo $libs | sed "s@-l\([a-zA-Z0-9]*\)@${libdir}/lib\1.lib@g"`
          libs=
          for i in $nlibs; do
@@ -523,7 +526,7 @@ while test $# -gt 0; do
       ### If we're on a win32 system, we need to change the -l prefix
       ### into a .lib suffix, and expand the paths to a backslash
       ### separated path.
-      if test "$arch" = "win32"; then
+      if test "$platform" = "win32"; then
          nlibs=`echo $glibs | sed "s@-l\([a-zA-Z0-9]*\)@${libdir}/lib\1.lib@g"`
          glibs=
          for i in $nlibs; do
@@ -560,7 +563,8 @@ while test $# -gt 0; do
       ### Print a help message
       echo "Usage: `basename $0` [options]"
       echo ""
-      echo "  --arch                Print the architecture"
+      echo "  --arch                Print the architecture (compiler/OS)"
+      echo "  --platform            Print the platform (OS)"
       echo "  --prefix[=dir]        Print or set prefix"
       echo "  --exec-prefix[=dir]   Print or set execution prefix"
       echo "  --libs                Print regular ROOT libraries"
diff --git a/configure b/configure
index 8637fe33de4d5a6892d161abfec1ad69f5d8c6ab..cecff174a1d760d8a26a51df7444d05fbfabf96d 100755
--- a/configure
+++ b/configure
@@ -452,9 +452,9 @@ guess_architecture () {
         sunos:sun*:6*)         arch=solarisCC5      ;;
         sunos:sun*:5*)         arch=solarisCC5      ;;
         sunos:sun*:4*)         arch=solaris         ;;
-        cygwin_*:*86:*)        arch=win32gdk        ;;
-        cygwin_*:pentium:*)    arch=win32gdk        ;;
-        cygwin_*:ia64)         arch=win32gdk        ;;
+        cygwin_*:*86:*)        arch=win32           ;;
+        cygwin_*:pentium:*)    arch=win32           ;;
+        cygwin_*:ia64)         arch=win32           ;;
         *)
             echo "Attempts at guessing your architecture failed."
             echo "Please specify the architecture as the first argument."
@@ -657,6 +657,9 @@ fi
 if test "$arch" = "linuxegcs" ; then
     arch="linux"
 fi
+if test "$arch" = "win32gdk" ; then
+    arch="win32"
+fi
 
 if `awk '{ print $1 }' $ARCHS | grep "^$arch$" > /dev/null  2>&1` ; then
    echo "Configuring for $arch"
@@ -665,11 +668,8 @@ else
    exit 1
 fi
 
-if test "x$arch" = "xwin32" || test "x$arch" = "xwin32gdk" ; then
-   platform="win32"
-else
-   platform=$arch
-fi
+platform=`grep "^PLATFORM *=" config/Makefile.$arch | awk '{ print $3 }'`
+
 if test "x$arch" = "xsgicc" ; then
    checklib32="yes"
 fi
@@ -898,12 +898,12 @@ fi
 # Check for posix thread library
 #
 case $platform in
-linux|linuxdeb|linuxicc|linuxia64*|linuxx8664*|win32gcc|macosx*)
+linux|macosx)
     if test "x$enable_thread" = "x"; then
         enable_thread="yes"
     fi
     ;;
-freebsd*)
+fbsd)
     if test "x$enable_thread" = "xyes"; then
        threadlib="-pthread"
        threadlibdir=
@@ -912,7 +912,7 @@ freebsd*)
 esac
 if test "x$enable_thread" = "xyes" && \
    test ! "$platform" = "win32"    && \
-   test ! "$platform" = "freebsd4" ; then
+   test ! "$platform" = "fbsd" ; then
     check_library "libpthread" "$enable_shared" "$threadlibdir" \
 	$THREAD $THREAD/lib /usr/lib /usr/local/lib /usr/lib/X11 \
 	/usr/local/lib/X11 /usr/X11R6/lib /usr/local/X11R6/lib \
@@ -1054,8 +1054,8 @@ if test ! "x$enable_mysql" = "xno"; then
     # on linux, but maybe also other systems, explicitely add libz
     # (formally only needed when linking against the static libmysqlclient.a)
     if test ! "x$mysqllib" = "x" ; then
-	case $arch in
-	    linux*|win32gcc) mysqllib="$mysqllib -lz" ;;
+	case $platform in
+	    linux) mysqllib="$mysqllib -lz" ;;
 	esac
     fi
 
@@ -1198,8 +1198,8 @@ if test ! "x$enable_rfio" = "xno" ; then
         enable_rfio="no"
     else
         case $platform in
-           linux*)     shiftlib="$shiftlib -lnsl" ;;
-           solarisCC5) shiftlib="$shiftlib -lposix4" ;;
+           linux)      shiftlib="$shiftlib -lnsl" ;;
+           solaris)    shiftlib="$shiftlib -lposix4" ;;
            win32)      shiftincdir="$shiftincdir -I$shiftincdir/../win32"
                        shiftlib="$shiftlib WSock32.lib Ws2_32.lib" ;;
         esac
@@ -1614,10 +1614,10 @@ if test ! "x$enable_xml" = "xno" ; then
         enable_xml="no"
     else
         case $platform in
-            linux*|win32gcc) xmllib="$xmllib -lpthread"            ;;
-            solaris*)        xmllib="$xmllib -liconv"              ;;
-            win32)           xmlincdir="$xmlincdir -I$iconvincdir"
-                             xmllib="$xmllib $iconvlib Ws2_32.lib" ;;
+            linux)     xmllib="$xmllib -lpthread"            ;;
+            solaris)   xmllib="$xmllib -liconv"              ;;
+            win32)     xmlincdir="$xmlincdir -I$iconvincdir"
+                       xmllib="$xmllib $iconvlib Ws2_32.lib" ;;
         esac
     fi
 fi
@@ -2007,8 +2007,8 @@ if test ! "x$enable_srp" = "xno" ; then
         cryptolib=$found_lib
         cryptolibdir=$found_dir
         if test -r $cryptolib && test "x$enable_shared" = "xno" ; then
-           case $arch in
-               linux*) cryptolib="$cryptolib -ldl"
+           case $platform in
+               linux) cryptolib="$cryptolib -ldl"
            esac
         fi
     fi
@@ -2170,8 +2170,8 @@ if test ! "x$enable_krb5" = "xno" ; then
             cryptolib=$found_lib
             cryptolibdir=$found_dir
             if test -r $cryptolib && test "x$enable_shared" = "xno" ; then
-               case $arch in
-                   linux*) cryptolib="$cryptolib -ldl"
+               case $platform in
+                   linux) cryptolib="$cryptolib -ldl"
                esac
             fi
 	    if test "x$cryptolib" = "x" ; then
@@ -2246,8 +2246,8 @@ if test "x$enable_afs" = "xyes" || test "x$enable_krb5" = "xyes" ; then
 	comerrlibdir=$found_dir
     fi
 
-    case $arch in
-	linux*|solarisCC5) # Resolver lives in separate library
+    case $platform in
+	linux|solaris) # Resolver lives in separate library
 	    resolvlib="-lresolv"
 	    ;;
     esac
@@ -2322,8 +2322,8 @@ fi
 ### echo %%% check for setresuid and setresgid
 #
 setresuid="undef"
-case $arch in
-    linux*)
+case $platform in
+    linux)
         message "Checking whether setresuid declared in /usr/include/unistd.h"
         if `grep setresuid /usr/include/unistd.h > /dev/null 2>&1` ; then
             setresuid="define"
@@ -2337,7 +2337,7 @@ esac
 #
 ### echo %%% Explicitlink - explicitly link with all dependent libraries
 #
-case $platform in
+case $arch in
 freebsd*|aix*|win32*)
     enable_explicitlink="yes"
     ;;
@@ -2431,7 +2431,7 @@ if test ! "x$haveconfig" = "x" ; then
     if test "x$elispdir" = "x";     then elispdir=$prefix/share/emacs/site-lisp; fi
 
     if test "x$enable_rpath" = "xyes" ; then
-        if test "$platform" = "solarisCC5"; then
+        if test "$arch" = "solarisCC5"; then
             sed -e "s|@ldflags@|-R$libdir @ldflags@|" \
                     < Makefile.tmp > Makefile.tmpp
         else
@@ -2476,7 +2476,7 @@ else
 
     # when using rpath in this case build product is not relocatable
     if test "x$enable_rpath" = "xyes" ; then
-        if test "$platform" = "solarisCC5"; then
+        if test "$arch" = "solarisCC5"; then
             sed -e "s|@ldflags@|-R$libdir @ldflags@|" \
                     < Makefile.tmp > Makefile.tmpp
         else
@@ -2677,6 +2677,7 @@ for f in $options ; do
     fi
 done
 sed -e "s|@architecture@|$arch|"           \
+    -e "s|@platform@|$platform|"           \
     -e "s|@prefix@|$prefix2|"              \
     -e "s|@bindir@|$bindir2|"              \
     -e "s|@libdir@|$libdir2|"              \
@@ -2813,7 +2814,8 @@ fi
 
 echo "To build ROOT type:"
 echo ""
-if test "x$platform" = "xwin32" || test "x$platform" = "xwin32gcc" ; then
+if test "x$platform" = "xwin32" || test "x$platform" = "xlinux" ||
+   test "x$platform" = "xmacosx" ; then
     echo "   make"
     if test ! "x$haveconfig" = "x" ; then
         echo "   make install"
diff --git a/test/Makefile b/test/Makefile
index c16e144e5b38d66e26af960749b864313e6cbaa3..4cef0180d3c484de0258b34a9bd2ffb64d120c9e 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -14,7 +14,7 @@ EVENTO        = Event.$(ObjSuf) EventDict.$(ObjSuf)
 EVENTS        = Event.$(SrcSuf) EventDict.$(SrcSuf)
 EVENTSO       = libEvent.$(DllSuf)
 EVENT         = Event$(ExeSuf)
-ifeq ($(ARCH),win32)
+ifeq ($(PLATFORM),win32)
 EVENTLIB      = libEvent.lib
 else
 EVENTLIB      = $(EVENTSO)
@@ -145,7 +145,7 @@ ifeq ($(PLATFORM),macosx)
 		$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ \
 		   $(OutPutOpt) $(subst .$(DllSuf),.so,$@)
 else
-ifeq ($(ARCH),win32)
+ifeq ($(PLATFORM),win32)
 		bindexplib $* $^ > $*.def
 		lib -nologo -MACHINE:IX86 $^ -def:$*.def \
 		   $(OutPutOpt)$(EVENTLIB)
@@ -229,7 +229,7 @@ $(STRESS):      $(STRESSO) $(EVENT)
 		@echo "$@ done"
 
 $(STRESSGEOM):  $(STRESSGEOMO)
-ifeq ($(ARCH),win32)
+ifeq ($(PLATFORM),win32)
 		$(LD) $(LDFLAGS) $(STRESSGEOMO) $(LIBS) ../lib/libGeom.lib \
 		   $(OutPutOpt)$@
 else
diff --git a/test/Makefile.arch b/test/Makefile.arch
index 9fd01e0069a0346f90f2d53ed4b080d4425f2660..a0f6216a82d8974b6031ff2988fb317f2d7cb34e 100644
--- a/test/Makefile.arch
+++ b/test/Makefile.arch
@@ -7,7 +7,7 @@
 # Author: Fons Rademakers, 29/2/2000
 
 ARCH         := $(shell root-config --arch)
-PLATFORM      = $(ARCH)
+PLATFORM     := $(shell root-config --platform)
 
 CXX           =
 ObjSuf        = o
@@ -435,7 +435,6 @@ endif
 
 ifeq ($(ARCH),macosx)
 # MacOS X with cc (GNU cc 2.95.2 and gcc 3.3)
-PLATFORM      = macosx
 MACOSX_MINOR := $(shell sw_vers -productVersion | cut -d'.' -f2)
 CXX           = c++
 CXXFLAGS      = -O -pipe -Wall -W -Woverloaded-virtual
@@ -455,10 +454,9 @@ endif
 
 ifeq ($(ARCH),macosxxlc)
 # MacOS X with IBM xlC compiler
-PLATFORM      = macosx
 MACOSX_MINOR := $(shell sw_vers -productVersion | cut -d'.' -f2)
 CXX           = xlC
-CXXFLAGS      = 
+CXXFLAGS      =
 LDFLAGS       = -O -Xlinker -bind_at_load -flat_namespace
 # The SOFLAGS will be used to create the .dylib; the .so will
 # be created separately
@@ -506,6 +504,29 @@ ROOTGLIBS    := $(shell root-config --nonew --glibs)
 EXPLLINKLIBS  = $(ROOTLIBS) $(ROOTGLIBS)
 endif
 
+ifeq ($(ARCH),win32old)
+# Windows with the VC++ compiler
+ObjSuf        = obj
+SrcSuf        = cxx
+ExeSuf        = .exe
+DllSuf        = dll
+OutPutOpt     = -out:
+CXX           = cl
+CXXOPT        = -O2
+#CXXOPT        = -Z7
+CXXFLAGS      = $(CXXOPT) -G5 -GR -GX -MD -DWIN32 -D_WINDOWS -nologo \
+                -DVISUAL_CPLUSPLUS -D_X86_=1 -D_DLL
+LD            = link
+LDOPT         = -opt:ref
+#LDOPT         = -debug
+LDFLAGS       = $(LDOPT) -pdb:none -nologo
+SOFLAGS       = -DLL
+
+ROOTLIBS     := $(shell root-config --nonew --libs)
+ROOTGLIBS    := $(shell root-config --nonew --glibs)
+EXPLLINKLIBS  = $(ROOTLIBS) $(ROOTGLIBS)
+endif
+
 ifeq ($(ARCH),win32gcc)
 # Windows with gcc
 DllSuf        = dll
diff --git a/test/RootShower/Makefile b/test/RootShower/Makefile
index 668d6c46c331f54c9c16bf4e465a7b3801baa5cd..581de5b00799214ad15791aedff8404bf0450ab4 100644
--- a/test/RootShower/Makefile
+++ b/test/RootShower/Makefile
@@ -25,7 +25,7 @@ PROGRAMS      = $(ROOTSHOWER)
 all:            $(PROGRAMS)
 
 $(ROOTSHOWER):  $(ROOTSHOWERO)
-ifeq ($(ARCH),win32)
+ifeq ($(PLATFORM),win32)
 		$(LD) $(LDFLAGS) $^ $(GLIBS) '$(ROOTSYS)\lib\libEG.lib' \
 		   '$(ROOTSYS)\lib\libHtml.lib' '$(ROOTSYS)\lib\libGeom.lib' $(OutPutOpt)$@
 else