Index: trunk/kBuild/tools/GCC.kmk
===================================================================
--- trunk/kBuild/tools/GCC.kmk	(revision 234)
+++ trunk/kBuild/tools/GCC.kmk	(revision 235)
@@ -69,17 +69,17 @@
 # @param    $(target)   Normalized main target name.
 # @param    $(source)   Source filename (relative).
-# @param	$(obj)      Object file name. This shall be (re)created by the compilation.
+# @param    $(obj)      Object file name. This shall be (re)created by the compilation.
 # @param    $(dep)	    Dependcy file. This shall be (re)created by the compilation.
 # @param    $(flags)    Flags.
 # @param    $(defs)     Definitions. No -D or something.
 # @param    $(incs)     Includes. No -I or something.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
-# @param	$(objsuff)  Object suffix.
+# @param    $(objsuff)  Object suffix.
 define TOOL_GCC_COMPILE_C
 #$ (warning dbg: TOOL_GCC_COMPILE_C: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff) deps=$(deps))
-$(obj): $(dirdep) $(PATH_CURRENT)/$(source) $(deps)
+$(obj): $(PATH_CURRENT)/$(source) $(deps) | $(dirdep)
 	$(call MSG_L2,Compiling $$@ using GCC)
 	$(TOOL_GCC_CC) -c\
@@ -95,17 +95,17 @@
 # @param    $(target)   Normalized main target name.
 # @param    $(source)   Source filename (relative).
-# @param	$(obj)      Object file name. This shall be (re)created by the compilation.
+# @param    $(obj)      Object file name. This shall be (re)created by the compilation.
 # @param    $(dep)	    Dependcy file. This shall be (re)created by the compilation.
 # @param    $(flags)    Flags.
 # @param    $(defs)     Definitions. No -D or something.
 # @param    $(incs)     Includes. No -I or something.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
-# @param	$(objsuff)  Object suffix.
+# @param    $(objsuff)  Object suffix.
 define TOOL_GCC_COMPILE_CXX
 #$ (warning dbg: TOOL_GCC_COMPILE_CXX: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff) deps=$(deps))
-$(obj): $(dirdep) $(source) $(deps)
+$(obj): $(source) $(deps) | $(dirdep)
 	$(call MSG_L2,Compiling $$@ using GCC)
 	$(TOOL_GCC_CXX) -c\
@@ -123,11 +123,11 @@
 # @param    $(objs)     Object files to put in the library.
 # @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
 define TOOL_GCC_LINK_LIBRARY
 #$ (warning dbg: TOOL_GCC_LINK_LIBRARY: target=$(target) lib=$(lib) objs=$(objs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) outbase=$(outbase))
-$(lib): $(dirdep) $(objs) $(deps)
+$(lib): $(objs) $(deps) | $(dirdep)
 	$(call MSG_L1,Creating Library $$@)
 	$(RM) -f $$@
@@ -144,14 +144,14 @@
 # @param    $(libpath)  Library search paths.
 # @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-# @param	$(othersrc) Unhandled sources.
-# @param	$(custom_pre)   Custom step invoked before linking.
-# @param	$(custom_post)  Custom step invoked after linking.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+# @param    $(othersrc) Unhandled sources.
+# @param    $(custom_pre)   Custom step invoked before linking.
+# @param    $(custom_post)  Custom step invoked after linking.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
 define TOOL_GCC_LINK_PROGRAM
 #$ (warning dbg: TOOL_GCC_LINK_PROGRAM: target=$(target) exe=$(exe) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) deffile=$(deffile) outbase=$(outbase))
-$(exe): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps)
+$(exe): $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) | $(dirdep)
 	$(call MSG_L1,Creating Program $$@)
 ifneq ($(custom_pre),)
@@ -174,14 +174,14 @@
 # @param    $(libpath)  Library search paths.
 # @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-# @param	$(othersrc) Unhandled sources.
