Index: /trunk/kBuild/tools/GCC3.kmk
===================================================================
--- /trunk/kBuild/tools/GCC3.kmk	(revision 1057)
+++ /trunk/kBuild/tools/GCC3.kmk	(revision 1058)
@@ -63,5 +63,5 @@
 TOOL_GCC3_CFLAGS           ?=
 TOOL_GCC3_CFLAGS.debug     ?= -g
-TOOL_GCC3_CFLAGS.profile   ?= -g -O2 #-pg
+TOOL_GCC3_CFLAGS.profile   ?= -O2 #-g -pg
 TOOL_GCC3_CFLAGS.release   ?= -O2
 TOOL_GCC3_CINCS            ?=
@@ -72,5 +72,5 @@
 TOOL_GCC3_CXXFLAGS         ?=
 TOOL_GCC3_CXXFLAGS.debug   ?= -g
-TOOL_GCC3_CXXFLAGS.profile ?= -g -O2 #-pg
+TOOL_GCC3_CXXFLAGS.profile ?= -O2 #-g -pg
 TOOL_GCC3_CXXFLAGS.release ?= -O2
 TOOL_GCC3_CXXINCS          ?=
@@ -109,14 +109,15 @@
 TOOL_GCC3_COMPILE_C_OUTPUT = $(outbase).i
 define TOOL_GCC3_COMPILE_C_CMDS
