Index: trunk/kBuild/sdks/DXSDKAMD64.kmk
===================================================================
--- trunk/kBuild/sdks/DXSDKAMD64.kmk	(revision 654)
+++ trunk/kBuild/sdks/DXSDKAMD64.kmk	(revision 655)
@@ -28,19 +28,19 @@
 SDK_DXSDKAMD64          := MicroSoft Direct X SDK, AMD64.
 ifndef PATH_SDK_DXSDKAMD64
-PATH_SDK_DXSDKAMD64     := $(sort $(wildcard $(PATH_DEV)/amd64.win64/dxsdk/2*))
-ifeq ($(PATH_SDK_DXSDKAMD64),)
-PATH_SDK_DXSDKAMD64     := $(sort $(wildcard $(PATH_DEV)/x86.win32/dxsdk/2*))
+ PATH_SDK_DXSDKAMD64    := $(sort $(wildcard $(PATH_DEV)/amd64.win64/dxsdk/2*))
+ ifeq ($(PATH_SDK_DXSDKAMD64),)
+  PATH_SDK_DXSDKAMD64   := $(sort $(wildcard $(PATH_DEV)/x86.win32/dxsdk/2*))
+ endif
+ ifneq ($(PATH_SDK_DXSDKAMD64),)
+  PATH_SDK_DXSDKAMD64   := $(call lastword,$(PATH_SDK_DXSDKAMD64))
+ else
+  $(warning kBuild: PATH_SDK_DXSDKAMD64 couldn't be determined!)
+  PATH_SDK_DXSDKAMD64   := $(PATH_DEV)/x86.win32/dxsdk/not/found
+ endif
 endif
-ifneq ($(PATH_SDK_DXSDKAMD64),)
-PATH_SDK_DXSDKAMD64     := $(call lastword,$(PATH_SDK_DXSDKAMD64))
-else
-$(warning kBuild: PATH_SDK_DXSDKAMD64 couldn't be determined!)
-PATH_SDK_DXSDKAMD64     := $(PATH_DEV)/x86.win32/dxsdk/not/found
-endif
-endif
-PATH_SDK_DXSDKAMD64_INC := $(PATH_SDK_DXSDKAMD64)/Include
-PATH_SDK_DXSDKAMD64_LIB := $(PATH_SDK_DXSDKAMD64)/Lib/x64
+PATH_SDK_DXSDKAMD64_INC ?= $(PATH_SDK_DXSDKAMD64)/Include
+PATH_SDK_DXSDKAMD64_LIB ?= $(PATH_SDK_DXSDKAMD64)/Lib/x64
 
-SDK_DXSDKAMD64_INCS     := $(PATH_SDK_DXSDKAMD64_INC)
-SDK_DXSDKAMD64_LIBPATHS := $(PATH_SDK_DXSDKAMD64_LIB)
+SDK_DXSDKAMD64_INCS     ?= $(PATH_SDK_DXSDKAMD64_INC)
+SDK_DXSDKAMD64_LIBPATHS ?= $(PATH_SDK_DXSDKAMD64_LIB)
 
Index: trunk/kBuild/sdks/DXSDKX86.kmk
===================================================================
--- trunk/kBuild/sdks/DXSDKX86.kmk	(revision 654)
+++ trunk/kBuild/sdks/DXSDKX86.kmk	(revision 655)
@@ -28,16 +28,16 @@
 SDK_DXSDKX86          := MicroSoft Direct X SDK, X86.
 ifndef PATH_SDK_DXSDKX86
-PATH_SDK_DXSDKX86     := $(sort $(wildcard $(PATH_DEV)/x86.win32/dxsdk/2*))
-ifneq ($(PATH_SDK_DXSDKX86),)
-PATH_SDK_DXSDKX86     := $(call lastword,$(PATH_SDK_DXSDKX86))
-else
-$(warning kBuild: PATH_SDK_DXSDKX86 couldn't be determined!)
-PATH_SDK_DXSDKX86     := $(PATH_DEV)/x86.win32/dxsdk/not/found
+ PATH_SDK_DXSDKX86    := $(sort $(wildcard $(PATH_DEV)/x86.win32/dxsdk/2*))
+ ifneq ($(PATH_SDK_DXSDKX86),)
+  PATH_SDK_DXSDKX86   := $(call lastword,$(PATH_SDK_DXSDKX86))
+ else
+  $(warning kBuild: PATH_SDK_DXSDKX86 couldn't be determined!)
+  PATH_SDK_DXSDKX86   := $(PATH_DEV)/x86.win32/dxsdk/not/found
+ endif
 endif
-endif
-PATH_SDK_DXSDKX86_INC := $(PATH_SDK_DXSDKX86)/Include
-PATH_SDK_DXSDKX86_LIB := $(PATH_SDK_DXSDKX86)/Lib/x86
+PATH_SDK_DXSDKX86_INC ?= $(PATH_SDK_DXSDKX86)/Include
+PATH_SDK_DXSDKX86_LIB ?= $(PATH_SDK_DXSDKX86)/Lib/x86
 
-SDK_DXSDKX86_INCS     := $(PATH_SDK_DXSDKX86_INC)
-SDK_DXSDKX86_LIBPATHS := $(PATH_SDK_DXSDKX86_LIB)
+SDK_DXSDKX86_INCS     ?= $(PATH_SDK_DXSDKX86_INC)
+SDK_DXSDKX86_LIBPATHS ?= $(PATH_SDK_DXSDKX86_LIB)
 
Index: trunk/kBuild/sdks/LIBSDL.kmk
===================================================================
--- trunk/kBuild/sdks/LIBSDL.kmk	(revision 654)
+++ trunk/kBuild/sdks/LIBSDL.kmk	(revision 655)
@@ -40,5 +40,5 @@
 
 ifeq ($(BUILD_TARGET),os2)
- SDK_LIBSDL_INCS    := \
+ SDK_LIBSDL_INCS     ?= \
  	$(PATH_SDK_LIBSDL)/SDL/include \
  	$(PATH_SDK_LIBSDL)/SDLGfx \
@@ -47,5 +47,5 @@
  	$(PATH_SDK_LIBSDL)/SDLNet \
  	$(PATH_SDK_LIBSDL)/SDLTTF
- SDK_LIBSDL_LIBS     := \
+ SDK_LIBSDL_LIBS     ?= \
  	$(PATH_SDK_LIBSDL)/SDL/SDL12.lib \
  	$(PATH_SDK_LIBSDL)/SDLGfx/SDLGFX.lib \
@@ -54,5 +54,5 @@
  	$(PATH_SDK_LIBSDL)/SDLNet/SDLNET.lib \
  	$(PATH_SDK_LIBSDL)/SDLTTF/SDLTTF.lib
- SDK_LIBSDL_LIBPATHS := \
+ SDK_LIBSDL_LIBPATHS ?= \
  	$(PATH_SDK_LIBSDL)/SDL \
  	$(PATH_SDK_LIBSDL)/SDLGfx \
@@ -61,25 +61,25 @@
  	$(PATH_SDK_LIBSDL)/SDLNet \
  	$(PATH_SDK_LIBSDL)/SDLTTF
- SDK_LIBSDL_LIBMAIN = 
+ SDK_LIBSDL_LIBMAIN  ?= 
 else
  ifneq ($(filter nt win win32 win64,$(BUILD_TARGET)),)
   # only vc++, not mingw/cygwin.
-  SDK_LIBSDL_INCS    := \
+  SDK_LIBSDL_INCS    ?= \
 	$(PATH_SDK_LIBSDL)/include/SDL \
 	$(PATH_SDK_LIBSDL)/include
-  SDK_LIBSDL_LIBS     := \
+  SDK_LIBSDL_LIBS    ?= \
  	$(PATH_SDK_LIBSDL)/lib/SDL.lib
-  SDK_LIBSDL_LIBPATHS := \
+  SDK_LIBSDL_LIBPATHS?= \
  	$(PATH_SDK_LIBSDL)/lib
-  SDK_LIBSDL_LIBMAIN = \
+  SDK_LIBSDL_LIBMAIN ?= \
 	$(PATH_SDK_LIBSDL)/lib/SDLmain.lib
  else
-  SDK_LIBSDL_INCS    := \
+  SDK_LIBSDL_INCS    ?= \
 	$(PATH_SDK_LIBSDL)/include/SDL \
 	$(PATH_SDK_LIBSDL)/include
-  SDK_LIBSDL_LIBS     := sdl sdlgfx sdlimage sdlmixer sdlnet sdlttf
-  SDK_LIBSDL_LIBPATHS := \
+  SDK_LIBSDL_LIBS    ?= sdl sdlgfx sdlimage sdlmixer sdlnet sdlttf
+  SDK_LIBSDL_LIBPATHS?= \
  	$(PATH_SDK_LIBSDL)/lib
-  SDK_LIBSDL_LIBMAIN = sdlmain
+  SDK_LIBSDL_LIBMAIN ?= sdlmain
  endif
 endif
Index: trunk/kBuild/sdks/LIBSDLAMD64.kmk
===================================================================
--- trunk/kBuild/sdks/LIBSDLAMD64.kmk	(revision 654)
+++ trunk/kBuild/sdks/LIBSDLAMD64.kmk	(revision 655)
@@ -28,19 +28,19 @@
 SDK_LIBSDLAMD64          := libsdl, AMD64.
 ifndef PATH_SDK_LIBSDLAMD64
-PATH_SDK_LIBSDLAMD64     := $(sort $(wildcard $(PATH_DEV)/amd64.win64/libsdl/v*))
-ifneq ($(PATH_SDK_LIBSDLAMD64),)
-PATH_SDK_LIBSDLAMD64     := $(call lastword,$(PATH_SDK_LIBSDLAMD64))
-else
-$(warning kBuild: PATH_SDK_LIBSDLAMD64 couldn't be determined!)
-PATH_SDK_LIBSDLAMD64     := $(PATH_DEV)/amd64.win64/libsdl/not/found
+ PATH_SDK_LIBSDLAMD64    := $(sort $(wildcard $(PATH_DEV)/amd64.win64/libsdl/v*))
+ ifneq ($(PATH_SDK_LIBSDLAMD64),)
+  PATH_SDK_LIBSDLAMD64   := $(call lastword,$(PATH_SDK_LIBSDLAMD64))
+ else
+  $(warning kBuild: PATH_SDK_LIBSDLAMD64 couldn't be determined!)
+  PATH_SDK_LIBSDLAMD64   := $(PATH_DEV)/amd64.win64/libsdl/not/found
+ endif
 endif
-endif
-PATH_SDK_LIBSDLAMD64_INC := $(PATH_SDK_LIBSDLAMD64)/include
-PATH_SDK_LIBSDLAMD64_LIB := $(PATH_SDK_LIBSDLAMD64)/lib
+PATH_SDK_LIBSDLAMD64_INC ?= $(PATH_SDK_LIBSDLAMD64)/include
+PATH_SDK_LIBSDLAMD64_LIB ?= $(PATH_SDK_LIBSDLAMD64)/lib
 
-SDK_LIBSDLAMD64_INCS     := \
+SDK_LIBSDLAMD64_INCS     ?= \
 	$(PATH_SDK_LIBSDLAMD64_INC) \
 	$(PATH_SDK_LIBSDLAMD64_INC)/SDL
-SDK_LIBSDLAMD64_LIBS     := $(PATH_SDK_LIBSDLAMD64_LIB)/SDL.lib
-SDK_LIBSDLAMD64_LIBPATHS := $(PATH_SDK_LIBSDLAMD64_LIB)
+SDK_LIBSDLAMD64_LIBS     ?= $(PATH_SDK_LIBSDLAMD64_LIB)/SDL.lib
+SDK_LIBSDLAMD64_LIBPATHS ?= $(PATH_SDK_LIBSDLAMD64_LIB)
 
Index: trunk/kBuild/sdks/NT4DDK.kmk
===================================================================
--- trunk/kBuild/sdks/NT4DDK.kmk	(revision 654)
+++ trunk/kBuild/sdks/NT4DDK.kmk	(revision 655)
@@ -28,8 +28,8 @@
 SDK_NT4DDK          := MicroSoft NT 4 DDK, X86
 PATH_SDK_NT4DDK     ?= $(PATH_DEV)/x86.win32/ddknt4
-PATH_SDK_NT4DDK_INC := $(PATH_SDK_NT4DDK)/inc
-PATH_SDK_NT4DDK_LIB := $(PATH_SDK_NT4DDK)/lib/i386/free
-SDK_NT4DDK_DEFS	    := _X86_
-SDK_NT4DDK_INCS	    := $(PATH_SDK_NT4DDK_INC)
-SDK_NT4DDK_LIBPATHS := $(PATH_SDK_NT4DDK_LIB)
+PATH_SDK_NT4DDK_INC ?= $(PATH_SDK_NT4DDK)/inc
+PATH_SDK_NT4DDK_LIB ?= $(PATH_SDK_NT4DDK)/lib/i386/free
+SDK_NT4DDK_DEFS	    ?= _X86_
+SDK_NT4DDK_INCS	    ?= $(PATH_SDK_NT4DDK_INC)
+SDK_NT4DDK_LIBPATHS ?= $(PATH_SDK_NT4DDK_LIB)
 
Index: trunk/kBuild/sdks/W2K3DDKAMD64.kmk
===================================================================
--- trunk/kBuild/sdks/W2K3DDKAMD64.kmk	(revision 654)
+++ trunk/kBuild/sdks/W2K3DDKAMD64.kmk	(revision 655)
@@ -28,19 +28,19 @@
 SDK_W2K3DDKAMD64          := MicroSoft Windows 2003 DDK, AMD64
 ifndef PATH_SDK_W2K3DDKAMD64
-PATH_SDK_W2K3DDKAMD64     := $(sort $(wildcard $(PATH_DEV)/amd64.win64/ddkwin2k3/2*))
-ifeq ($(PATH_SDK_W2K3DDKAMD64),)
-PATH_SDK_W2K3DDKAMD64     := $(sort $(wildcard $(PATH_DEV)/x86.win32/ddkwin2k3/2*))
+ PATH_SDK_W2K3DDKAMD64    := $(sort $(wildcard $(PATH_DEV)/amd64.win64/ddkwin2k3/2*))
+ ifeq ($(PATH_SDK_W2K3DDKAMD64),)
+  PATH_SDK_W2K3DDKAMD64   := $(sort $(wildcard $(PATH_DEV)/x86.win32/ddkwin2k3/2*))
+ endif
+ ifneq ($(PATH_SDK_W2K3DDKAMD64),)
+  PATH_SDK_W2K3DDKAMD64   := $(call lastword,$(PATH_SDK_W2K3DDKAMD64))
+ else
+  PATH_SDK_W2K3DDKAMD64   := $(PATH_DEV)/x86.win32/ddkwin2k3
+ endif
 endif
-ifneq ($(PATH_SDK_W2K3DDKAMD64),)
-PATH_SDK_W2K3DDKAMD64     := $(call lastword,$(PATH_SDK_W2K3DDKAMD64))
-else
-PATH_SDK_W2K3DDKAMD64     := $(PATH_DEV)/x86.win32/ddkwin2k3
-endif
-endif
-PATH_SDK_W2K3DDKAMD64_INC := $(PATH_SDK_W2K3DDKAMD64)/inc
-PATH_SDK_W2K3DDKAMD64_LIB := $(PATH_SDK_W2K3DDKAMD64)/lib/wnet/AMD64
+PATH_SDK_W2K3DDKAMD64_INC ?= $(PATH_SDK_W2K3DDKAMD64)/inc
+PATH_SDK_W2K3DDKAMD64_LIB ?= $(PATH_SDK_W2K3DDKAMD64)/lib/wnet/AMD64
 
-SDK_W2K3DDKAMD64_DEFS     := _AMD64_
-SDK_W2K3DDKAMD64_INCS     := \
+SDK_W2K3DDKAMD64_DEFS     ?= _AMD64_
+SDK_W2K3DDKAMD64_INCS     ?= \
 	$(PATH_SDK_W2K3DDKAMD64_INC)/ddk \
 	$(PATH_SDK_W2K3DDKAMD64_INC)/ddk/wnet \
@@ -49,4 +49,4 @@
 	$(PATH_SDK_W2K3DDKAMD64_INC)/crt
 
-SDK_W2K3DDKAMD64_LIBPATHS	:= $(PATH_SDK_W2K3DDKAMD64_LIB)
+SDK_W2K3DDKAMD64_LIBPATHS ?= $(PATH_SDK_W2K3DDKAMD64_LIB)
 
Index: trunk/kBuild/sdks/W2K3DDKX86.kmk
===================================================================
--- trunk/kBuild/sdks/W2K3DDKX86.kmk	(revision 654)
+++ trunk/kBuild/sdks/W2K3DDKX86.kmk	(revision 655)
@@ -28,16 +28,16 @@
 SDK_W2K3DDKX86          := MicroSoft Windows 2003 DDK, X86
 ifndef PATH_SDK_W2K3DDKX86
-PATH_SDK_W2K3DDKX86     := $(sort $(wildcard $(PATH_DEV)/x86.win32/ddkwin2k3/2*))
-ifneq ($(PATH_SDK_W2K3DDKX86),)
-PATH_SDK_W2K3DDKX86     := $(call lastword,$(PATH_SDK_W2K3DDKX86))
-else
-PATH_SDK_W2K3DDKX86     := $(PATH_DEV)/x86.win32/ddkwin2k3
+ PATH_SDK_W2K3DDKX86    := $(sort $(wildcard $(PATH_DEV)/x86.win32/ddkwin2k3/2*))
+ ifneq ($(PATH_SDK_W2K3DDKX86),)
+  PATH_SDK_W2K3DDKX86   := $(call lastword,$(PATH_SDK_W2K3DDKX86))
+ else
+  PATH_SDK_W2K3DDKX86   := $(PATH_DEV)/x86.win32/ddkwin2k3
+ endif
 endif
-endif
-PATH_SDK_W2K3DDKX86_INC := $(PATH_SDK_W2K3DDKX86)/inc
-PATH_SDK_W2K3DDKX86_LIB := $(PATH_SDK_W2K3DDKX86)/lib/wnet/i386
+PATH_SDK_W2K3DDKX86_INC ?= $(PATH_SDK_W2K3DDKX86)/inc
+PATH_SDK_W2K3DDKX86_LIB ?= $(PATH_SDK_W2K3DDKX86)/lib/wnet/i386
 
-SDK_W2K3DDKX86_DEFS     := _X86_
-SDK_W2K3DDKX86_INCS     := \
+SDK_W2K3DDKX86_DEFS     ?= _X86_
+SDK_W2K3DDKX86_INCS     ?= \
 	$(PATH_SDK_W2K3DDKX86_INC)/ddk \
 	$(PATH_SDK_W2K3DDKX86_INC)/ddk/wnet \
@@ -46,4 +46,4 @@
 	$(PATH_SDK_W2K3DDKX86_INC)/crt
 
-SDK_W2K3DDKX86_LIBPATHS	:= $(PATH_SDK_W2K3DDKX86_LIB)
+SDK_W2K3DDKX86_LIBPATHS	?= $(PATH_SDK_W2K3DDKX86_LIB)
 
Index: trunk/kBuild/sdks/W32API.kmk
===================================================================
--- trunk/kBuild/sdks/W32API.kmk	(revision 654)
+++ trunk/kBuild/sdks/W32API.kmk	(revision 655)
@@ -28,16 +28,16 @@
 SDK_W32API                  := MinGW Windows API
 ifndef PATH_SDK_W32API
-PATH_SDK_W32API             := $(sort $(wildcard $(PATH_DEV)/x86.win32/w32api/v*))
-ifneq ($(PATH_SDK_W32API),)
-PATH_SDK_W32API             := $(call lastword,$(PATH_SDK_W32API))
-else
-$(warning kBuild: PATH_SDK_W32API couldn't be determined!)
-PATH_SDK_W32API             := $(PATH_DEV)/x86.win32/w32api/not/found
+ PATH_SDK_W32API            := $(sort $(wildcard $(PATH_DEV)/x86.win32/w32api/v*))
+ ifneq ($(PATH_SDK_W32API),)
+  PATH_SDK_W32API           := $(call lastword,$(PATH_SDK_W32API))
+ else
+  $(warning kBuild: PATH_SDK_W32API couldn't be determined!)
+  PATH_SDK_W32API           := $(PATH_DEV)/x86.win32/w32api/not/found
+ endif
 endif
-endif
-PATH_SDK_W32API_INC         := $(PATH_SDK_W32API)/include
-PATH_SDK_W32API_LIB         := $(PATH_SDK_W32API)/lib
+PATH_SDK_W32API_INC         ?= $(PATH_SDK_W32API)/include
+PATH_SDK_W32API_LIB         ?= $(PATH_SDK_W32API)/lib
 
-SDK_W32API_INCS		        := $(PATH_SDK_W32API_INC)
-SDK_W32API_LIBPATH          := $(PATH_SDK_W32API_LIB)
+SDK_W32API_INCS		    ?= $(PATH_SDK_W32API_INC)
+SDK_W32API_LIBPATH          ?= $(PATH_SDK_W32API_LIB)
 
Index: trunk/kBuild/sdks/WIN32SDK.kmk
===================================================================
--- trunk/kBuild/sdks/WIN32SDK.kmk	(revision 654)
+++ trunk/kBuild/sdks/WIN32SDK.kmk	(revision 655)
@@ -28,18 +28,18 @@
 SDK_WIN32SDK          := Win32 Platform SDK
 ifndef PATH_SDK_WIN32SDK
-PATH_SDK_WIN32SDK     := $(sort $(wildcard $(PATH_DEV)/x86.win32/sdk/2*))
-ifneq ($(PATH_SDK_WIN32SDK),)
-PATH_SDK_WIN32SDK     := $(call lastword,$(PATH_SDK_WIN32SDK))
-else
-$(warning kBuild: PATH_SDK_WIN32SDK couldn't be determined!)
-PATH_SDK_WIN32SDK     := $(PATH_DEV)/x86.win32/sdk/not/found
+ PATH_SDK_WIN32SDK    := $(sort $(wildcard $(PATH_DEV)/x86.win32/sdk/2*))
+ ifneq ($(PATH_SDK_WIN32SDK),)
+  PATH_SDK_WIN32SDK   := $(call lastword,$(PATH_SDK_WIN32SDK))
+ else
+  $(warning kBuild: PATH_SDK_WIN32SDK couldn't be determined!)
+  PATH_SDK_WIN32SDK   := $(PATH_DEV)/x86.win32/sdk/not/found
+ endif
 endif
-endif
-PATH_SDK_WIN32SDK_INC := $(PATH_SDK_WIN32SDK)/include
-PATH_SDK_WIN32SDK_LIB := $(PATH_SDK_WIN32SDK)/lib
+PATH_SDK_WIN32SDK_INC ?= $(PATH_SDK_WIN32SDK)/include
+PATH_SDK_WIN32SDK_LIB ?= $(PATH_SDK_WIN32SDK)/lib
 
-SDK_WIN32SDK_INCS     := $(PATH_SDK_WIN32SDK_INC)
-SDK_WIN32SDK_LIBPATH  := $(PATH_SDK_WIN32SDK_LIB)
-SDK_WIN32SDK_LIBS     := \
+SDK_WIN32SDK_INCS     ?= $(PATH_SDK_WIN32SDK_INC)
+SDK_WIN32SDK_LIBPATH  ?= $(PATH_SDK_WIN32SDK_LIB)
+SDK_WIN32SDK_LIBS     ?= \
 	$(PATH_SDK_WIN32SDK_LIB)/Kernel32.Lib \
 	$(PATH_SDK_WIN32SDK_LIB)/User32.Lib \
Index: trunk/kBuild/sdks/WIN32SDK2002.kmk
===================================================================
--- trunk/kBuild/sdks/WIN32SDK2002.kmk	(revision 654)
+++ trunk/kBuild/sdks/WIN32SDK2002.kmk	(revision 655)
@@ -28,21 +28,21 @@
 SDK_WIN32SDK2002          := Win32 Platform SDK 2002
 ifndef PATH_SDK_WIN32SDK2002
-PATH_SDK_WIN32SDK2002     := $(sort $(wildcard $(PATH_DEV)/x86.win32/sdk/2002*))
-ifeq ($(PATH_SDK_WIN32SDK2002),)
-PATH_SDK_WIN32SDK2002     := $(sort $(wildcard $(PATH_DEV)/x86.win32/sdk2002*))
+ PATH_SDK_WIN32SDK2002    := $(sort $(wildcard $(PATH_DEV)/x86.win32/sdk/2002*))
+ ifeq ($(PATH_SDK_WIN32SDK2002),)
+  PATH_SDK_WIN32SDK2002   := $(sort $(wildcard $(PATH_DEV)/x86.win32/sdk2002*))
+ endif
+ ifneq ($(PATH_SDK_WIN32SDK2002),)
+  PATH_SDK_WIN32SDK2002   := $(call lastword,$(PATH_SDK_WIN32SDK2002))
+ else
+  $(warning kBuild: PATH_SDK_WIN32SDK2002 couldn't be determined!)
+  PATH_SDK_WIN32SDK2002   := $(PATH_DEV)/x86.win32/sdk/not/found
+ endif
 endif
-ifneq ($(PATH_SDK_WIN32SDK2002),)
-PATH_SDK_WIN32SDK2002     := $(call lastword,$(PATH_SDK_WIN32SDK2002))
-else
-$(warning kBuild: PATH_SDK_WIN32SDK2002 couldn't be determined!)
-PATH_SDK_WIN32SDK2002     := $(PATH_DEV)/x86.win32/sdk/not/found
-endif
-endif
-PATH_SDK_WIN32SDK2002_INC := $(PATH_SDK_WIN32SDK2002)/include
-PATH_SDK_WIN32SDK2002_LIB := $(PATH_SDK_WIN32SDK2002)/lib
+PATH_SDK_WIN32SDK2002_INC ?= $(PATH_SDK_WIN32SDK2002)/include
+PATH_SDK_WIN32SDK2002_LIB ?= $(PATH_SDK_WIN32SDK2002)/lib
 
-SDK_WIN32SDK2002_INCS     := $(PATH_SDK_WIN32SDK2002_INC)
-SDK_WIN32SDK2002_LIBPATH  := $(PATH_SDK_WIN32SDK2002_LIB)
-SDK_WIN32SDK2002_LIBS     := \
+SDK_WIN32SDK2002_INCS     ?= $(PATH_SDK_WIN32SDK2002_INC)
+SDK_WIN32SDK2002_LIBPATH  ?= $(PATH_SDK_WIN32SDK2002_LIB)
+SDK_WIN32SDK2002_LIBS     ?= \
 	$(PATH_SDK_WIN32SDK2002_LIB)/Kernel32.Lib \
 	$(PATH_SDK_WIN32SDK2002_LIB)/User32.Lib \
Index: trunk/kBuild/sdks/WIN64SDK.kmk
===================================================================
--- trunk/kBuild/sdks/WIN64SDK.kmk	(revision 654)
+++ trunk/kBuild/sdks/WIN64SDK.kmk	(revision 655)
@@ -28,21 +28,21 @@
 SDK_WIN64SDK          := Win64 Platform SDK
 ifndef PATH_SDK_WIN64SDK
-PATH_SDK_WIN64SDK     := $(sort $(wildcard $(PATH_DEV)/amd64.win64/sdk/2*))
-ifeq ($(PATH_SDK_WIN64SDK),)
-PATH_SDK_WIN64SDK     := $(sort $(wildcard $(PATH_DEV)/x86.win32/sdk/2*))
+ PATH_SDK_WIN64SDK    := $(sort $(wildcard $(PATH_DEV)/amd64.win64/sdk/2*))
+ ifeq ($(PATH_SDK_WIN64SDK),)
+  PATH_SDK_WIN64SDK   := $(sort $(wildcard $(PATH_DEV)/x86.win32/sdk/2*))
+ endif
+ ifneq ($(PATH_SDK_WIN64SDK),)
+  PATH_SDK_WIN64SDK   := $(call lastword,$(PATH_SDK_WIN64SDK))
+ else
+  $(warning kBuild: PATH_SDK_WIN64SDK couldn't be determined!)
+  PATH_SDK_WIN64SDK   := $(PATH_DEV)/amd64.win64/sdk/not/found
+ endif
 endif
-ifneq ($(PATH_SDK_WIN64SDK),)
-PATH_SDK_WIN64SDK     := $(call lastword,$(PATH_SDK_WIN64SDK))
-else
-$(warning kBuild: PATH_SDK_WIN64SDK couldn't be determined!)
-PATH_SDK_WIN64SDK     := $(PATH_DEV)/amd64.win64/sdk/not/found
-endif
-endif
-PATH_SDK_WIN64SDK_INC := $(PATH_SDK_WIN64SDK)/include
-PATH_SDK_WIN64SDK_LIB := $(PATH_SDK_WIN64SDK)/lib/AMD64
+PATH_SDK_WIN64SDK_INC ?= $(PATH_SDK_WIN64SDK)/include
+PATH_SDK_WIN64SDK_LIB ?= $(PATH_SDK_WIN64SDK)/lib/AMD64
 
-SDK_WIN64SDK_INCS     := $(PATH_SDK_WIN64SDK_INC)
-SDK_WIN64SDK_LIBPATH  := $(PATH_SDK_WIN64SDK_LIB)
-SDK_WIN64SDK_LIBS     := \
+SDK_WIN64SDK_INCS     ?= $(PATH_SDK_WIN64SDK_INC)
+SDK_WIN64SDK_LIBPATH  ?= $(PATH_SDK_WIN64SDK_LIB)
+SDK_WIN64SDK_LIBS     ?= \
 	$(PATH_SDK_WIN64SDK_LIB)/Kernel32.Lib \
 	$(PATH_SDK_WIN64SDK_LIB)/User32.Lib \
Index: trunk/kBuild/tools/ALP.kmk
===================================================================
--- trunk/kBuild/tools/ALP.kmk	(revision 654)
+++ trunk/kBuild/tools/ALP.kmk	(revision 655)
@@ -35,9 +35,9 @@
 
 ifneq ($(PATH_TOOL_ALP),)
-TOOL_ALP_AS                  := $(PATH_TOOL_ALP)/alp$(HOSTSUFF_EXE)
+TOOL_ALP_AS                  ?= $(PATH_TOOL_ALP)/alp$(HOSTSUFF_EXE)
 else
-TOOL_ALP_AS                  := alp$(HOSTSUFF_EXE)
+TOOL_ALP_AS                  ?= alp$(HOSTSUFF_EXE)
 endif
-TOOL_ALP_ASFLAGS             := -Mb
+TOOL_ALP_ASFLAGS             ?= -Mb
 
 
Index: trunk/kBuild/tools/GCC.kmk
===================================================================
--- trunk/kBuild/tools/GCC.kmk	(revision 654)
+++ trunk/kBuild/tools/GCC.kmk	(revision 655)
@@ -28,42 +28,42 @@
 TOOL_GCC                    := Generic GCC
 
-TOOL_GCC_CC                 := gcc$(HOSTSUFF_EXE)
-TOOL_GCC_COBJSUFF           := .o
-TOOL_GCC_CFLAGS             := 
-TOOL_GCC_CFLAGS.debug       := -g
-TOOL_GCC_CFLAGS.profile     := -g -O2 #-pg
-TOOL_GCC_CFLAGS.release     := -O2
-TOOL_GCC_CINCS              :=
-TOOL_GCC_CDEFS              :=
-
-TOOL_GCC_CXX                := g++$(HOSTSUFF_EXE)
-TOOL_GCC_CXXOBJSUFF         := .o
-TOOL_GCC_CXXOBJSUFF         := .o
-TOOL_GCC_CXXFLAGS           := 
-TOOL_GCC_CXXFLAGS.debug     := -g -O0
-TOOL_GCC_CXXFLAGS.profile   := -g -O2 #-pg
-TOOL_GCC_CXXFLAGS.release   := -O2
-TOOL_GCC_CXXINCS            :=
-TOOL_GCC_CXXDEFS            :=
-
-TOOL_GCC_AS                 := gcc$(HOSTSUFF_EXE)
-TOOL_GCC_ASFLAGS            := -x assembler-with-cpp
-TOOL_GCC_ASFLAGS.debug      := -g
-TOOL_GCC_ASFLAGS.profile    := -g
-TOOL_GCC_ASOBJSUFF          := .o
-
-TOOL_GCC_AR                 := ar$(HOSTSUFF_EXE)
-TOOL_GCC_ARFLAGS            := cr
-TOOL_GCC_ARLIBSUFF          := .a
-
-TOOL_GCC_LD                 := g++$(HOSTSUFF_EXE)
-TOOL_GCC_LDFLAGS            :=
-TOOL_GCC_LDFLAGS.debug      := -g
-TOOL_GCC_LDFLAGS.profile    := -g
-TOOL_GCC_LDFLAGS.dll.os2    := -Zdll
+TOOL_GCC_CC                 ?= gcc$(HOSTSUFF_EXE)
+TOOL_GCC_COBJSUFF           ?= .o
+TOOL_GCC_CFLAGS             ?= 
+TOOL_GCC_CFLAGS.debug       ?= -g
+TOOL_GCC_CFLAGS.profile     ?= -g -O2 #-pg
+TOOL_GCC_CFLAGS.release     ?= -O2
+TOOL_GCC_CINCS              ?=
+TOOL_GCC_CDEFS              ?=
+
+TOOL_GCC_CXX                ?= g++$(HOSTSUFF_EXE)
+TOOL_GCC_CXXOBJSUFF         ?= .o
+TOOL_GCC_CXXOBJSUFF         ?= .o
+TOOL_GCC_CXXFLAGS           ?= 
+TOOL_GCC_CXXFLAGS.debug     ?= -g -O0
+TOOL_GCC_CXXFLAGS.profile   ?= -g -O2 #-pg
+TOOL_GCC_CXXFLAGS.release   ?= -O2
+TOOL_GCC_CXXINCS            ?=
+TOOL_GCC_CXXDEFS            ?=
+
+TOOL_GCC_AS                 ?= gcc$(HOSTSUFF_EXE)
+TOOL_GCC_ASFLAGS            ?= -x assembler-with-cpp
+TOOL_GCC_ASFLAGS.debug      ?= -g
+TOOL_GCC_ASFLAGS.profile    ?= -g
+TOOL_GCC_ASOBJSUFF          ?= .o
+
+TOOL_GCC_AR                 ?= ar$(HOSTSUFF_EXE)
+TOOL_GCC_ARFLAGS            ?= cr
+TOOL_GCC_ARLIBSUFF          ?= .a
+
+TOOL_GCC_LD                 ?= g++$(HOSTSUFF_EXE)
+TOOL_GCC_LDFLAGS            ?=
+TOOL_GCC_LDFLAGS.debug      ?= -g
+TOOL_GCC_LDFLAGS.profile    ?= -g
+TOOL_GCC_LDFLAGS.dll.os2    ?= -Zdll
 ifndef TOOL_GCC_LDFLAGS.$(BUILD_TARGET)
-TOOL_GCC_LDFLAGS.dll        := -shared
+TOOL_GCC_LDFLAGS.dll        ?= -shared
 else
-TOOL_GCC_LDFLAGS.dll        := $(TOOL_GCC_LDFLAGS.$(BUILD_TARGET))
+TOOL_GCC_LDFLAGS.dll        ?= $(TOOL_GCC_LDFLAGS.$(BUILD_TARGET))
 endif
 
Index: trunk/kBuild/tools/GCC3.kmk
===================================================================
--- trunk/kBuild/tools/GCC3.kmk	(revision 654)
+++ trunk/kBuild/tools/GCC3.kmk	(revision 655)
@@ -27,57 +27,57 @@
 TOOL_GCC3                    := Generic GCC v3
 
-TOOL_GCC3_CC                 := gcc$(HOSTSUFF_EXE)
-TOOL_GCC3_COBJSUFF           := .o
-TOOL_GCC3_CFLAGS             := 
-TOOL_GCC3_CFLAGS.debug       := -g
-TOOL_GCC3_CFLAGS.profile     := -g -O2 #-pg
-TOOL_GCC3_CFLAGS.release     := -O2
-TOOL_GCC3_CINCS              :=
-TOOL_GCC3_CDEFS              :=
-
-TOOL_GCC3_CXX                := g++$(HOSTSUFF_EXE)
-TOOL_GCC3_CXXOBJSUFF         := .o
-TOOL_GCC3_CXXOBJSUFF         := .o
-TOOL_GCC3_CXXFLAGS           := 
-TOOL_GCC3_CXXFLAGS.debug     := -g
-TOOL_GCC3_CXXFLAGS.profile   := -g -O2 #-pg
-TOOL_GCC3_CXXFLAGS.release   := -O2
-TOOL_GCC3_CXXINCS            :=
-TOOL_GCC3_CXXDEFS            :=
-
-TOOL_GCC3_AS                 := gcc$(HOSTSUFF_EXE)
-TOOL_GCC3_ASFLAGS            := -x assembler-with-cpp
-TOOL_GCC3_ASFLAGS.debug      := -g
-TOOL_GCC3_ASFLAGS.profile    := -g
-TOOL_GCC3_ASOBJSUFF          := .o
-
-TOOL_GCC3_AR                 := ar$(HOSTSUFF_EXE)
-TOOL_GCC3_ARFLAGS            := cr
-TOOL_GCC3_ARLIBSUFF          := .a
+TOOL_GCC3_CC                 ?= gcc$(HOSTSUFF_EXE)
+TOOL_GCC3_COBJSUFF           ?= .o
+TOOL_GCC3_CFLAGS             ?= 
+TOOL_GCC3_CFLAGS.debug       ?= -g
+TOOL_GCC3_CFLAGS.profile     ?= -g -O2 #-pg
+TOOL_GCC3_CFLAGS.release     ?= -O2
+TOOL_GCC3_CINCS              ?=
+TOOL_GCC3_CDEFS              ?=
+
+TOOL_GCC3_CXX                ?= g++$(HOSTSUFF_EXE)
+TOOL_GCC3_CXXOBJSUFF         ?= .o
+TOOL_GCC3_CXXOBJSUFF         ?= .o
+TOOL_GCC3_CXXFLAGS           ?= 
+TOOL_GCC3_CXXFLAGS.debug     ?= -g
+TOOL_GCC3_CXXFLAGS.profile   ?= -g -O2 #-pg
+TOOL_GCC3_CXXFLAGS.release   ?= -O2
+TOOL_GCC3_CXXINCS            ?=
+TOOL_GCC3_CXXDEFS            ?=
+
+TOOL_GCC3_AS                 ?= gcc$(HOSTSUFF_EXE)
+TOOL_GCC3_ASFLAGS            ?= -x assembler-with-cpp
+TOOL_GCC3_ASFLAGS.debug      ?= -g
+TOOL_GCC3_ASFLAGS.profile    ?= -g
+TOOL_GCC3_ASOBJSUFF          ?= .o
+
+TOOL_GCC3_AR                 ?= ar$(HOSTSUFF_EXE)
+TOOL_GCC3_ARFLAGS            ?= cr
+TOOL_GCC3_ARLIBSUFF          ?= .a
 
 ifeq ($(BUILD_TARGET),os2)
-TOOL_GCC3_AR_IMP             := emximp$(HOSTSTUFF_EXE)
+TOOL_GCC3_AR_IMP             ?= emximp$(HOSTSTUFF_EXE)
 else
-TOOL_GCC3_AR_IMP             := $(ECHO) not supported!
-endif
-
-TOOL_GCC3_LD                 := g++$(HOSTSUFF_EXE)
-TOOL_GCC3_LD_SYSMOD          := ld$(HOSTSUFF_EXE)
-TOOL_GCC3_LDFLAGS            :=
-TOOL_GCC3_LDFLAGS.debug      := -g
-TOOL_GCC3_LDFLAGS.profile    := -g
+TOOL_GCC3_AR_IMP             ?= $(ECHO) not supported!
+endif
+
+TOOL_GCC3_LD                 ?= g++$(HOSTSUFF_EXE)
+TOOL_GCC3_LD_SYSMOD          ?= ld$(HOSTSUFF_EXE)
+TOOL_GCC3_LDFLAGS            ?=
+TOOL_GCC3_LDFLAGS.debug      ?= -g
+TOOL_GCC3_LDFLAGS.profile    ?= -g
 ifndef TOOL_GCC3_LDFLAGS.$(BUILD_TARGET)
-TOOL_GCC3_LDFLAGS.dll        := -shared
+TOOL_GCC3_LDFLAGS.dll        ?= -shared
 else
-TOOL_GCC3_LDFLAGS.dll        := $(TOOL_GCC3_LDFLAGS.$(BUILD_TARGET))
-endif
-TOOL_GCC3_LDFLAGS.sysmod     := -r
-TOOL_GCC3_LD_SONAME           = -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
+TOOL_GCC3_LDFLAGS.dll        ?= $(TOOL_GCC3_LDFLAGS.$(BUILD_TARGET))
+endif
+TOOL_GCC3_LDFLAGS.sysmod     ?= -r
+TOOL_GCC3_LD_SONAME          ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
 ifeq ($(BUILD_TARGET),os2)
-TOOL_GCC3_LD_MAP              = -Zmap=$(1)
-TOOL_GCC3_LD_SYSMOD_MAP       = -Zmap=$(1)
+TOOL_GCC3_LD_MAP             ?= -Zmap=$(1)
+TOOL_GCC3_LD_SYSMOD_MAP      ?= -Zmap=$(1)
 else
-TOOL_GCC3_LD_MAP              = -Wl,-Map -Wl,$(1) -Wl,--cref
-TOOL_GCC3_LD_SYSMOD_MAP       = -Map $(1) --cref
+TOOL_GCC3_LD_MAP             ?= -Wl,-Map -Wl,$(1) -Wl,--cref
+TOOL_GCC3_LD_SYSMOD_MAP      ?= -Map $(1) --cref
 endif
 ifdef SLKRUNS
Index: trunk/kBuild/tools/GCC32.kmk
===================================================================
--- trunk/kBuild/tools/GCC32.kmk	(revision 654)
+++ trunk/kBuild/tools/GCC32.kmk	(revision 655)
@@ -25,56 +25,56 @@
 #
 
-TOOL_GCC32                   := Generic GCC v3 32-bit
-
-TOOL_GCC32_CC                 := gcc32$(HOSTSUFF_EXE)
-TOOL_GCC32_COBJSUFF           := .o
-TOOL_GCC32_CFLAGS             := 
-TOOL_GCC32_CFLAGS.debug       := -g
-TOOL_GCC32_CFLAGS.profile     := -g -O2 #-pg
-TOOL_GCC32_CFLAGS.release     := -O2
-TOOL_GCC32_CINCS              :=
-TOOL_GCC32_CDEFS              :=
-
-TOOL_GCC32_CXX                := g++32$(HOSTSUFF_EXE)
-TOOL_GCC32_CXXOBJSUFF         := .o
-TOOL_GCC32_CXXOBJSUFF         := .o
-TOOL_GCC32_CXXFLAGS           := 
-TOOL_GCC32_CXXFLAGS.debug     := -g
-TOOL_GCC32_CXXFLAGS.profile   := -g -O2 #-pg
-TOOL_GCC32_CXXFLAGS.release   := -O2
-TOOL_GCC32_CXXINCS            :=
-TOOL_GCC32_CXXDEFS            :=
-
-TOOL_GCC32_AS                 := gcc32$(HOSTSUFF_EXE)
-TOOL_GCC32_ASFLAGS            := -x assembler-with-cpp
-TOOL_GCC32_ASFLAGS.debug      := -g
-TOOL_GCC32_ASFLAGS.profile    := -g
-TOOL_GCC32_ASOBJSUFF          := .o
-
-TOOL_GCC32_AR                 := ar$(HOSTSUFF_EXE)
-TOOL_GCC32_ARFLAGS            := cr
-TOOL_GCC32_ARLIBSUFF          := .a
-
-TOOL_GCC32_LD                 := g++32$(HOSTSUFF_EXE)
-TOOL_GCC32_LD_SYSMOD          := ld$(HOSTSUFF_EXE)
-TOOL_GCC32_LDFLAGS            :=
-TOOL_GCC32_LDFLAGS.debug      := -g
-TOOL_GCC32_LDFLAGS.profile    := -g
+TOOL_GCC32                    := Generic GCC v3 32-bit
+
+TOOL_GCC32_CC                 ?= gcc32$(HOSTSUFF_EXE)
+TOOL_GCC32_COBJSUFF           ?= .o
+TOOL_GCC32_CFLAGS             ?= 
+TOOL_GCC32_CFLAGS.debug       ?= -g
+TOOL_GCC32_CFLAGS.profile     ?= -g -O2 #-pg
+TOOL_GCC32_CFLAGS.release     ?= -O2
+TOOL_GCC32_CINCS              ?=
+TOOL_GCC32_CDEFS              ?=
+
+TOOL_GCC32_CXX                ?= g++32$(HOSTSUFF_EXE)
+TOOL_GCC32_CXXOBJSUFF         ?= .o
+TOOL_GCC32_CXXOBJSUFF         ?= .o
+TOOL_GCC32_CXXFLAGS           ?= 
+TOOL_GCC32_CXXFLAGS.debug     ?= -g
+TOOL_GCC32_CXXFLAGS.profile   ?= -g -O2 #-pg
+TOOL_GCC32_CXXFLAGS.release   ?= -O2
+TOOL_GCC32_CXXINCS            ?=
+TOOL_GCC32_CXXDEFS            ?=
+
+TOOL_GCC32_AS                 ?= gcc32$(HOSTSUFF_EXE)
+TOOL_GCC32_ASFLAGS            ?= -x assembler-with-cpp
+TOOL_GCC32_ASFLAGS.debug      ?= -g
+TOOL_GCC32_ASFLAGS.profile    ?= -g
+TOOL_GCC32_ASOBJSUFF          ?= .o
+
+TOOL_GCC32_AR                 ?= ar$(HOSTSUFF_EXE)
+TOOL_GCC32_ARFLAGS            ?= cr
+TOOL_GCC32_ARLIBSUFF          ?= .a
+
+TOOL_GCC32_LD                 ?= g++32$(HOSTSUFF_EXE)
+TOOL_GCC32_LD_SYSMOD          ?= ld$(HOSTSUFF_EXE)
+TOOL_GCC32_LDFLAGS            ?=
+TOOL_GCC32_LDFLAGS.debug      ?= -g
+TOOL_GCC32_LDFLAGS.profile    ?= -g
 ifndef TOOL_GCC32_LDFLAGS.$(BUILD_TARGET)
-TOOL_GCC32_LDFLAGS.dll        := -shared
+TOOL_GCC32_LDFLAGS.dll        ?= -shared
 else
-TOOL_GCC32_LDFLAGS.dll        := $(TOOL_GCC32_LDFLAGS.$(BUILD_TARGET))
-endif
-TOOL_GCC32_LDFLAGS.sysmod     := -r -m elf_i386
-TOOL_GCC32_LD_SONAME           = -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
+TOOL_GCC32_LDFLAGS.dll        ?= $(TOOL_GCC32_LDFLAGS.$(BUILD_TARGET))
+endif
+TOOL_GCC32_LDFLAGS.sysmod     ?= -r -m elf_i386
+TOOL_GCC32_LD_SONAME          ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
 ifeq ($(BUILD_TARGET),os2)
-TOOL_GCC32_LD_MAP              = -Zmap=$(1)
+TOOL_GCC32_LD_MAP             ?= -Zmap=$(1)
 else
-TOOL_GCC32_LD_MAP              = -Wl,-Map -Wl,$(1) -Wl,--cref
+TOOL_GCC32_LD_MAP             ?= -Wl,-Map -Wl,$(1) -Wl,--cref
 endif
 ifeq ($(BUILD_TARGET),os2)
-TOOL_GCC32_LD_SYSMOD_MAP       = -Zmap=$(1)
+TOOL_GCC32_LD_SYSMOD_MAP      ?= -Zmap=$(1)
 else
-TOOL_GCC32_LD_SYSMOD_MAP       = -Map $(1) --cref
+TOOL_GCC32_LD_SYSMOD_MAP      ?= -Map $(1) --cref
 endif
 ifdef SLKRUNS
Index: trunk/kBuild/tools/GCC3OMF.kmk
===================================================================
--- trunk/kBuild/tools/GCC3OMF.kmk	(revision 654)
+++ trunk/kBuild/tools/GCC3OMF.kmk	(revision 655)
@@ -27,47 +27,47 @@
 TOOL_GCC3OMF                    := OS/2 GCC v3 OMF
 
-TOOL_GCC3OMF_CC                 := gcc$(HOSTSUFF_EXE)
-TOOL_GCC3OMF_COBJSUFF           := .o
-TOOL_GCC3OMF_CFLAGS             := -Zomf
-TOOL_GCC3OMF_CFLAGS.debug       := -g
-TOOL_GCC3OMF_CFLAGS.profile     := -g -O2 #-pg
-TOOL_GCC3OMF_CFLAGS.release     := -O2
-TOOL_GCC3OMF_CINCS              :=
-TOOL_GCC3OMF_CDEFS              :=
-
-TOOL_GCC3OMF_CXX                := g++$(HOSTSUFF_EXE)
-TOOL_GCC3OMF_CXXOBJSUFF         := .o
-TOOL_GCC3OMF_CXXOBJSUFF         := .o
-TOOL_GCC3OMF_CXXFLAGS           := -Zomf
-TOOL_GCC3OMF_CXXFLAGS.debug     := -g
-TOOL_GCC3OMF_CXXFLAGS.profile   := -g -O2 #-pg
-TOOL_GCC3OMF_CXXFLAGS.release   := -O2
-TOOL_GCC3OMF_CXXINCS            :=
-TOOL_GCC3OMF_CXXDEFS            :=
-
-TOOL_GCC3OMF_AS                 := gcc$(HOSTSUFF_EXE)
-TOOL_GCC3OMF_ASFLAGS            := -x assembler-with-cpp
-TOOL_GCC3OMF_ASFLAGS.debug      := -g
-TOOL_GCC3OMF_ASFLAGS.profile    := -g
-TOOL_GCC3OMF_ASOBJSUFF          := .obj
-
-TOOL_GCC3OMF_AR                 := emxomfar$(HOSTSUFF_EXE)
-TOOL_GCC3OMF_ARFLAGS            := cr
-TOOL_GCC3OMF_ARLIBSUFF          := .lib
-TOOL_GCC3OMF_AR_IMP             := emximp$(HOSTSUFF_EXE)
-
-TOOL_GCC3OMF_LD                 := g++$(HOSTSUFF_EXE)
-TOOL_GCC3OMF_LD_SYSMOD          := g++$(HOSTSUFF_EXE)
-TOOL_GCC3OMF_LDFLAGS            := -Zomf
-TOOL_GCC3OMF_LDFLAGS.debug      := -g
-TOOL_GCC3OMF_LDFLAGS.profile    := -g
+TOOL_GCC3OMF_CC                 ?= gcc$(HOSTSUFF_EXE)
+TOOL_GCC3OMF_COBJSUFF           ?= .o
+TOOL_GCC3OMF_CFLAGS             ?= -Zomf
+TOOL_GCC3OMF_CFLAGS.debug       ?= -g
+TOOL_GCC3OMF_CFLAGS.profile     ?= -g -O2 #-pg
+TOOL_GCC3OMF_CFLAGS.release     ?= -O2
+TOOL_GCC3OMF_CINCS              ?=
+TOOL_GCC3OMF_CDEFS              ?=
+
+TOOL_GCC3OMF_CXX                ?= g++$(HOSTSUFF_EXE)
+TOOL_GCC3OMF_CXXOBJSUFF         ?= .o
+TOOL_GCC3OMF_CXXOBJSUFF         ?= .o
+TOOL_GCC3OMF_CXXFLAGS           ?= -Zomf
+TOOL_GCC3OMF_CXXFLAGS.debug     ?= -g
+TOOL_GCC3OMF_CXXFLAGS.profile   ?= -g -O2 #-pg
+TOOL_GCC3OMF_CXXFLAGS.release   ?= -O2
+TOOL_GCC3OMF_CXXINCS            ?=
+TOOL_GCC3OMF_CXXDEFS            ?=
+
+TOOL_GCC3OMF_AS                 ?= gcc$(HOSTSUFF_EXE)
+TOOL_GCC3OMF_ASFLAGS            ?= -x assembler-with-cpp
+TOOL_GCC3OMF_ASFLAGS.debug      ?= -g
+TOOL_GCC3OMF_ASFLAGS.profile    ?= -g
+TOOL_GCC3OMF_ASOBJSUFF          ?= .obj
+
+TOOL_GCC3OMF_AR                 ?= emxomfar$(HOSTSUFF_EXE)
+TOOL_GCC3OMF_ARFLAGS            ?= cr
+TOOL_GCC3OMF_ARLIBSUFF          ?= .lib
+TOOL_GCC3OMF_AR_IMP             ?= emximp$(HOSTSUFF_EXE)
+
+TOOL_GCC3OMF_LD                 ?= g++$(HOSTSUFF_EXE)
+TOOL_GCC3OMF_LD_SYSMOD          ?= g++$(HOSTSUFF_EXE)
+TOOL_GCC3OMF_LDFLAGS            ?= -Zomf
+TOOL_GCC3OMF_LDFLAGS.debug      ?= -g
+TOOL_GCC3OMF_LDFLAGS.profile    ?= -g
 ifndef TOOL_GCC3OMF_LDFLAGS.$(BUILD_TARGET)
-TOOL_GCC3OMF_LDFLAGS.dll        := -shared -Zdll
+TOOL_GCC3OMF_LDFLAGS.dll        ?= -shared -Zdll
 else
-TOOL_GCC3OMF_LDFLAGS.dll        := $(TOOL_GCC3OMF_LDFLAGS.$(BUILD_TARGET))
+TOOL_GCC3OMF_LDFLAGS.dll        ?= $(TOOL_GCC3OMF_LDFLAGS.$(BUILD_TARGET))
 endif
-TOOL_GCC3OMF_LDFLAGS.sysmod     := -nostdlib
-TOOL_GCC3OMF_LD_MAP              = -Zmap=$(1)
-TOOL_GCC3OMF_LD_SYSMOD_MAP       = -Zmap=$(1)
+TOOL_GCC3OMF_LDFLAGS.sysmod     ?= -nostdlib
+TOOL_GCC3OMF_LD_MAP             ?= -Zmap=$(1)
+TOOL_GCC3OMF_LD_SYSMOD_MAP      ?= -Zmap=$(1)
 
 ifdef SLKRUNS
Index: trunk/kBuild/tools/GCC4MACHO.kmk
===================================================================
--- trunk/kBuild/tools/GCC4MACHO.kmk	(revision 654)
+++ trunk/kBuild/tools/GCC4MACHO.kmk	(revision 655)
@@ -27,49 +27,49 @@
 TOOL_GCC4MACHO                    := Mach-O GCC v4
 
-TOOL_GCC4MACHO_CC                 := gcc$(HOSTSUFF_EXE)
-TOOL_GCC4MACHO_COBJSUFF           := .o
-TOOL_GCC4MACHO_CFLAGS             := 
-TOOL_GCC4MACHO_CFLAGS.debug       := -g
-TOOL_GCC4MACHO_CFLAGS.profile     := -g -O2 #-pg
-TOOL_GCC4MACHO_CFLAGS.release     := -O2 
-TOOL_GCC4MACHO_CINCS              :=
-TOOL_GCC4MACHO_CDEFS              :=
-
-TOOL_GCC4MACHO_CXX                := g++$(HOSTSUFF_EXE)
-TOOL_GCC4MACHO_CXXOBJSUFF         := .o
-TOOL_GCC4MACHO_CXXOBJSUFF         := .o
-TOOL_GCC4MACHO_CXXFLAGS           := 
-TOOL_GCC4MACHO_CXXFLAGS.debug     := -g
-TOOL_GCC4MACHO_CXXFLAGS.profile   := -g -O2 #-pg
-TOOL_GCC4MACHO_CXXFLAGS.release   := -O2
-TOOL_GCC4MACHO_CXXINCS            :=
-TOOL_GCC4MACHO_CXXDEFS            :=
-
-TOOL_GCC4MACHO_AS                 := gcc$(HOSTSUFF_EXE)
-TOOL_GCC4MACHO_ASFLAGS            := -x assembler-with-cpp
-TOOL_GCC4MACHO_ASFLAGS.debug      := -g
-TOOL_GCC4MACHO_ASFLAGS.profile    := -g
-TOOL_GCC4MACHO_ASOBJSUFF          := .o
-
-TOOL_GCC4MACHO_AR                 := ar$(HOSTSUFF_EXE)
-TOOL_GCC4MACHO_ARFLAGS            := -c -rs
-TOOL_GCC4MACHO_ARLIBSUFF          := .a
-
-TOOL_GCC4MACHO_AR_IMP             := $(ECHO) not supported!
-
-TOOL_GCC4MACHO_LD                 := g++$(HOSTSUFF_EXE)
-TOOL_GCC4MACHO_LD_SYSMOD          := g++$(HOSTSUFF_EXE)
-TOOL_GCC4MACHO_LDFLAGS            :=
-TOOL_GCC4MACHO_LDFLAGS.debug      := -g
-TOOL_GCC4MACHO_LDFLAGS.profile    := -g
+TOOL_GCC4MACHO_CC                 ?= gcc$(HOSTSUFF_EXE)
+TOOL_GCC4MACHO_COBJSUFF           ?= .o
+TOOL_GCC4MACHO_CFLAGS             ?= 
+TOOL_GCC4MACHO_CFLAGS.debug       ?= -g
+TOOL_GCC4MACHO_CFLAGS.profile     ?= -g -O2 #-pg
+TOOL_GCC4MACHO_CFLAGS.release     ?= -O2 
+TOOL_GCC4MACHO_CINCS              ?=
+TOOL_GCC4MACHO_CDEFS              ?=
+
+TOOL_GCC4MACHO_CXX                ?= g++$(HOSTSUFF_EXE)
+TOOL_GCC4MACHO_CXXOBJSUFF         ?= .o
+TOOL_GCC4MACHO_CXXOBJSUFF         ?= .o
+TOOL_GCC4MACHO_CXXFLAGS           ?= 
+TOOL_GCC4MACHO_CXXFLAGS.debug     ?= -g
+TOOL_GCC4MACHO_CXXFLAGS.profile   ?= -g -O2 #-pg
+TOOL_GCC4MACHO_CXXFLAGS.release   ?= -O2
+TOOL_GCC4MACHO_CXXINCS            ?=
+TOOL_GCC4MACHO_CXXDEFS            ?=
+
+TOOL_GCC4MACHO_AS                 ?= gcc$(HOSTSUFF_EXE)
+TOOL_GCC4MACHO_ASFLAGS            ?= -x assembler-with-cpp
+TOOL_GCC4MACHO_ASFLAGS.debug      ?= -g
+TOOL_GCC4MACHO_ASFLAGS.profile    ?= -g
+TOOL_GCC4MACHO_ASOBJSUFF          ?= .o
+
+TOOL_GCC4MACHO_AR                 ?= ar$(HOSTSUFF_EXE)
+TOOL_GCC4MACHO_ARFLAGS            ?= -c -rs
+TOOL_GCC4MACHO_ARLIBSUFF          ?= .a
+
+TOOL_GCC4MACHO_AR_IMP             ?= $(ECHO) not supported!
+
+TOOL_GCC4MACHO_LD                 ?= g++$(HOSTSUFF_EXE)
+TOOL_GCC4MACHO_LD_SYSMOD          ?= g++$(HOSTSUFF_EXE)
+TOOL_GCC4MACHO_LDFLAGS            ?=
+TOOL_GCC4MACHO_LDFLAGS.debug      ?= -g
+TOOL_GCC4MACHO_LDFLAGS.profile    ?= -g
 ifndef TOOL_GCC4MACHO_LDFLAGS.$(BUILD_TARGET)
-TOOL_GCC4MACHO_LDFLAGS.dll        := -dynamiclib
+TOOL_GCC4MACHO_LDFLAGS.dll        ?= -dynamiclib
 else
-TOOL_GCC4MACHO_LDFLAGS.dll        := $(TOOL_GCC4MACHO_LDFLAGS.$(BUILD_TARGET))
+TOOL_GCC4MACHO_LDFLAGS.dll        ?= $(TOOL_GCC4MACHO_LDFLAGS.$(BUILD_TARGET))
 endif
-TOOL_GCC4MACHO_LDFLAGS.sysmod     := -r
+TOOL_GCC4MACHO_LDFLAGS.sysmod     ?= -r
 #TOOL_GCC4MACHO_LD_SONAME           = -Wl,-dylib_install_name $(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
-TOOL_GCC4MACHO_LD_MAP              =
-TOOL_GCC4MACHO_LD_SYSMOD_MAP       =
+TOOL_GCC4MACHO_LD_MAP             ?=
+TOOL_GCC4MACHO_LD_SYSMOD_MAP      ?=
 
 ifdef SLKRUNS
Index: trunk/kBuild/tools/MINGW32.kmk
===================================================================
--- trunk/kBuild/tools/MINGW32.kmk	(revision 654)
+++ trunk/kBuild/tools/MINGW32.kmk	(revision 655)
@@ -29,73 +29,73 @@
 # find latest installed version
 ifndef PATH_TOOL_MINGW32
-PATH_DEV_BLD                 ?= $(PATH_DEV)/$(BUILD_PLATFORM_ARCH).$(BUILD_PLATFORM)
-PATH_TOOL_MINGW32            := $(sort $(wildcard $(PATH_DEV_BLD)/mingw32/v*.*))
-ifeq ($(PATH_TOOL_MINGW32),)
-PATH_TOOL_MINGW32            := $(sort $(wildcard $(PATH_DEV)/x86.win32/mingw32/v*.*))
-endif
+ PATH_DEV_BLD                ?= $(PATH_DEV)/$(BUILD_PLATFORM_ARCH).$(BUILD_PLATFORM)
+ PATH_TOOL_MINGW32           := $(sort $(wildcard $(PATH_DEV)/$(BUILD_PLATFORM_ARCH).$(BUILD_PLATFORM)/mingw32/v*.*))
+ ifeq ($(PATH_TOOL_MINGW32),)
+  PATH_TOOL_MINGW32          := $(sort $(wildcard $(PATH_DEV)/x86.win32/mingw32/v*.*))
+ endif
+ ifneq ($(PATH_TOOL_MINGW32),)
+  PATH_TOOL_MINGW32          := $(call lastword,$(PATH_TOOL_MINGW32))
+ endif
+endif
+
+# figure out if it's native or needs a win32 launcher
+_TOOL_MINGW32_PREFIX            ?=
 ifneq ($(PATH_TOOL_MINGW32),)
-PATH_TOOL_MINGW32            := $(call lastword,$(PATH_TOOL_MINGW32))
-endif
-endif
-
-# figure out if it's native or needs a win32 launcher
-_TOOL_MINGW32_PREFIX            :=
-ifneq ($(PATH_TOOL_MINGW32),)
-_TOOL_MINGW32_PREFIX            := $(PATH_TOOL_MINGW32)/bin/
-endif
-_TOOL_MINGW32_SUFF_EXE          := $(HOSTSUFF_EXE)
+_TOOL_MINGW32_PREFIX            ?= $(PATH_TOOL_MINGW32)/bin/
+endif
+_TOOL_MINGW32_SUFF_EXE          ?= $(HOSTSUFF_EXE)
 ifneq ($(BUILD_PLATFORM),win32)
 # we're cross compiling either using wine/odin or a cross compiler.
 ifneq ($(PATH_TOOL_MINGW32),$(subst x86.win32,,$(PATH_TOOL_MINGW32)))
-_TOOL_MINGW32_PREFIX            := $(EXEC_X86_WIN32) $(_TOOL_MINGW32_PREFIX)
-_TOOL_MINGW32_SUFF_EXE          := .exe
+_TOOL_MINGW32_PREFIX            ?= $(EXEC_X86_WIN32) $(_TOOL_MINGW32_PREFIX)
+_TOOL_MINGW32_SUFF_EXE          ?= .exe
 else
-_TOOL_MINGW32_PREFIX            := $(_TOOL_MINGW32_PREFIX)i386-mingw32msvc-
-_TOOL_MINGW32_SUFF_EXE          :=
-_TOOL_MINGW32_XCOMPILE          := 1
-endif
-endif
-
-TOOL_MINGW32_CC                 := $(_TOOL_MINGW32_PREFIX)gcc$(_TOOL_MINGW32_SUFF_EXE)
-TOOL_MINGW32_COBJSUFF           := .o
-TOOL_MINGW32_CFLAGS             := -g
-TOOL_MINGW32_CFLAGS.debug       := -O0
-TOOL_MINGW32_CFLAGS.release     := -O2
-TOOL_MINGW32_CFLAGS.profile     := -O2 #-pg
-TOOL_MINGW32_CINCS              :=
-TOOL_MINGW32_CDEFS              :=
-
-TOOL_MINGW32_CXX                := $(_TOOL_MINGW32_PREFIX)g++$(_TOOL_MINGW32_SUFF_EXE)
-TOOL_MINGW32_CXXOBJSUFF         := .o
-TOOL_MINGW32_CXXOBJSUFF         := .o
-TOOL_MINGW32_CXXFLAGS           := -g
-TOOL_MINGW32_CXXFLAGS.debug     := -O0
-TOOL_MINGW32_CXXFLAGS.release   := -O2
-TOOL_MINGW32_CXXFLAGS.profile   := -O2 #-pg
-TOOL_MINGW32_CXXINCS            :=
-TOOL_MINGW32_CXXDEFS            :=
-
-TOOL_MINGW32_AS                 := $(_TOOL_MINGW32_PREFIX)gcc$(_TOOL_MINGW32_SUFF_EXE)
-TOOL_MINGW32_ASFLAGS            := -g -x assembler-with-cpp
-TOOL_MINGW32_ASOBJSUFF          := .o
-
-TOOL_MINGW32_AR                 := $(_TOOL_MINGW32_PREFIX)ar$(_TOOL_MINGW32_SUFF_EXE)
-TOOL_MINGW32_ARFLAGS            := cr
-TOOL_MINGW32_ARLIBSUFF          := .a
+_TOOL_MINGW32_PREFIX            ?= $(_TOOL_MINGW32_PREFIX)i386-mingw32msvc-
+_TOOL_MINGW32_SUFF_EXE          ?=
+_TOOL_MINGW32_XCOMPILE          ?= 1
+endif
+endif
+
+TOOL_MINGW32_CC                 ?= $(_TOOL_MINGW32_PREFIX)gcc$(_TOOL_MINGW32_SUFF_EXE)
+TOOL_MINGW32_COBJSUFF           ?= .o
+TOOL_MINGW32_CFLAGS             ?= -g
+TOOL_MINGW32_CFLAGS.debug       ?= -O0
+TOOL_MINGW32_CFLAGS.release     ?= -O2
+TOOL_MINGW32_CFLAGS.profile     ?= -O2 #-pg
+TOOL_MINGW32_CINCS              ?=
+TOOL_MINGW32_CDEFS              ?=
+
+TOOL_MINGW32_CXX                ?= $(_TOOL_MINGW32_PREFIX)g++$(_TOOL_MINGW32_SUFF_EXE)
+TOOL_MINGW32_CXXOBJSUFF         ?= .o
+TOOL_MINGW32_CXXOBJSUFF         ?= .o
+TOOL_MINGW32_CXXFLAGS           ?= -g
+TOOL_MINGW32_CXXFLAGS.debug     ?= -O0
+TOOL_MINGW32_CXXFLAGS.release   ?= -O2
+TOOL_MINGW32_CXXFLAGS.profile   ?= -O2 #-pg
+TOOL_MINGW32_CXXINCS            ?=
+TOOL_MINGW32_CXXDEFS            ?=
+
+TOOL_MINGW32_AS                 ?= $(_TOOL_MINGW32_PREFIX)gcc$(_TOOL_MINGW32_SUFF_EXE)
+TOOL_MINGW32_ASFLAGS            ?= -g -x assembler-with-cpp
+TOOL_MINGW32_ASOBJSUFF          ?= .o
+
+TOOL_MINGW32_AR                 ?= $(_TOOL_MINGW32_PREFIX)ar$(_TOOL_MINGW32_SUFF_EXE)
+TOOL_MINGW32_ARFLAGS            ?= cr
+TOOL_MINGW32_ARLIBSUFF          ?= .a
 
 # The linux cross compiler ebuild haven't got g++, this is a hack for that.
 ifndef _TOOL_MINGW32_XCOMPILE
-TOOL_MINGW32_LD                 := $(_TOOL_MINGW32_PREFIX)g++$(_TOOL_MINGW32_SUFF_EXE)
+TOOL_MINGW32_LD                 ?= $(_TOOL_MINGW32_PREFIX)g++$(_TOOL_MINGW32_SUFF_EXE)
 else
-TOOL_MINGW32_LD                 := $(_TOOL_MINGW32_PREFIX)gcc$(_TOOL_MINGW32_SUFF_EXE)
-endif
-TOOL_MINGW32_LDFLAGS            :=
-TOOL_MINGW32_LDFLAGS.debug      := -g
-TOOL_MINGW32_LDFLAGS.release    := -s
-TOOL_MINGW32_LD_MAP              = -Wl,-Map -Wl,$(1) -Wl,--cref
-TOOL_MINGW32_LD_SYSMOD_MAP       = -Map $(1) --cref
-
-TOOL_MINGW32_DLLWRAP            := $(_TOOL_MINGW32_PREFIX)dllwrap$(_TOOL_MINGW32_SUFF_EXE)
-TOOL_MINGW32_DLLTOOL            := $(_TOOL_MINGW32_PREFIX)dlltool$(_TOOL_MINGW32_SUFF_EXE)
+TOOL_MINGW32_LD                 ?= $(_TOOL_MINGW32_PREFIX)gcc$(_TOOL_MINGW32_SUFF_EXE)
+endif
+TOOL_MINGW32_LDFLAGS            ?=
+TOOL_MINGW32_LDFLAGS.debug      ?= -g
+TOOL_MINGW32_LDFLAGS.release    ?= -s
+TOOL_MINGW32_LD_MAP             ?= -Wl,-Map -Wl,$(1) -Wl,--cref
+TOOL_MINGW32_LD_SYSMOD_MAP      ?= -Map $(1) --cref
+
+TOOL_MINGW32_DLLWRAP            ?= $(_TOOL_MINGW32_PREFIX)dllwrap$(_TOOL_MINGW32_SUFF_EXE)
+TOOL_MINGW32_DLLTOOL            ?= $(_TOOL_MINGW32_PREFIX)dlltool$(_TOOL_MINGW32_SUFF_EXE)
 
 
Index: trunk/kBuild/tools/NASM.kmk
===================================================================
--- trunk/kBuild/tools/NASM.kmk	(revision 654)
+++ trunk/kBuild/tools/NASM.kmk	(revision 655)
@@ -28,17 +28,17 @@
 TOOL_NASM                     := Netwide Assembler 0.98+
 ifndef PATH_TOOL_NASM
-PATH_DEV_BLD                  ?= $(PATH_DEV)/$(BUILD_PLATFORM_ARCH).$(BUILD_PLATFORM)
-PATH_TOOL_NASM                := $(sort $(wildcard $(PATH_DEV_BLD)/nasm/v*.*))
-ifneq ($(PATH_TOOL_NASM),)
-PATH_TOOL_NASM                := $(call lastword,$(PATH_TOOL_NASM))
-endif
+ PATH_DEV_BLD                 ?= $(PATH_DEV)/$(BUILD_PLATFORM_ARCH).$(BUILD_PLATFORM)
+ PATH_TOOL_NASM               := $(sort $(wildcard $(PATH_DEV)/$(BUILD_PLATFORM_ARCH).$(BUILD_PLATFORM)/nasm/v*.*))
+ ifneq ($(PATH_TOOL_NASM),)
+  PATH_TOOL_NASM              := $(call lastword,$(PATH_TOOL_NASM))
+ endif
 endif
 
 ifneq ($(PATH_TOOL_NASM),)
-TOOL_NASM_AS                  := $(PATH_TOOL_NASM)/nasm$(HOSTSUFF_EXE)
+ TOOL_NASM_AS                 ?= $(PATH_TOOL_NASM)/nasm$(HOSTSUFF_EXE)
 else
-TOOL_NASM_AS                  := nasm$(HOSTSUFF_EXE)
+ TOOL_NASM_AS                 ?= nasm$(HOSTSUFF_EXE)
 endif
-TOOL_NASM_ASFLAGS             :=
+TOOL_NASM_ASFLAGS             ?=
 
 
Index: trunk/kBuild/tools/VCC70.kmk
===================================================================
--- trunk/kBuild/tools/VCC70.kmk	(revision 654)
+++ trunk/kBuild/tools/VCC70.kmk	(revision 655)
@@ -25,47 +25,50 @@
 #
 
-
 TOOL_VCC70                    := Visual C++ 7.0
 ifndef PATH_TOOL_VCC70
-PATH_TOOL_VCC70               := $(wildcard $(PATH_DEV)/x86.win32/vcc/v7)
-ifeq ($(PATH_TOOL_VCC70),)
-PATH_TOOL_VCC70               := $(PATH_DEV)/x86.win32/vcc70
-endif
+ PATH_TOOL_VCC70              := $(wildcard $(PATH_DEV)/x86.win32/vcc/v7)
+ ifeq ($(PATH_TOOL_VCC70),)
+  PATH_TOOL_VCC70             := $(PATH_DEV)/x86.win32/vcc70
+ endif
 endif
 PATH_TOOL_VCC70_LIB           ?= $(PATH_TOOL_VCC70)/lib
-
-TOOL_VCC70_CC                 := $(EXEC_X86_WIN32) $(PATH_TOOL_VCC70)/bin/cl.exe
-TOOL_VCC70_COBJSUFF           := .obj
-TOOL_VCC70_CFLAGS             := -TC -c -nologo
-TOOL_VCC70_CFLAGS.debug       := -Od -Zi
-TOOL_VCC70_CFLAGS.release     := -O2
-TOOL_VCC70_CFLAGS.profile     := -O2
-TOOL_VCC70_CINCS              := $(PATH_TOOL_VCC70)/include
-TOOL_VCC70_CDEFS              :=
-
-TOOL_VCC70_CXX                := $(EXEC_X86_WIN32) $(PATH_TOOL_VCC70)/bin/cl.exe
-TOOL_VCC70_CXXOBJSUFF         := .obj
-TOOL_VCC70_CXXFLAGS           := -TP -c -nologo
-TOOL_VCC70_CXXFLAGS.debug     := -Od -Zi
-TOOL_VCC70_CXXFLAGS.release   := -O2
-TOOL_VCC70_CXXFLAGS.profile   := -O2
-TOOL_VCC70_CXXINCS            := $(PATH_TOOL_VCC70)/include
-TOOL_VCC70_CXXDEFS            :=
-
-TOOL_VCC70_AS                 := $(EXEC_X86_WIN32) $(PATH_TOOL_VCC70)/bin/ml.exe
-TOOL_VCC70_ASOBJSUFF          := .obj
-
-TOOL_VCC70_RC                 := $(EXEC_X86_WIN32) $(PATH_TOOL_VCC70)/bin/rc.exe
-TOOL_VCC70_RCOBJSUFF          := .res
-TOOL_VCC70_RCINCS             := $(PATH_TOOL_VCC70)/include
-
-TOOL_VCC70_AR                 := $(EXEC_X86_WIN32) $(PATH_TOOL_VCC70)/bin/lib.exe
-TOOL_VCC70_ARFLAGS            := -nologo
-TOOL_VCC70_ARLIBSUFF          := .lib
-
-TOOL_VCC70_LD                 := $(EXEC_X86_WIN32) $(PATH_TOOL_VCC70)/bin/link.exe
-TOOL_VCC70_LDFLAGS            := -nologo
-TOOL_VCC70_LDFLAGS.debug      := -debug
-TOOL_VCC70_LDFLAGS.release    :=
+PATH_TOOL_VCC70_INC           ?= $(PATH_TOOL_VCC70)/include
+PATH_TOOL_VCC70_ATLMFC        ?= $(PATH_TOOL_VCC70)/atlmfc
+PATH_TOOL_VCC70_ATLMFC_INC    ?= $(PATH_TOOL_VCC70_ATLMFC)/include
+PATH_TOOL_VCC70_ATLMFC_LIB    ?= $(PATH_TOOL_VCC70_ATLMFC)/lib
+
+TOOL_VCC70_CC                 ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC70)/bin/cl.exe
+TOOL_VCC70_COBJSUFF           ?= .obj
+TOOL_VCC70_CFLAGS             ?= -TC -c -nologo
+TOOL_VCC70_CFLAGS.debug       ?= -Od -Zi
+TOOL_VCC70_CFLAGS.release     ?= -O2
+TOOL_VCC70_CFLAGS.profile     ?= -O2
+TOOL_VCC70_CINCS              ?= $(PATH_TOOL_VCC70_INC)
+TOOL_VCC70_CDEFS              ?=
+
+TOOL_VCC70_CXX                ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC70)/bin/cl.exe
+TOOL_VCC70_CXXOBJSUFF         ?= .obj
+TOOL_VCC70_CXXFLAGS           ?= -TP -c -nologo
+TOOL_VCC70_CXXFLAGS.debug     ?= -Od -Zi
+TOOL_VCC70_CXXFLAGS.release   ?= -O2
+TOOL_VCC70_CXXFLAGS.profile   ?= -O2
+TOOL_VCC70_CXXINCS            ?= $(PATH_TOOL_VCC70_INC) $(PATH_TOOL_VCC70_ATLMFC_INC)
+TOOL_VCC70_CXXDEFS            ?=
+
+TOOL_VCC70_AS                 ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC70)/bin/ml.exe
+TOOL_VCC70_ASOBJSUFF          ?= .obj
+
+TOOL_VCC70_RC                 ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC70)/bin/rc.exe
+TOOL_VCC70_RCOBJSUFF          ?= .res
+TOOL_VCC70_RCINCS             ?= $(PATH_TOOL_VCC70_INC) $(PATH_TOOL_VCC70_ATLMFC_INC)
+
+TOOL_VCC70_AR                 ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC70)/bin/lib.exe
+TOOL_VCC70_ARFLAGS            ?= -nologo
+TOOL_VCC70_ARLIBSUFF          ?= .lib
+
+TOOL_VCC70_LD                 ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC70)/bin/link.exe
+TOOL_VCC70_LDFLAGS            ?= -nologo
+TOOL_VCC70_LDFLAGS.debug      ?= -debug
+TOOL_VCC70_LDFLAGS.release    ?=
 
 ## Constructs the correct .pdb name (the name is lowercased).
Index: trunk/kBuild/tools/VCC80X86.kmk
===================================================================
--- trunk/kBuild/tools/VCC80X86.kmk	(revision 654)
+++ trunk/kBuild/tools/VCC80X86.kmk	(revision 655)
@@ -28,42 +28,46 @@
 TOOL_VCC80X86                    := Visual C++ 8.0 x86
 PATH_TOOL_VCC80X86               ?= $(PATH_DEV)/x86.win32/vcc/v8
+PATH_TOOL_VCC80X86_BIN           ?= $(PATH_TOOL_VCC80X86)/bin
 PATH_TOOL_VCC80X86_LIB           ?= $(PATH_TOOL_VCC80X86)/lib
-PATH_TOOL_VCC80X86_BIN           ?= $(PATH_TOOL_VCC80X86)/bin
-
-TOOL_VCC80X86_CC                 := $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/cl.exe
-TOOL_VCC80X86_COBJSUFF           := .obj
-TOOL_VCC80X86_CFLAGS             := -TC -c -nologo
-TOOL_VCC80X86_CFLAGS.debug       := -Zi
-TOOL_VCC80X86_CFLAGS.release     := -O2
-TOOL_VCC80X86_CFLAGS.profile     := -O2
-TOOL_VCC80X86_CINCS              := $(PATH_TOOL_VCC80X86)/include
-TOOL_VCC80X86_CDEFS              :=
-
-TOOL_VCC80X86_CXX                := $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/cl.exe
-TOOL_VCC80X86_CXXOBJSUFF         := .obj
-TOOL_VCC80X86_CXXFLAGS           := -TP -c -nologo
-TOOL_VCC80X86_CXXFLAGS.debug     := -Zi
-TOOL_VCC80X86_CXXFLAGS.release   := -O2
-TOOL_VCC80X86_CXXFLAGS.profile   := -O2
-TOOL_VCC80X86_CXXINCS            := $(PATH_TOOL_VCC80X86)/include
-TOOL_VCC80X86_CXXDEFS            :=
-
-TOOL_VCC80X86_AS                 := $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/ml.exe
-TOOL_VCC80X86_ASOBJSUFF          := .obj
-
-TOOL_VCC80X86_RC                 := $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/rc.exe
-TOOL_VCC80X86_RCOBJSUFF          := .res
-TOOL_VCC80X86_RCINCS             := $(PATH_TOOL_VCC80X86)/include
-
-TOOL_VCC80X86_AR                 := $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/lib.exe
-TOOL_VCC80X86_ARFLAGS            := -nologo
-TOOL_VCC80X86_ARLIBSUFF          := .lib
-
-TOOL_VCC80X86_LD                 := $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/link.exe
-TOOL_VCC80X86_LDFLAGS            := -nologo -machine:x86
-TOOL_VCC80X86_LDFLAGS.debug      := -debug
-TOOL_VCC80X86_LDFLAGS.release    :=
-
-TOOL_VCC80X86_MT                 := $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/mt.exe
+PATH_TOOL_VCC80X86_INC           ?= $(PATH_TOOL_VCC80X86)/include
+PATH_TOOL_VCC80X86_ATLMFC        ?= $(PATH_TOOL_VCC80X86)/atlmfc
+PATH_TOOL_VCC80X86_ATLMFC_INC    ?= $(PATH_TOOL_VCC80X86_ATLMFC)/include
+PATH_TOOL_VCC80X86_ATLMFC_LIB    ?= $(PATH_TOOL_VCC80X86_ATLMFC)/lib
+
+TOOL_VCC80X86_CC                 ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/cl.exe
+TOOL_VCC80X86_COBJSUFF           ?= .obj
+TOOL_VCC80X86_CFLAGS             ?= -TC -c -nologo
+TOOL_VCC80X86_CFLAGS.debug       ?= -Zi
+TOOL_VCC80X86_CFLAGS.release     ?= -O2
+TOOL_VCC80X86_CFLAGS.profile     ?= -O2
+TOOL_VCC80X86_CINCS              ?= $(PATH_TOOL_VCC80X86_INC)
+TOOL_VCC80X86_CDEFS              ?=
+
+TOOL_VCC80X86_CXX                ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/cl.exe
+TOOL_VCC80X86_CXXOBJSUFF         ?= .obj
+TOOL_VCC80X86_CXXFLAGS           ?= -TP -c -nologo
+TOOL_VCC80X86_CXXFLAGS.debug     ?= -Zi
+TOOL_VCC80X86_CXXFLAGS.release   ?= -O2
+TOOL_VCC80X86_CXXFLAGS.profile   ?= -O2
+TOOL_VCC80X86_CXXINCS            ?= $(PATH_TOOL_VCC80X86_INC) $(PATH_TOOL_VCC80X86_ATLMFC_INC)
+TOOL_VCC80X86_CXXDEFS            ?=
+
+TOOL_VCC80X86_AS                 ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/ml.exe
+TOOL_VCC80X86_ASOBJSUFF          ?= .obj
+
+TOOL_VCC80X86_RC                 ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/rc.exe
+TOOL_VCC80X86_RCOBJSUFF          ?= .res
+TOOL_VCC80X86_RCINCS             ?= $(PATH_TOOL_VCC80X86_INC) $(PATH_TOOL_VCC80X86_ATLMFC_INC)
+
+TOOL_VCC80X86_AR                 ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/lib.exe
+TOOL_VCC80X86_ARFLAGS            ?= -nologo
+TOOL_VCC80X86_ARLIBSUFF          ?= .lib
+
+TOOL_VCC80X86_LD                 ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/link.exe
+TOOL_VCC80X86_LDFLAGS            ?= -nologo -machine:x86
+TOOL_VCC80X86_LDFLAGS.debug      ?= -debug
+TOOL_VCC80X86_LDFLAGS.release    ?=
+
+TOOL_VCC80X86_MT                 ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/mt.exe
 
 ## Constructs the correct .pdb name (the name is lowercased).
@@ -71,7 +75,7 @@
 # @param    $(2)        The extension.
 ifeq ($(filter tolower,$(KMK_FEATURES)),tolower)
-TOOL_VCC80X86_PDB                = $(dir $(1))$(tolower $(notdir $(1))).$(2)
+TOOL_VCC80X86_PDB                ?= $(dir $(1))$(tolower $(notdir $(1))).$(2)
 else # this fallback is incorrect and won't work on a case sensitive FS.
-TOOL_VCC80X86_PDB                = $(1).$(2)
+TOOL_VCC80X86_PDB                ?= $(1).$(2)
 endif
 
Index: trunk/kBuild/tools/XGCCAMD64LINUX.kmk
===================================================================
--- trunk/kBuild/tools/XGCCAMD64LINUX.kmk	(revision 654)
+++ trunk/kBuild/tools/XGCCAMD64LINUX.kmk	(revision 655)
@@ -30,24 +30,24 @@
 # Determin some stuff dynamically.
 #
-_TOOL_XGCCAMD64LINUX_PREFIX            :=
-_TOOL_XGCCAMD64LINUX_EXEC_PREFIX       :=
-_TOOL_XGCCAMD64LINUX_SUFF_EXE          :=
+_TOOL_XGCCAMD64LINUX_EXEC_PREFIX       ?=
+_TOOL_XGCCAMD64LINUX_SUFF_EXE          ?=
 ifeq ($(BUILD_PLATFORM).$(BUILD_PLATFORM_ARCH),linux.amd64)
-# not x-compile.
-PATH_TOOL_XGCCAMD64LINUX               :=
+ # not x-compile.
+ PATH_TOOL_XGCCAMD64LINUX              ?=
+ _TOOL_XGCCAMD64LINUX_PREFIX           ?=
 else # x-compile:
-# find the latest xgcc build.
-_TOOL_XGCCAMD64LINUX_PREFIX            := x86_64-unknown-linux-gnu-
-ifndef PATH_TOOL_XGCCAMD64LINUX
-PATH_DEV_BLD                           ?= $(PATH_DEV)/$(BUILD_PLATFORM_ARCH).$(BUILD_PLATFORM)
-PATH_TOOL_XGCCAMD64LINUX               := $(sort $(wildcard $(PATH_DEV_BLD)/x86_64-unknown-linux-gnu/*))
-ifeq ($(filter-out win64,$(BUILD_PLATFORM)),) # these can use the windows build.
-_TOOL_XGCCAMD64LINUX_EXEC_PREFIX       := $(EXEC_X86_WIN32)
-PATH_TOOL_XGCCAMD64LINUX               := $(sort $(wildcard $(PATH_DEV)/x86.win32/x86_64-unknown-linux-gnu/*))
-endif
-ifneq ($(PATH_TOOL_XGCCAMD64LINUX),)
-PATH_TOOL_XGCCAMD64LINUX               := $(call lastword,$(PATH_TOOL_XGCCAMD64LINUX))
-endif
-endif # !PATH_TOOL_XGCCAMD64LINUX
+ # find the latest xgcc build.
+ _TOOL_XGCCAMD64LINUX_PREFIX           ?= x86_64-unknown-linux-gnu-
+ ifndef PATH_TOOL_XGCCAMD64LINUX
+  PATH_DEV_BLD                         ?= $(PATH_DEV)/$(BUILD_PLATFORM_ARCH).$(BUILD_PLATFORM)
+  PATH_TOOL_XGCCAMD64LINUX             := $(sort $(wildcard $(PATH_DEV_BLD)/x86_64-unknown-linux-gnu/*))
+  ifeq ($(filter-out win.amd64,$(BUILD_PLATFORM).$(BUILD_PLATFORM_ARCH)),) # these can use the windows build.
+   _TOOL_XGCCAMD64LINUX_EXEC_PREFIX    := $(EXEC_X86_WIN32)
+   PATH_TOOL_XGCCAMD64LINUX            := $(sort $(wildcard $(PATH_DEV)/x86.win32/x86_64-unknown-linux-gnu/*))
+  endif
+  ifneq ($(PATH_TOOL_XGCCAMD64LINUX),)
+   PATH_TOOL_XGCCAMD64LINUX            := $(call lastword,$(PATH_TOOL_XGCCAMD64LINUX))
+  endif
+ endif # !PATH_TOOL_XGCCAMD64LINUX
 endif
 ifneq ($(PATH_TOOL_XGCCAMD64LINUX),)
@@ -56,52 +56,52 @@
 
 
-TOOL_XGCCAMD64LINUX_CC                 := $(_TOOL_XGCCAMD64LINUX_PREFIX)gcc$(HOSTSUFF_EXE)
-TOOL_XGCCAMD64LINUX_COBJSUFF           := .o
-TOOL_XGCCAMD64LINUX_CFLAGS             := -g
-TOOL_XGCCAMD64LINUX_CFLAGS.debug       := -O0
-TOOL_XGCCAMD64LINUX_CFLAGS.release     := -O2
-TOOL_XGCCAMD64LINUX_CFLAGS.profile     := -O2 #-pg
-TOOL_XGCCAMD64LINUX_CINCS              :=
-TOOL_XGCCAMD64LINUX_CDEFS              :=
-
-TOOL_XGCCAMD64LINUX_CXX                := $(_TOOL_XGCCAMD64LINUX_PREFIX)g++$(HOSTSUFF_EXE)
-TOOL_XGCCAMD64LINUX_CXXOBJSUFF         := .o
-TOOL_XGCCAMD64LINUX_CXXOBJSUFF         := .o
-TOOL_XGCCAMD64LINUX_CXXFLAGS           := -g
-TOOL_XGCCAMD64LINUX_CXXFLAGS.debug     := -O0
-TOOL_XGCCAMD64LINUX_CXXFLAGS.release   := -O2
-TOOL_XGCCAMD64LINUX_CXXFLAGS.profile   := -O2 #-pg
-TOOL_XGCCAMD64LINUX_CXXINCS            :=
-TOOL_XGCCAMD64LINUX_CXXDEFS            :=
-
-TOOL_XGCCAMD64LINUX_AS                 := $(_TOOL_XGCCAMD64LINUX_PREFIX)gcc$(HOSTSUFF_EXE)
-TOOL_XGCCAMD64LINUX_ASFLAGS            := -g -x assembler-with-cpp
-TOOL_XGCCAMD64LINUX_ASOBJSUFF          := .o
-
-TOOL_XGCCAMD64LINUX_AR                 := $(_TOOL_XGCCAMD64LINUX_PREFIX)ar$(HOSTSUFF_EXE)
-TOOL_XGCCAMD64LINUX_ARFLAGS            := cr
-TOOL_XGCCAMD64LINUX_ARLIBSUFF          := .a
-
-TOOL_XGCCAMD64LINUX_LD                 := $(_TOOL_XGCCAMD64LINUX_PREFIX)g++$(HOSTSUFF_EXE)
-TOOL_XGCCAMD64LINUX_LD_SYSMOD          := $(_TOOL_XGCCAMD64LINUX_PREFIX)ld$(HOSTSUFF_EXE)
-TOOL_XGCCAMD64LINUX_LDFLAGS            :=
-TOOL_XGCCAMD64LINUX_LDFLAGS.debug      := -g
-TOOL_XGCCAMD64LINUX_LDFLAGS.release    := -s
+TOOL_XGCCAMD64LINUX_CC                 ?= $(_TOOL_XGCCAMD64LINUX_PREFIX)gcc$(HOSTSUFF_EXE)
+TOOL_XGCCAMD64LINUX_COBJSUFF           ?= .o
+TOOL_XGCCAMD64LINUX_CFLAGS             ?= -g
+TOOL_XGCCAMD64LINUX_CFLAGS.debug       ?= -O0
+TOOL_XGCCAMD64LINUX_CFLAGS.release     ?= -O2
+TOOL_XGCCAMD64LINUX_CFLAGS.profile     ?= -O2 #-pg
+TOOL_XGCCAMD64LINUX_CINCS              ?=
+TOOL_XGCCAMD64LINUX_CDEFS              ?=
+
+TOOL_XGCCAMD64LINUX_CXX                ?= $(_TOOL_XGCCAMD64LINUX_PREFIX)g++$(HOSTSUFF_EXE)
+TOOL_XGCCAMD64LINUX_CXXOBJSUFF         ?= .o
+TOOL_XGCCAMD64LINUX_CXXOBJSUFF         ?= .o
+TOOL_XGCCAMD64LINUX_CXXFLAGS           ?= -g
+TOOL_XGCCAMD64LINUX_CXXFLAGS.debug     ?= -O0
+TOOL_XGCCAMD64LINUX_CXXFLAGS.release   ?= -O2
+TOOL_XGCCAMD64LINUX_CXXFLAGS.profile   ?= -O2 #-pg
+TOOL_XGCCAMD64LINUX_CXXINCS            ?=
+TOOL_XGCCAMD64LINUX_CXXDEFS            ?=
+
+TOOL_XGCCAMD64LINUX_AS                 ?= $(_TOOL_XGCCAMD64LINUX_PREFIX)gcc$(HOSTSUFF_EXE)
+TOOL_XGCCAMD64LINUX_ASFLAGS            ?= -g -x assembler-with-cpp
+TOOL_XGCCAMD64LINUX_ASOBJSUFF          ?= .o
+
+TOOL_XGCCAMD64LINUX_AR                 ?= $(_TOOL_XGCCAMD64LINUX_PREFIX)ar$(HOSTSUFF_EXE)
+TOOL_XGCCAMD64LINUX_ARFLAGS            ?= cr
+TOOL_XGCCAMD64LINUX_ARLIBSUFF          ?= .a
+
+TOOL_XGCCAMD64LINUX_LD                 ?= $(_TOOL_XGCCAMD64LINUX_PREFIX)g++$(HOSTSUFF_EXE)
+TOOL_XGCCAMD64LINUX_LD_SYSMOD          ?= $(_TOOL_XGCCAMD64LINUX_PREFIX)ld$(HOSTSUFF_EXE)
+TOOL_XGCCAMD64LINUX_LDFLAGS            ?=
+TOOL_XGCCAMD64LINUX_LDFLAGS.debug      ?= -g
+TOOL_XGCCAMD64LINUX_LDFLAGS.release    ?= -s
 ifndef TOOL_XGCCAMD64LINUX_LDFLAGS.$(BUILD_TARGET)
-TOOL_XGCCAMD64LINUX_LDFLAGS.dll        := -shared
+TOOL_XGCCAMD64LINUX_LDFLAGS.dll        ?= -shared
 else
-TOOL_XGCCAMD64LINUX_LDFLAGS.dll        := $(TOOL_XGCCAMD64LINUX_LDFLAGS.$(BUILD_TARGET))
-endif
-TOOL_XGCCAMD64LINUX_LDFLAGS.sysmod     := -r
-TOOL_XGCCAMD64LINUX_LD_SONAME           = -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
+TOOL_XGCCAMD64LINUX_LDFLAGS.dll        ?= $(TOOL_XGCCAMD64LINUX_LDFLAGS.$(BUILD_TARGET))
+endif
+TOOL_XGCCAMD64LINUX_LDFLAGS.sysmod     ?= -r
+TOOL_XGCCAMD64LINUX_LD_SONAME          ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
 ifeq ($(BUILD_TARGET),os2)
-TOOL_XGCCAMD64LINUX_LD_MAP              = -Zmap=$(1)
+TOOL_XGCCAMD64LINUX_LD_MAP             ?= -Zmap=$(1)
 else
-TOOL_XGCCAMD64LINUX_LD_MAP              = -Wl,-Map -Wl,$(1) -Wl,--cref
+TOOL_XGCCAMD64LINUX_LD_MAP             ?= -Wl,-Map -Wl,$(1) -Wl,--cref
 endif
 ifeq ($(BUILD_TARGET),os2)
-TOOL_XGCCAMD64LINUX_LD_SYSMOD_MAP       = -Zmap=$(1)
+TOOL_XGCCAMD64LINUX_LD_SYSMOD_MAP      ?= -Zmap=$(1)
 else
-TOOL_XGCCAMD64LINUX_LD_SYSMOD_MAP       = -Map $(1) --cref
+TOOL_XGCCAMD64LINUX_LD_SYSMOD_MAP      ?= -Map $(1) --cref
 endif
 ifdef SLKRUNS
Index: trunk/kBuild/tools/YASM.kmk
===================================================================
--- trunk/kBuild/tools/YASM.kmk	(revision 654)
+++ trunk/kBuild/tools/YASM.kmk	(revision 655)
@@ -36,9 +36,9 @@
 
 ifneq ($(PATH_TOOL_YASM),)
-TOOL_YASM_AS                  := $(PATH_TOOL_YASM)/yasm$(HOSTSUFF_EXE)
+TOOL_YASM_AS                  ?= $(PATH_TOOL_YASM)/yasm$(HOSTSUFF_EXE)
 else
-TOOL_YASM_AS                  := yasm$(HOSTSUFF_EXE)
+TOOL_YASM_AS                  ?= yasm$(HOSTSUFF_EXE)
 endif
-TOOL_YASM_ASFLAGS             :=
+TOOL_YASM_ASFLAGS             ?=
 
 