-# @param	$(custom_pre)   Custom step invoked before linking.
-# @param	$(custom_post)  Custom step invoked after linking.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+# @param    $(othersrc) Unhandled sources.
+# @param    $(custom_pre)   Custom step invoked before linking.
+# @param    $(custom_post)  Custom step invoked after linking.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
 define TOOL_GCC_LINK_DLL
 #$ (warning dbg: TOOL_GCC_LINK_DLL: target=$(target) exe=$(exe) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) deffile=$(deffile) outbase=$(outbase))
-$(exe): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps)
+$(exe): $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) | $(dirdep)
 	$(call MSG_L1,Creating Program $$@)
 ifneq ($(custom_pre),)
Index: trunk/kBuild/tools/GCC3.kmk
===================================================================
--- trunk/kBuild/tools/GCC3.kmk	(revision 234)
+++ trunk/kBuild/tools/GCC3.kmk	(revision 235)
@@ -84,17 +84,17 @@
 # @param    $(target)   Normalized main target name.
 # @param    $(source)   Source filename (relative).
-# @param	$(obj)      Object file name. This shall be (re)created by the compilation.
+# @param    $(obj)      Object file name. This shall be (re)created by the compilation.
 # @param    $(dep)	    Dependcy file. This shall be (re)created by the compilation.
 # @param    $(flags)    Flags.
 # @param    $(defs)     Definitions. No -D or something.
 # @param    $(incs)     Includes. No -I or something.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-#
-# @param    $(outbase)  Output basename (full). Use this for list files and such.
-# @param	$(objsuff)  Object suffix.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+#
+# @param    $(outbase)  Output basename (full). Use this for list files and such.
+# @param    $(objsuff)  Object suffix.
 define TOOL_GCC3_COMPILE_C
 #$ (warning dbg: TOOL_GCC3_COMPILE_C: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff))
-$(obj): $(dirdep) $(source) $(deps)
+$(obj): $(source) $(deps) | $(dirdep)
 	$(call MSG_L2,Compiling $$@ using GCC3)
 	$(TOOL_GCC3_CC) -c\
@@ -110,17 +110,17 @@
 # @param    $(target)   Normalized main target name.
 # @param    $(source)   Source filename (relative).
-# @param	$(obj)      Object file name. This shall be (re)created by the compilation.
+# @param    $(obj)      Object file name. This shall be (re)created by the compilation.
 # @param    $(dep)	    Dependcy file. This shall be (re)created by the compilation.
 # @param    $(flags)    Flags.
 # @param    $(defs)     Definitions. No -D or something.
 # @param    $(incs)     Includes. No -I or something.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-#
-# @param    $(outbase)  Output basename (full). Use this for list files and such.
-# @param	$(objsuff)  Object suffix.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+#
+# @param    $(outbase)  Output basename (full). Use this for list files and such.
+# @param    $(objsuff)  Object suffix.
 define TOOL_GCC3_COMPILE_CXX
 #$ (warning dbg: TOOL_GCC3_COMPILE_CXX: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff))
-$(obj): $(dirdep) $(source) $(deps)
+$(obj): $(source) $(deps) | $(dirdep)
 	$(call MSG_L2,Compiling $$@ using GCC3)
 	$(TOOL_GCC3_CXX) -c\
@@ -138,7 +138,7 @@
 # @param    $(objs)     Object files to put in the library.
 # @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-# @param	$(othersrc) Unhandled sources.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+# @param    $(othersrc) Unhandled sources.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
@@ -158,5 +158,5 @@
 define TOOL_GCC3_LINK_LIBRARY
 #$ (warning dbg: TOOL_GCC3_LINK_LIBRARY: target=$(target) lib=$(lib) objs=$(objs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) othersrc=$(othersrc) outbase=$(outbase))
-$(lib): $(dirdep) $(objs) $(deps) $(filter %.a %.lib,$(othersrc))
+$(lib): $(objs) $(deps) $(filter %.a %.lib,$(othersrc)) | $(dirdep)
 	$(call MSG_L1,Creating Library $$@)
 	$(RM) -f $$@