-	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -r --kObjCache-cpp $(outbase).i \
+	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
+		--kObjCache-cpp $(outbase).i\
 		$(TOOL_GCC3_CC) -E -o -\
 		$(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
 		-Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
-		$(abspath $(source)) \
-		--kObjCache-cc $(obj) \
+		$(abspath $(source))\
+		--kObjCache-cc $(obj)\
 		$(TOOL_GCC3_CC) -c\
-		$(flags)\
-		-o $(obj)\
-		$(outbase).i
+		$(flags) -fpreprocessed -x c\
+		-o $(obj)\
+		-
 endef
 else # !USE_KOBJCACHE
@@ -150,14 +151,15 @@
 TOOL_GCC3_COMPILE_CXX_OUTPUT = $(outbase).ii
 define TOOL_GCC3_COMPILE_CXX_CMDS
-	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -r --kObjCache-cpp $(outbase).ii \
+	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
+		--kObjCache-cpp $(outbase).ii\
 		$(TOOL_GCC3_CXX) -E -o -\
 		$(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
 		-Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
-		$(abspath $(source)) \
-		--kObjCache-cc $(obj) \
+		$(abspath $(source))\
+		--kObjCache-cc $(obj)\
 		$(TOOL_GCC3_CXX) -c\
-		$(flags)\
-		-o $(obj)\
-		$(outbase).ii
+		$(flags) -fpreprocessed -x c++\
+		-o $(obj)\
+		-
 endef
 else # !USE_KOBJCACHE
Index: /trunk/kBuild/tools/GCC32.kmk
===================================================================
--- /trunk/kBuild/tools/GCC32.kmk	(revision 1057)
+++ /trunk/kBuild/tools/GCC32.kmk	(revision 1058)
@@ -61,5 +61,5 @@
 TOOL_GCC32_CFLAGS           ?=
 TOOL_GCC32_CFLAGS.debug     ?= -g
-TOOL_GCC32_CFLAGS.profile   ?= -g -O2 #-pg
+TOOL_GCC32_CFLAGS.profile   ?= -O2 #-g -pg
 TOOL_GCC32_CFLAGS.release   ?= -O2
 TOOL_GCC32_CINCS            ?=
@@ -70,5 +70,5 @@
 TOOL_GCC32_CXXFLAGS         ?=
 TOOL_GCC32_CXXFLAGS.debug   ?= -g
-TOOL_GCC32_CXXFLAGS.profile ?= -g -O2 #-pg
+TOOL_GCC32_CXXFLAGS.profile ?= -O2 #-g -pg
 TOOL_GCC32_CXXFLAGS.release ?= -O2
 TOOL_GCC32_CXXINCS          ?=
@@ -107,14 +107,15 @@
 TOOL_GCC32_COMPILE_C_OUTPUT = $(outbase).i
 define TOOL_GCC32_COMPILE_C_CMDS
-	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -r --kObjCache-cpp $(outbase).i \
+	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
+		--kObjCache-cpp $(outbase).i\
 		$(TOOL_GCC32_CC) -E -o -\
 		$(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
 		-Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
-		$(abspath $(source)) \
-		--kObjCache-cc $(obj) \
+		$(abspath $(source))\
+		--kObjCache-cc $(obj)\
 		$(TOOL_GCC32_CC) -c\
-		$(flags)\
-		-o $(obj)\
-		$(outbase).i
+		$(flags) -fpreprocessed -x c\
+		-o $(obj)\
+		-
 endef
 else # !USE_KOBJCACHE
@@ -148,14 +149,15 @@
 TOOL_GCC32_COMPILE_CXX_OUTPUT = $(outbase).ii
 define TOOL_GCC32_COMPILE_CXX_CMDS
-	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -r --kObjCache-cpp $(outbase).ii \
+	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
+		--kObjCache-cpp $(outbase).ii\
 		$(TOOL_GCC32_CXX) -E -o -\
 		$(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
 		-Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
-		$(abspath $(source)) \
-		--kObjCache-cc $(obj) \
+		$(abspath $(source))\
+		--kObjCache-cc $(obj)\
 		$(TOOL_GCC32_CXX) -c\
-		$(flags)\
-		-o $(obj)\
-		$(outbase).ii
+		$(flags) -fpreprocessed -x c++\
+		-o $(obj)\
+		-
 endef
 else # !USE_KOBJCACHE
Index: /trunk/kBuild/tools/GCC3OMF.kmk
===================================================================
--- /trunk/kBuild/tools/GCC3OMF.kmk	(revision 1057)
+++ /trunk/kBuild/tools/GCC3OMF.kmk	(revision 1058)
@@ -53,5 +53,5 @@
 TOOL_GCC3OMF_CFLAGS           ?= -Zomf
 TOOL_GCC3OMF_CFLAGS.debug     ?= -g
-TOOL_GCC3OMF_CFLAGS.profile   ?= -g -O2 #-pg
+TOOL_GCC3OMF_CFLAGS.profile   ?= -O2 #-g -pg
 TOOL_GCC3OMF_CFLAGS.release   ?= -O2
 TOOL_GCC3OMF_CINCS            ?=
@@ -62,5 +62,5 @@
 TOOL_GCC3OMF_CXXFLAGS         ?= -Zomf
 TOOL_GCC3OMF_CXXFLAGS.debug   ?= -g
-TOOL_GCC3OMF_CXXFLAGS.profile ?= -g -O2 #-pg
+TOOL_GCC3OMF_CXXFLAGS.profile ?= -O2 #-g -pg
 TOOL_GCC3OMF_CXXFLAGS.release ?= -O2
 TOOL_GCC3OMF_CXXINCS          ?=
@@ -99,14 +99,15 @@
 TOOL_GCC3OMF_COMPILE_C_OUTPUT = $(outbase).i
 define TOOL_GCC3OMF_COMPILE_C_CMDS
-	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -r --kObjCache-cpp $(outbase).i \
+	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
+		--kObjCache-cpp $(outbase).i\
 		$(TOOL_GCC3OMF_CC) -E -o -\
 		$(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
 		-Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
-		$(abspath $(source)) \
-		--kObjCache-cc $(obj) \
+		$(abspath $(source))\
+		--kObjCache-cc $(obj)\
 		$(TOOL_GCC3OMF_CC) -c\
-		$(flags)\
-		-o $(obj)\
-		$(outbase).i
+		$(flags) -fpreprocessed -x c\
+		-o $(obj)\
+		-
 endef
 else # !USE_KOBJCACHE
@@ -141,14 +142,15 @@
 TOOL_GCC3OMF_COMPILE_CXX_OUTPUT = $(outbase).ii
 define TOOL_GCC3OMF_COMPILE_CXX_CMDS
-	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -r --kObjCache-cpp $(outbase).ii \
+	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
+		--kObjCache-cpp $(outbase).ii\
 		$(TOOL_GCC3OMF_CXX) -E -o -\
 		$(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
 		-Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
-		$(abspath $(source)) \
-		--kObjCache-cc $(obj) \
+		$(abspath $(source))\
+		--kObjCache-cc $(obj)\
 		$(TOOL_GCC3OMF_CXX) -c\
-		$(flags)\
-		-o $(obj)\
-		$(outbase).ii
+		$(flags) -fpreprocessed -x c++\
+		-o $(obj)\
+		-
 endef
 else # !USE_KOBJCACHE
Index: /trunk/kBuild/tools/GCC3PLAIN.kmk
===================================================================
--- /trunk/kBuild/tools/GCC3PLAIN.kmk	(revision 1057)
+++ /trunk/kBuild/tools/GCC3PLAIN.kmk	(revision 1058)
@@ -58,5 +58,5 @@
 TOOL_GCC3PLAIN_CFLAGS           ?=
 TOOL_GCC3PLAIN_CFLAGS.debug     ?= -g
-TOOL_GCC3PLAIN_CFLAGS.profile   ?= -g -O2 #-pg
+TOOL_GCC3PLAIN_CFLAGS.profile   ?= -O2 #-g -pg
 TOOL_GCC3PLAIN_CFLAGS.release   ?= -O2
 TOOL_GCC3PLAIN_CINCS            ?=
@@ -67,5 +67,5 @@
 TOOL_GCC3PLAIN_CXXFLAGS         ?=
 TOOL_GCC3PLAIN_CXXFLAGS.debug   ?= -g
-TOOL_GCC3PLAIN_CXXFLAGS.profile ?= -g -O2 #-pg
+TOOL_GCC3PLAIN_CXXFLAGS.profile ?= -O2 #-g -pg
 TOOL_GCC3PLAIN_CXXFLAGS.release ?= -O2
 TOOL_GCC3PLAIN_CXXINCS          ?=
@@ -104,14 +104,15 @@
 TOOL_GCC3PLAIN_COMPILE_C_OUTPUT = $(outbase).i
 define TOOL_GCC3PLAIN_COMPILE_C_CMDS
-	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -r --kObjCache-cpp $(outbase).i \
+	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
+		--kObjCache-cpp $(outbase).i\
 		$(TOOL_GCC3PLAIN_CC) -E -o -\
 		$(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
 		-Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
-		$(abspath $(source)) \
-		--kObjCache-cc $(obj) \
+		$(abspath $(source))\
+		--kObjCache-cc $(obj)\
 		$(TOOL_GCC3PLAIN_CC) -c\
-		$(flags)\
-		-o $(obj)\
-		$(outbase).i
+		$(flags) -fpreprocessed -x c\
+		-o $(obj)\
+		-
 endef
 else # !USE_KOBJCACHE
@@ -145,14 +146,15 @@
 TOOL_GCC3PLAIN_COMPILE_CXX_OUTPUT = $(outbase).ii
 define TOOL_GCC3PLAIN_COMPILE_CXX_CMDS
-	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -r --kObjCache-cpp $(outbase).ii \
+	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
+		--kObjCache-cpp $(outbase).ii\
 		$(TOOL_GCC3PLAIN_CXX) -E -o -\
 		$(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
 		-Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
-		$(abspath $(source)) \
-		--kObjCache-cc $(obj) \
+		$(abspath $(source))\
+		--kObjCache-cc $(obj)\
 		$(TOOL_GCC3PLAIN_CXX) -c\
-		$(flags)\
-		-o $(obj)\
-		$(outbase).ii
+		$(flags) -fpreprocessed -x c++\
+		-o $(obj)\
+		-
 endef
 else # !USE_KOBJCACHE
Index: /trunk/kBuild/tools/GXX3.kmk
===================================================================
--- /trunk/kBuild/tools/GXX3.kmk	(revision 1057)
+++ /trunk/kBuild/tools/GXX3.kmk	(revision 1058)
@@ -63,5 +63,5 @@
 TOOL_GXX3_CFLAGS           ?=
 TOOL_GXX3_CFLAGS.debug     ?= -g
-TOOL_GXX3_CFLAGS.profile   ?= -g -O2 #-pg
+TOOL_GXX3_CFLAGS.profile   ?= -O2 #-g -pg
 TOOL_GXX3_CFLAGS.release   ?= -O2
 TOOL_GXX3_CINCS            ?=
@@ -72,5 +72,5 @@
 TOOL_GXX3_CXXFLAGS         ?=
 TOOL_GXX3_CXXFLAGS.debug   ?= -g
-TOOL_GXX3_CXXFLAGS.profile ?= -g -O2 #-pg
+TOOL_GXX3_CXXFLAGS.profile ?= -O2 #-g -pg
 TOOL_GXX3_CXXFLAGS.release ?= -O2
 TOOL_GXX3_CXXINCS          ?=
@@ -109,14 +109,15 @@
 TOOL_GXX3_COMPILE_C_OUTPUT = $(outbase).i
 define TOOL_GXX3_COMPILE_C_CMDS
-	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -r --kObjCache-cpp $(outbase).i \
+	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
+		--kObjCache-cpp $(outbase).i\
 		$(TOOL_GXX3_CC) -E -o -\
 		$(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
 		-Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
-		$(abspath $(source)) \
-		--kObjCache-cc $(obj) \
+		$(abspath $(source))\
+		--kObjCache-cc $(obj)\
 		$(TOOL_GXX3_CC) -c\
-		$(flags)\
-		-o $(obj)\
-		$(outbase).i
+		$(flags) -fpreprocessed -x c\
+		-o $(obj)\
+		-
 endef
 else # !USE_KOBJCACHE
@@ -150,14 +151,15 @@
 TOOL_GXX3_COMPILE_CXX_OUTPUT = $(outbase).ii
 define TOOL_GXX3_COMPILE_CXX_CMDS
-	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -r --kObjCache-cpp $(outbase).ii \
+	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
+		--kObjCache-cpp $(outbase).ii\
 		$(TOOL_GXX3_CXX) -E -o -\
 		$(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
 		-Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
-		$(abspath $(source)) \
-		--kObjCache-cc $(obj) \
+		$(abspath $(source))\
+		--kObjCache-cc $(obj)\
 		$(TOOL_GXX3_CXX) -c\
-		$(flags)\
-		-o $(obj)\
-		$(outbase).ii
+		$(flags) -fpreprocessed -x c++\
+		-o $(obj)\
+		-
 endef
 else # !USE_KOBJCACHE
Index: /trunk/kBuild/tools/GXX32.kmk
===================================================================
--- /trunk/kBuild/tools/GXX32.kmk	(revision 1057)
+++ /trunk/kBuild/tools/GXX32.kmk	(revision 1058)
@@ -61,5 +61,5 @@
 TOOL_GXX32_CFLAGS           ?=
 TOOL_GXX32_CFLAGS.debug     ?= -g
-TOOL_GXX32_CFLAGS.profile   ?= -g -O2 #-pg
+TOOL_GXX32_CFLAGS.profile   ?= -O2 #-g -pg
 TOOL_GXX32_CFLAGS.release   ?= -O2
 TOOL_GXX32_CINCS            ?=
@@ -70,5 +70,5 @@
 TOOL_GXX32_CXXFLAGS         ?=
 TOOL_GXX32_CXXFLAGS.debug   ?= -g
-TOOL_GXX32_CXXFLAGS.profile ?= -g -O2 #-pg
+TOOL_GXX32_CXXFLAGS.profile ?= -O2 #-g -pg
 TOOL_GXX32_CXXFLAGS.release ?= -O2
 TOOL_GXX32_CXXINCS          ?=
@@ -107,14 +107,15 @@
 TOOL_GXX32_COMPILE_C_OUTPUT = $(outbase).i
 define TOOL_GXX32_COMPILE_C_CMDS
-	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -r --kObjCache-cpp $(outbase).i \
+	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
+		--kObjCache-cpp $(outbase).i\
 		$(TOOL_GXX32_CC) -E -o -\
 		$(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
 		-Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
-		$(abspath $(source)) \
-		--kObjCache-cc $(obj) \
+		$(abspath $(source))\
+		--kObjCache-cc $(obj)\
 		$(TOOL_GXX32_CC) -c\
-		$(flags)\
-		-o $(obj)\
-		$(outbase).i
+		$(flags) -fpreprocessed -x c\
+		-o $(obj)\
+		-
 endef
 else # !USE_KOBJCACHE
@@ -148,14 +149,15 @@
 TOOL_GXX32_COMPILE_CXX_OUTPUT = $(outbase).ii
 define TOOL_GXX32_COMPILE_CXX_CMDS
-	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -r --kObjCache-cpp $(outbase).ii \
+	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
+		--kObjCache-cpp $(outbase).ii\
 		$(TOOL_GXX32_CXX) -E -o -\
 		$(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
 		-Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
-		$(abspath $(source)) \
-		--kObjCache-cc $(obj) \
+		$(abspath $(source))\
+		--kObjCache-cc $(obj)\
 		$(TOOL_GXX32_CXX) -c\
-		$(flags)\
-		-o $(obj)\
-		$(outbase).ii
+		$(flags) -fpreprocessed -x c++\
+		-o $(obj)\
+		-
 endef
 else # !USE_KOBJCACHE
Index: /trunk/kBuild/tools/GXX3OMF.kmk
===================================================================
--- /trunk/kBuild/tools/GXX3OMF.kmk	(revision 1057)
+++ /trunk/kBuild/tools/GXX3OMF.kmk	(revision 1058)
@@ -53,5 +53,5 @@
 TOOL_GXX3OMF_CFLAGS           ?= -Zomf
 TOOL_GXX3OMF_CFLAGS.debug     ?= -g
-TOOL_GXX3OMF_CFLAGS.profile   ?= -g -O2 #-pg
+TOOL_GXX3OMF_CFLAGS.profile   ?= -O2 #-g -pg
 TOOL_GXX3OMF_CFLAGS.release   ?= -O2
 TOOL_GXX3OMF_CINCS            ?=
@@ -62,5 +62,5 @@
 TOOL_GXX3OMF_CXXFLAGS         ?= -Zomf
 TOOL_GXX3OMF_CXXFLAGS.debug   ?= -g
-TOOL_GXX3OMF_CXXFLAGS.profile ?= -g -O2 #-pg
+TOOL_GXX3OMF_CXXFLAGS.profile ?= -O2 #-g -pg
 TOOL_GXX3OMF_CXXFLAGS.release ?= -O2
 TOOL_GXX3OMF_CXXINCS          ?=
@@ -99,14 +99,15 @@
 TOOL_GXX3OMF_COMPILE_C_OUTPUT = $(outbase).i
 define TOOL_GXX3OMF_COMPILE_C_CMDS
-	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -r --kObjCache-cpp $(outbase).i \
+	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
+		--kObjCache-cpp $(outbase).i\
 		$(TOOL_GXX3OMF_CC) -E -o -\
 		$(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
 		-Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
-		$(abspath $(source)) \
-		--kObjCache-cc $(obj) \
+		$(abspath $(source))\
+		--kObjCache-cc $(obj)\
 		$(TOOL_GXX3OMF_CC) -c\
-		$(flags)\
-		-o $(obj)\
-		$(outbase).i
+		$(flags) -fpreprocessed -x c\
+		-o $(obj)\
+		-
 endef
 else # !USE_KOBJCACHE
@@ -141,14 +142,15 @@
 TOOL_GXX3OMF_COMPILE_CXX_OUTPUT = $(outbase).ii
 define TOOL_GXX3OMF_COMPILE_CXX_CMDS
-	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -r --kObjCache-cpp $(outbase).ii \
+	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
+		--kObjCache-cpp $(outbase).ii\
 		$(TOOL_GXX3OMF_CXX) -E -o -\
 		$(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
 		-Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
-		$(abspath $(source)) \
-		--kObjCache-cc $(obj) \
+		$(abspath $(source))\
+		--kObjCache-cc $(obj)\
 		$(TOOL_GXX3OMF_CXX) -c\
-		$(flags)\
-		-o $(obj)\
-		$(outbase).ii
+		$(flags) -fpreprocessed -x c++\
+		-o $(obj)\
+		-
 endef
 else # !USE_KOBJCACHE
Index: /trunk/kBuild/tools/GXX3PLAIN.kmk
===================================================================
--- /trunk/kBuild/tools/GXX3PLAIN.kmk	(revision 1057)
+++ /trunk/kBuild/tools/GXX3PLAIN.kmk	(revision 1058)
@@ -58,5 +58,5 @@
 TOOL_GXX3PLAIN_CFLAGS           ?=
 TOOL_GXX3PLAIN_CFLAGS.debug     ?= -g
-TOOL_GXX3PLAIN_CFLAGS.profile   ?= -g -O2 #-pg
+TOOL_GXX3PLAIN_CFLAGS.profile   ?= -O2 #-g -pg
 TOOL_GXX3PLAIN_CFLAGS.release   ?= -O2
 TOOL_GXX3PLAIN_CINCS            ?=
@@ -67,5 +67,5 @@
 TOOL_GXX3PLAIN_CXXFLAGS         ?=
 TOOL_GXX3PLAIN_CXXFLAGS.debug   ?= -g
-TOOL_GXX3PLAIN_CXXFLAGS.profile ?= -g -O2 #-pg
+TOOL_GXX3PLAIN_CXXFLAGS.profile ?= -O2 #-g -pg
 TOOL_GXX3PLAIN_CXXFLAGS.release ?= -O2
 TOOL_GXX3PLAIN_CXXINCS          ?=
@@ -103,14 +103,15 @@
 TOOL_GXX3PLAIN_COMPILE_C_OUTPUT = $(outbase).i
 define TOOL_GXX3PLAIN_COMPILE_C_CMDS
-	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -r --kObjCache-cpp $(outbase).i \
+	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
+		--kObjCache-cpp $(outbase).i\
 		$(TOOL_GXX3PLAIN_CC) -E -o -\
 		$(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
 		-Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
-		$(abspath $(source)) \
-		--kObjCache-cc $(obj) \
+		$(abspath $(source))\
+		--kObjCache-cc $(obj)\
 		$(TOOL_GXX3PLAIN_CC) -c\
-		$(flags)\
-		-o $(obj)\
-		$(outbase).i
+		$(flags) -fpreprocessed -x c\
+		-o $(obj)\
+		-
 endef
 else # !USE_KOBJCACHE
@@ -145,14 +146,15 @@
 TOOL_GXX3PLAIN_COMPILE_CXX_OUTPUT = $(outbase).ii
 define TOOL_GXX3PLAIN_COMPILE_CXX_CMDS
-	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -r --kObjCache-cpp $(outbase).ii \
+	$(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
+		--kObjCache-cpp $(outbase).ii\
 		$(TOOL_GXX3PLAIN_CXX) -E -o -\
 		$(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
 		-Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
-		$(abspath $(source)) \
-		--kObjCache-cc $(obj) \
+		$(abspath $(source))\
+		--kObjCache-cc $(obj)\
 		$(TOOL_GXX3PLAIN_CXX) -c\
-		$(flags)\
-		-o $(obj)\
-		$(outbase).ii
+		$(flags) -fpreprocessed -x c++\
+		-o $(obj)\
+		-
 endef
 else # !USE_KOBJCACHE