@@ -183,14 +183,14 @@
 # @param    $(libpath)  Library search paths.
 # @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-# @param	$(othersrc) Unhandled sources.
-# @param	$(custom_pre)   Custom step invoked before linking.
-# @param	$(custom_post)  Custom step invoked after linking.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+# @param    $(othersrc) Unhandled sources.
+# @param    $(custom_pre)   Custom step invoked before linking.
+# @param    $(custom_post)  Custom step invoked after linking.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
 define TOOL_GCC3_LINK_PROGRAM
 #$ (warning dbg: TOOL_GCC3_LINK_PROGRAM: target=$(target) exe=$(exe) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) deffile=$(deffile) outbase=$(outbase))
-$(exe): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps)
+$(exe): $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) | $(dirdep)
 	$(call MSG_L1,Creating Program $$@)
 ifneq ($(custom_pre),)
@@ -216,14 +216,14 @@
 # @param    $(libpath)  Library search paths.
 # @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-# @param	$(othersrc) Unhandled sources.
-# @param	$(custom_pre)   Custom step invoked before linking.
-# @param	$(custom_post)  Custom step invoked after linking.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+# @param    $(othersrc) Unhandled sources.
+# @param    $(custom_pre)   Custom step invoked before linking.
+# @param    $(custom_post)  Custom step invoked after linking.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
 define TOOL_GCC3_LINK_DLL
 #$ (warning dbg: TOOL_GCC3_LINK_PROGRAM: target=$(target) dll=$(dll) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) deffile=$(deffile) outbase=$(outbase))
-$(dll): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps)
+$(dll): $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) | $(dirdep)
 	$(call MSG_L1,Creating Program $$@)
 ifneq ($(custom_pre),)
@@ -250,14 +250,14 @@
 # @param    $(libpath)  Library search paths.
 # @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-# @param	$(othersrc) Unhandled sources.
-# @param	$(custom_pre)   Custom step invoked before linking.
-# @param	$(custom_post)  Custom step invoked after linking.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+# @param    $(othersrc) Unhandled sources.
+# @param    $(custom_pre)   Custom step invoked before linking.
+# @param    $(custom_post)  Custom step invoked after linking.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
 define TOOL_GCC3_LINK_SYSMOD
 #$ (warning dbg: TOOL_GCC3_LINK_SYSMOD: target=$(target) sys=$(sys) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) othersrc=$(othersrc) outbase=$(outbase))
-$(sys): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps)
+$(sys): $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) | $(dirdep)
 	$(call MSG_L1,Creating Program $$@)
 ifneq ($(custom_pre),)
Index: trunk/kBuild/tools/GCC3OMF.kmk
===================================================================
--- trunk/kBuild/tools/GCC3OMF.kmk	(revision 234)
+++ trunk/kBuild/tools/GCC3OMF.kmk	(revision 235)
@@ -74,17 +74,17 @@
 # @param    $(target)   Normalized main target name.
 # @param    $(source)   Source filename (relative).
-# @param	$(obj)      Object file name. This shall be (re)created by the compilation.
+# @param    $(obj)      Object file name. This shall be (re)created by the compilation.
 # @param    $(dep)	    Dependcy file. This shall be (re)created by the compilation.
 # @param    $(flags)    Flags.
 # @param    $(defs)     Definitions. No -D or something.
 # @param    $(incs)     Includes. No -I or something.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-#
-# @param    $(outbase)  Output basename (full). Use this for list files and such.
-# @param	$(objsuff)  Object suffix.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+#
+# @param    $(outbase)  Output basename (full). Use this for list files and such.
+# @param    $(objsuff)  Object suffix.
 define TOOL_GCC3OMF_COMPILE_C
 #$ (warning dbg: TOOL_GCC3OMF_COMPILE_C: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff) deps=$(deps))
-$(obj): $(dirdep) $(source) $(deps)
+$(obj): $(source) $(deps) | $(dirdep)
 	$(call MSG_L2,Compiling $$@ using GCC3)
 	$(TOOL_GCC3OMF_CC) -c\
@@ -100,17 +100,17 @@
 # @param    $(target)   Normalized main target name.
 # @param    $(source)   Source filename (relative).
-# @param	$(obj)      Object file name. This shall be (re)created by the compilation.
+# @param    $(obj)      Object file name. This shall be (re)created by the compilation.
 # @param    $(dep)	    Dependcy file. This shall be (re)created by the compilation.
 # @param    $(flags)    Flags.
 # @param    $(defs)     Definitions. No -D or something.
 # @param    $(incs)     Includes. No -I or something.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-#
-# @param    $(outbase)  Output basename (full). Use this for list files and such.
-# @param	$(objsuff)  Object suffix.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+#
+# @param    $(outbase)  Output basename (full). Use this for list files and such.
+# @param    $(objsuff)  Object suffix.
 define TOOL_GCC3OMF_COMPILE_CXX
 #$ (warning dbg: TOOL_GCC3OMF_COMPILE_CXX: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff) deps=$(deps))
-$(obj): $(dirdep) $(source) $(deps)
+$(obj): $(source) $(deps) | $(dirdep)
 	$(call MSG_L2,Compiling $$@ using GCC3)
 	$(TOOL_GCC3OMF_CXX) -c\
@@ -128,12 +128,12 @@
 # @param    $(objs)     Object files to put in the library.
 # @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-# @param	$(othersrc) Unhandled sources.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+# @param    $(othersrc) Unhandled sources.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
 define TOOL_GCC3OMF_LINK_LIBRARY
 #$ (warning dbg: TOOL_GCC3OMF_LINK_LIBRARY: target=$(target) lib=$(lib) objs=$(objs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) othersrc=$(othersrc) outbase=$(outbase))
-$(lib): $(dirdep) $(objs) $(deps) $(filter %.a %.lib,$(othersrc))
+$(lib): $(objs) $(deps) $(filter %.a %.lib,$(othersrc)) | $(dirdep)
 	$(call MSG_L1,Creating Library $$@)
 	$(RM) -f $$@
@@ -150,14 +150,14 @@
 # @param    $(libpath)  Library search paths.
 # @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-# @param	$(othersrc) Unhandled sources.
-# @param	$(custom_pre)   Custom step invoked before linking.
-# @param	$(custom_post)  Custom step invoked after linking.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+# @param    $(othersrc) Unhandled sources.
+# @param    $(custom_pre)   Custom step invoked before linking.
+# @param    $(custom_post)  Custom step invoked after linking.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
 define TOOL_GCC3OMF_LINK_PROGRAM
 #$ (warning dbg: TOOL_GCC3OMF_LINK_PROGRAM: target=$(target) exe=$(exe) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) deffile=$(deffile) outbase=$(outbase))
-$(exe): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) $(filter %.def, $(othersrc))
+$(exe): $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) $(filter %.def, $(othersrc)) | $(dirdep)
 	$(call MSG_L1,Creating Program $$@)
 ifneq ($(custom_pre),)
@@ -182,14 +182,14 @@
 # @param    $(libpath)  Library search paths.
 # @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-# @param	$(othersrc) Unhandled sources.
-# @param	$(custom_pre)   Custom step invoked before linking.
-# @param	$(custom_post)  Custom step invoked after linking.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+# @param    $(othersrc) Unhandled sources.
+# @param    $(custom_pre)   Custom step invoked before linking.
+# @param    $(custom_post)  Custom step invoked after linking.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
 define TOOL_GCC3OMF_LINK_DLL
 #$ (warning dbg: TOOL_GCC3OMF_LINK_PROGRAM: target=$(target) dll=$(dll) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) deffile=$(deffile) outbase=$(outbase))
-$(dll): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) $(filter %.def, $(othersrc))
+$(dll): $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) $(filter %.def, $(othersrc)) | $(dirdep)
 	$(call MSG_L1,Creating Program $$@)
 ifneq ($(custom_pre),)
@@ -213,14 +213,14 @@
 # @param    $(libpath)  Library search paths.
 # @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-# @param	$(othersrc) Unhandled sources.
-# @param	$(custom_pre)   Custom step invoked before linking.
-# @param	$(custom_post)  Custom step invoked after linking.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+# @param    $(othersrc) Unhandled sources.
+# @param    $(custom_pre)   Custom step invoked before linking.
+# @param    $(custom_post)  Custom step invoked after linking.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
 define TOOL_GCC3OMF_LINK_SYSMOD
 #$ (warning dbg: TOOL_GCC3OMF_LINK_SYSMOD: target=$(target) sys=$(sys) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) othersrc=$(othersrc) outbase=$(outbase))
-$(sys): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) $(filter %.def, $(othersrc))
+$(sys): $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) $(filter %.def, $(othersrc)) | $(dirdep)
 	$(call MSG_L1,Creating Program $$@)
 ifneq ($(custom_pre),)
Index: trunk/kBuild/tools/MINGW32.kmk
===================================================================
--- trunk/kBuild/tools/MINGW32.kmk	(revision 234)
+++ trunk/kBuild/tools/MINGW32.kmk	(revision 235)
@@ -99,17 +99,17 @@
 # @param    $(target)   Normalized main target name.
 # @param    $(source)   Source filename (relative).
-# @param	$(obj)      Object file name. This shall be (re)created by the compilation.
+# @param    $(obj)      Object file name. This shall be (re)created by the compilation.
 # @param    $(dep)	    Dependcy file. This shall be (re)created by the compilation.
 # @param    $(flags)    Flags.
 # @param    $(defs)     Definitions. No -D or something.
 # @param    $(incs)     Includes. No -I or something.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-#
-# @param    $(outbase)  Output basename (full). Use this for list files and such.
-# @param	$(objsuff)  Object suffix.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+#
+# @param    $(outbase)  Output basename (full). Use this for list files and such.
+# @param    $(objsuff)  Object suffix.
 define TOOL_MINGW32_COMPILE_C
 #$ (warning dbg: TOOL_MINGW32_COMPILE_C: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff) deps=$(deps))
-$(obj): $(dirdep) $(source) $(deps)
+$(obj): $(source) $(deps) | $(dirdep)
 	$(call MSG_L2,Compiling $$@ using MINGW32)
 	$(TOOL_MINGW32_CC) -c\
@@ -125,17 +125,17 @@
 # @param    $(target)   Normalized main target name.
 # @param    $(source)   Source filename (relative).
-# @param	$(obj)      Object file name. This shall be (re)created by the compilation.
-# @param    $(dep)	    Dependcy file. This shall be (re)created by the compilation.
+# @param    $(obj)      Object file name. This shall be (re)created by the compilation.
+# @param    $(dep)      Dependcy file. This shall be (re)created by the compilation.
 # @param    $(flags)    Flags.
 # @param    $(defs)     Definitions. No -D or something.
 # @param    $(incs)     Includes. No -I or something.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-#
-# @param    $(outbase)  Output basename (full). Use this for list files and such.
-# @param	$(objsuff)  Object suffix.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)     Other dependencies.
+#
+# @param    $(outbase)  Output basename (full). Use this for list files and such.
+# @param    $(objsuff)  Object suffix.
 define TOOL_MINGW32_COMPILE_CXX
 #$ (warning dbg: TOOL_MINGW32_COMPILE_CXX: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff) deps=$(deps))
-$(obj): $(dirdep) $(source) $(deps)
+$(obj): $(source) $(deps) | $(dirdep)
 	$(call MSG_L2,Compiling $$@ using MINGW32)
 	$(TOOL_MINGW32_CXX) -c\
@@ -153,11 +153,11 @@
 # @param    $(objs)     Object files to put in the library.
 # @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
 define TOOL_MINGW32_LINK_LIBRARY
 #$ (warning dbg: TOOL_MINGW32_LINK_LIBRARY: target=$(target) lib=$(lib) objs=$(objs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) outbase=$(outbase))
-$(lib): $(dirdep) $(objs) $(deps)
+$(lib): $(objs) $(deps) | $(dirdep)
 	$(call MSG_L1,Creating Library $$@)
 	$(RM) -f $$@
@@ -174,14 +174,14 @@
 # @param    $(libpath)  Library search paths.
 # @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-# @param	$(othersrc) Unhandled sources.
-# @param	$(custom_pre)   Custom step invoked before linking.
-# @param	$(custom_post)  Custom step invoked after linking.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+# @param    $(othersrc) Unhandled sources.
+# @param    $(custom_pre)   Custom step invoked before linking.
+# @param    $(custom_post)  Custom step invoked after linking.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
 define TOOL_MINGW32_LINK_PROGRAM
 #$ (warning dbg: TOOL_MINGW32_LINK_PROGRAM: target=$(target) exe=$(exe) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) deffile=$(deffile) outbase=$(outbase))
-$(exe): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps)
+$(exe): $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) | $(dirdep)
 	$(call MSG_L1,Creating Program $$@)
 ifneq ($(custom_pre),)
@@ -205,14 +205,14 @@
 # @param    $(libpath)  Library search paths.
 # @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-# @param	$(othersrc) Unhandled sources.
-# @param	$(custom_pre)   Custom step invoked before linking.
-# @param	$(custom_post)  Custom step invoked after linking.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+# @param    $(othersrc) Unhandled sources.
+# @param    $(custom_pre)   Custom step invoked before linking.
+# @param    $(custom_post)  Custom step invoked after linking.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
 define TOOL_MINGW32_LINK_DLL
 #$ (warning dbg: TOOL_MINGW32_LINK_DLL: target=$(target) dll=$(dll) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) othersrc=$(othersrc) outbase=$(outbase))
-$(dll): $(dirdep) $(call DIRDEP,$(PATH_LIB)) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps)
+$(dll): $(call DIRDEP,$(PATH_LIB)) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) | $(dirdep)
 	$(call MSG_L1,Creating Program $$@)
 ifneq ($(custom_pre),)
Index: trunk/kBuild/tools/NASM.kmk
===================================================================
--- trunk/kBuild/tools/NASM.kmk	(revision 234)
+++ trunk/kBuild/tools/NASM.kmk	(revision 235)
@@ -45,17 +45,17 @@
 # @param    $(target)   Normalized main target name.
 # @param    $(source)   Source filename (relative).
-# @param	$(obj)      Object file name. This shall be (re)created by the compilation.
-# @param    $(dep)	    Dependcy file. This shall be (re)created by the compilation.
+# @param    $(obj)      Object file name. This shall be (re)created by the compilation.
+# @param    $(dep)      Dependcy file. This shall be (re)created by the compilation.
 # @param    $(flags)    Flags.
 # @param    $(defs)     Definitions. No -D or something.
 # @param    $(incs)     Includes. No -I or something.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)     Other dependencies.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
-# @param	$(objsuff)  Object suffix.
+# @param    $(objsuff)  Object suffix.
 define TOOL_NASM_COMPILE_AS
 #$ (warning dbg: TOOL_NASM_COMPILE_AS: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff) deps=$(deps))
-$(obj): $(dirdep) $(source) $(deps)
+$(obj): $(source) $(deps) | $(dirdep)
 	$(call MSG_L2,Compiling $$@ using NASM)
 	$(TOOL_NASM_AS) \
Index: trunk/kBuild/tools/VCC70.kmk
===================================================================
--- trunk/kBuild/tools/VCC70.kmk	(revision 234)
+++ trunk/kBuild/tools/VCC70.kmk	(revision 235)
@@ -64,17 +64,17 @@
 # @param    $(target)   Normalized main target name.
 # @param    $(source)   Source filename (relative).
-# @param	$(obj)      Object file name. This shall be (re)created by the compilation.
-# @param    $(dep)	    Dependcy file. This shall be (re)created by the compilation.
+# @param    $(obj)      Object file name. This shall be (re)created by the compilation.
+# @param    $(dep)      Dependcy file. This shall be (re)created by the compilation.
 # @param    $(flags)    Flags.
 # @param    $(defs)     Definitions. No -D or something.
 # @param    $(incs)     Includes. No -I or something.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-#
-# @param    $(outbase)  Output basename (full). Use this for list files and such.
-# @param	$(objsuff)  Object suffix.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)     Other dependencies.
+#
+# @param    $(outbase)  Output basename (full). Use this for list files and such.
+# @param    $(objsuff)  Object suffix.
 define TOOL_VCC70_COMPILE_C
 #$ (warning dbg: TOOL_VCC70_COMPILE_C: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff))
-$(obj): $(dirdep) $(source) $(deps)
+$(obj): $(source) $(deps) | $(dirdep)
 	$(call MSG_L2,Compiling $$@ using VCC70)
 	$(TOOL_VCC70_CC) -c\
@@ -96,17 +96,17 @@
 # @param    $(target)   Normalized main target name.
 # @param    $(source)   Source filename (relative).
-# @param	$(obj)      Object file name. This shall be (re)created by the compilation.
-# @param    $(dep)	    Dependcy file. This shall be (re)created by the compilation.
+# @param    $(obj)      Object file name. This shall be (re)created by the compilation.
+# @param    $(dep)      Dependcy file. This shall be (re)created by the compilation.
 # @param    $(flags)    Flags.
 # @param    $(defs)     Definitions. No -D or something.
 # @param    $(incs)     Includes. No -I or something.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-#
-# @param    $(outbase)  Output basename (full). Use this for list files and such.
-# @param	$(objsuff)  Object suffix.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)     Other dependencies.
+#
+# @param    $(outbase)  Output basename (full). Use this for list files and such.
+# @param    $(objsuff)  Object suffix.
 define TOOL_VCC70_COMPILE_CXX
 #$ (warning dbg: TOOL_VCC70_COMPILE_CXX: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff))
-$(obj): $(dirdep) $(source) $(deps)
+$(obj): $(source) $(deps) | $(dirdep)
 	$(call MSG_L2,Compiling $$@ using VCC70)
 	$(TOOL_VCC70_CXX) -c\
@@ -131,12 +131,12 @@
 # @param    $(objs)     Object files to put in the library.
 # @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-# @param	$(othersrc) Unhandled sources.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+# @param    $(othersrc) Unhandled sources.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
 define TOOL_VCC70_LINK_LIBRARY
 #$ (warning dbg: TOOL_VCC70_LINK_LIBRARY: target=$(target) lib=$(lib) objs=$(objs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) outbase=$(outbase))
-$(lib): $(dirdep) $(objs) $(deps) $(othersrc)
+$(lib): $(objs) $(deps) $(othersrc) | $(dirdep)
 	$(call MSG_L1,Creating Library $$@)
 	$(RM) -f $$@
@@ -149,20 +149,20 @@
 
 ## Link program
-# @param    $(target)   Normalized main target name.
-# @param    $(exe)		Program name.
-# @param    $(objs)     Object files to link together.
-# @param    $(libs)     Libraries to search.
-# @param    $(libpath)  Library search paths.
-# @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-# @param	$(othersrc) Unhandled sources.
-# @param	$(custom_pre)   Custom step invoked before linking.
-# @param	$(custom_post)  Custom step invoked after linking.
+# @param    $(target)       Normalized main target name.
+# @param    $(exe)          Program name.
+# @param    $(objs)         Object files to link together.
+# @param    $(libs)         Libraries to search.
+# @param    $(libpath)      Library search paths.
+# @param    $(flags)        Flags.
+# @param    $(dirdep)       Directory creation dependency.
+# @param    $(deps)         Other dependencies.
+# @param    $(othersrc)     Unhandled sources.
+# @param    $(custom_pre)   Custom step invoked before linking.
+# @param    $(custom_post)  Custom step invoked after linking.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
 define TOOL_VCC70_LINK_PROGRAM
 #$ (warning dbg: TOOL_VCC70_LINK_PROGRAM: target=$(target) exe=$(exe) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) othersrc=$(othersrc) outbase=$(outbase))
-$(exe): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) $(filter %.def,$(othersrc))
+$(exe): $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) $(filter %.def,$(othersrc)) | $(dirdep)
 	$(call MSG_L1,Creating Program $$@)
 ifneq ($(custom_pre),)
@@ -187,20 +187,20 @@
 
 ## Link system module (windows aka driver, linux aka kernel module)
-# @param    $(target)   Normalized main target name.
-# @param    $(sys)		System module name.
-# @param    $(objs)     Object files to link together.
-# @param    $(libs)     Libraries to search.
-# @param    $(libpath)  Library search paths.
-# @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-# @param	$(othersrc) Unhandled sources.
-# @param	$(custom_pre)   Custom step invoked before linking.
-# @param	$(custom_post)  Custom step invoked after linking.
+# @param    $(target)       Normalized main target name.
+# @param    $(sys)          System module name.
+# @param    $(objs)         Object files to link together.
+# @param    $(libs)         Libraries to search.
+# @param    $(libpath)      Library search paths.
+# @param    $(flags)        Flags.
+# @param    $(dirdep)       Directory creation dependency.
+# @param    $(deps)         Other dependencies.
+# @param    $(othersrc)     Unhandled sources.
+# @param    $(custom_pre)   Custom step invoked before linking.
+# @param    $(custom_post)  Custom step invoked after linking.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
 define TOOL_VCC70_LINK_SYSMOD
 #$ (warning dbg: TOOL_VCC70_LINK_SYSMOD: target=$(target) sys=$(sys) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) othersrc=$(othersrc) outbase=$(outbase))
-$(sys): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) $(filter %.def %.exp %.res,$(othersrc))
+$(sys): $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) $(filter %.def %.exp %.res,$(othersrc)) | $(dirdep)
 	$(call MSG_L1,Creating Program $$@)
 ifneq ($(custom_pre),)
@@ -231,14 +231,14 @@
 # @param    $(libpath)  Library search paths.
 # @param    $(flags)    Flags.
-# @param	$(dirdep)   Directory creation dependency.
-# @param	$(deps)		Other dependencies.
-# @param	$(othersrc) Unhandled sources.
-# @param	$(custom_pre)   Custom step invoked before linking.
-# @param	$(custom_post)  Custom step invoked after linking.
+# @param    $(dirdep)   Directory creation dependency.
+# @param    $(deps)		Other dependencies.
+# @param    $(othersrc) Unhandled sources.
+# @param    $(custom_pre)   Custom step invoked before linking.
+# @param    $(custom_post)  Custom step invoked after linking.
 #
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
 define TOOL_VCC70_LINK_DLL
 #$ (warning dbg: TOOL_VCC70_LINK_DLL: target=$(target) dll=$(dll) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) othersrc=$(othersrc) outbase=$(outbase))
-$(dll): $(dirdep) $(call DIRDEP,$(PATH_LIB)) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) $(filter %.def %.exp %.res,$(othersrc))
+$(dll): $(call DIRDEP,$(PATH_LIB)) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) $(filter %.def %.exp %.res,$(othersrc)) | $(dirdep)
 	$(call MSG_L1,Creating Program $$@)
 ifneq ($(custom_pre),)
