Index: /trunk/env.cmd
===================================================================
--- /trunk/env.cmd	(revision 310)
+++ /trunk/env.cmd	(revision 311)
@@ -225,7 +225,9 @@
 
 /*
- * @todo temporarily disable some components
+ * @todo temporarily disable some things we don't support
  */
 call EnvSet 'OS2_TEMP', 'true'
+/* precompiled support is broken in GCC4 */
+call EnvSet 'USE_PRECOMPILED_HEADER', '0'
 
 /*
Index: /trunk/openjdk/hotspot/make/os2/build.make
===================================================================
--- /trunk/openjdk/hotspot/make/os2/build.make	(revision 310)
+++ /trunk/openjdk/hotspot/make/os2/build.make	(revision 311)
@@ -51,5 +51,7 @@
 
 ifndef CC_INTERP
+ifndef FORCE_TIERED
 FORCE_TIERED=1
+endif
 endif
 
@@ -67,5 +69,5 @@
 else
   ifeq ($(Variant),compiler2)
-    ifdef FORCE_TIERED
+    ifeq ($(FORCE_TIERED),1)
 VARIANT_TEXT=Server
 realVariant=tiered
Index: /trunk/openjdk/hotspot/make/os2/makefiles/adlc.make
===================================================================
--- /trunk/openjdk/hotspot/make/os2/makefiles/adlc.make	(revision 310)
+++ /trunk/openjdk/hotspot/make/os2/makefiles/adlc.make	(revision 311)
@@ -23,6 +23,4 @@
 #
 
-include $(WorkSpace)/make/os2/makefiles/compile.make
-
 # adlc is an internal tool, always generate the debug version with assert()
 CXX_FLAGS += -DASSERT
@@ -39,22 +37,11 @@
 
 CPP_INCLUDE_DIRS=\
-  -I'../generated'                          \
-  -I'$(WorkSpace)/src/share/vm/compiler'    \
-  -I'$(WorkSpace)/src/share/vm/code'        \
-  -I'$(WorkSpace)/src/share/vm/interpreter' \
-  -I'$(WorkSpace)/src/share/vm/classfile'   \
-  -I'$(WorkSpace)/src/share/vm/asm'         \
-  -I'$(WorkSpace)/src/share/vm/memory'      \
-  -I'$(WorkSpace)/src/share/vm/oops'        \
-  -I'$(WorkSpace)/src/share/vm/prims'       \
-  -I'$(WorkSpace)/src/share/vm/runtime'     \
-  -I'$(WorkSpace)/src/share/vm/utilities'   \
-  -I'$(WorkSpace)/src/share/vm/libadt'      \
-  -I'$(WorkSpace)/src/share/vm/opto'        \
-  -I'$(WorkSpace)/src/os/windows/vm'          \
+  -I'../generated' \
+  -I'$(WorkSpace)/src/share/vm/' \
+  -I'$(WorkSpace)/src/os/windows/vm' \
   -I'$(WorkSpace)/src/cpu/$(Platform_arch)/vm'
 
-# NOTE! If you add any files here, you must also update GENERATED_NAMES_IN_INCL
-# and MakeDepsIDEOptions in makedeps.make.
+# NOTE! If you add any files here, you must also update GENERATED_NAMES_IN_DIR
+# and ProjectCreatorIDEOptions in projectcreator.make.
 GENERATED_NAMES=\
   ad_$(Platform_arch_model).cpp \
@@ -71,5 +58,5 @@
 
 # NOTE! This must be kept in sync with GENERATED_NAMES
-GENERATED_NAMES_IN_INCL=$(GENERATED_NAMES:%=incls/%)
+GENERATED_NAMES_IN_DIR=$(GENERATED_NAMES:%=$(AdlcOutDir)/%)
 
 VPATH += $(WorkSpace)/src/share/vm/adlc;$(WorkSpace)/src/share/vm/opto
@@ -82,8 +69,12 @@
 	$(LINK) $(LINK_FLAGS) -o $@ $^
 
-$(GENERATED_NAMES_IN_INCL): $(Platform_arch_model).ad adlc.exe includeDB.current
+.NOTPARALLEL: $(GENERATED_NAMES_IN_DIR)
+
+$(GENERATED_NAMES_IN_DIR): $(Platform_arch_model).ad adlc.exe
 	rm -f $(GENERATED_NAMES)
+	if [ -d $(AdlcOutDir) ]; then rm -rf $(AdlcOutDir); fi
+	mkdir -p $(AdlcOutDir)
 	$(ADLC) $(ADLCFLAGS) $(Platform_arch_model).ad
-	mv $(GENERATED_NAMES) incls/
+	mv $(GENERATED_NAMES) $(AdlcOutDir)/
 
 $(Platform_arch_model).ad: $(WorkSpace)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad $(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm/windows_$(Platform_arch_model).ad
Index: /trunk/openjdk/hotspot/make/os2/makefiles/compile.make
===================================================================
--- /trunk/openjdk/hotspot/make/os2/makefiles/compile.make	(revision 310)
+++ /trunk/openjdk/hotspot/make/os2/makefiles/compile.make	(revision 311)
@@ -56,4 +56,12 @@
 endif
 
+# Used for platform dispatching
+CPP_FLAGS += -DTARGET_OS_FAMILY_windows
+CPP_FLAGS += -DTARGET_ARCH_$(Platform_arch)
+CPP_FLAGS += -DTARGET_ARCH_MODEL_$(Platform_arch_model)
+CPP_FLAGS += -DTARGET_OS_ARCH_windows_$(Platform_arch)
+CPP_FLAGS += -DTARGET_OS_ARCH_MODEL_windows_$(Platform_arch_model)
+CPP_FLAGS += -DTARGET_COMPILER_gcc
+
 # Generic linker settings
 LINK = g++
Index: /trunk/openjdk/hotspot/make/os2/makefiles/debug.make
===================================================================
--- /trunk/openjdk/hotspot/make/os2/makefiles/debug.make	(revision 310)
+++ /trunk/openjdk/hotspot/make/os2/makefiles/debug.make	(revision 311)
@@ -1,4 +1,4 @@
 #
-# Copyright 1997-2008 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 1997-2009 Sun Microsystems, Inc.  All Rights Reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
@@ -29,5 +29,10 @@
 GENERATED = ../generated
 
-default:: _build_pch_file.obj $(AOUT) checkAndBuildSA
+# Allow the user to turn off precompiled headers from the command line.
+ifneq ($(USE_PRECOMPILED_HEADER),0)
+BUILD_PCH_FILE=_build_pch_file.obj
+endif
+
+default:: $(BUILD_PCH_FILE) $(AOUT) launcher checkAndBuildSA
 
 include ../local.make
@@ -39,6 +44,4 @@
 include $(WorkSpace)/make/os2/makefiles/vm.make
 include local.make
-
-include $(GENERATED)/Dependencies
 
 # _Copy functions, assembled from .s file
@@ -60,2 +63,3 @@
 include $(WorkSpace)/make/os2/makefiles/shared.make
 include $(WorkSpace)/make/os2/makefiles/sa.make
+include $(WorkSpace)/make/os2/makefiles/launcher.make
Index: /trunk/openjdk/hotspot/make/os2/makefiles/generated.make
===================================================================
--- /trunk/openjdk/hotspot/make/os2/makefiles/generated.make	(revision 310)
+++ /trunk/openjdk/hotspot/make/os2/makefiles/generated.make	(revision 311)
@@ -24,5 +24,5 @@
 
 include ../local.make
-include $(WorkSpace)/make/os2/makefiles/makedeps.make
+include $(WorkSpace)/make/os2/makefiles/projectcreator.make
 include local.make
 
@@ -34,64 +34,23 @@
 include $(WorkSpace)/make/os2/makefiles/sa.make
 
+AdlcOutDir=adfiles
+
 ifeq ($(filter-out compiler2 tiered,$(Variant)),)
-default:: includeDB.current incls/ad_$(Platform_arch_model).cpp incls/dfa_$(Platform_arch_model).cpp $(JvmtiGeneratedFiles)
+default:: $(AdlcOutDir)/ad_$(Platform_arch_model).cpp $(AdlcOutDir)/dfa_$(Platform_arch_model).cpp $(JvmtiGeneratedFiles) buildobjfiles
 else
-default:: includeDB.current $(JvmtiGeneratedFiles)
+default:: $(JvmtiGeneratedFiles) buildobjfiles
 endif
 
-# core plus serial gc
-IncludeDBs_base=$(WorkSpace)/src/share/vm/includeDB_core \
-           $(WorkSpace)/src/share/vm/includeDB_jvmti \
-           $(WorkSpace)/src/share/vm/includeDB_gc \
-           $(WorkSpace)/src/share/vm/gc_implementation/includeDB_gc_serial
+buildobjfiles:
+	@ sh $(WorkSpace)/make/windows/create_obj_files.sh $(Variant) $(Platform_arch) $(Platform_arch_model) $(WorkSpace) .	> objfiles.make
 
-# parallel gc
-IncludeDBs_gc= $(WorkSpace)/src/share/vm/includeDB_gc_parallel \
-           $(WorkSpace)/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge \
-           $(WorkSpace)/src/share/vm/gc_implementation/includeDB_gc_shared \
-           $(WorkSpace)/src/share/vm/gc_implementation/includeDB_gc_parNew \
-           $(WorkSpace)/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep \
-           $(WorkSpace)/src/share/vm/gc_implementation/includeDB_gc_g1
-
-IncludeDBs_core=$(IncludeDBs_base) $(IncludeDBs_gc) \
-                $(WorkSpace)/src/share/vm/includeDB_features
-
-ifeq ($(Variant),core)
-IncludeDBs=$(IncludeDBs_core)
-endif
-
-ifeq ($(Variant),kernel)
-IncludeDBs=$(IncludeDBs_base) $(WorkSpace)/src/share/vm/includeDB_compiler1
-endif
-
-ifeq ($(Variant),compiler1)
-IncludeDBs=$(IncludeDBs_core) $(WorkSpace)/src/share/vm/includeDB_compiler1
-endif
-
-
-ifeq ($(Variant),compiler2)
-IncludeDBs=$(IncludeDBs_core) $(WorkSpace)/src/share/vm/includeDB_compiler2
-endif
-
-ifeq ($(Variant),tiered)
-IncludeDBs=$(IncludeDBs_core) $(WorkSpace)/src/share/vm/includeDB_compiler1 \
-           $(WorkSpace)/src/share/vm/includeDB_compiler2
-endif
-
-includeDB.current: classes/MakeDeps.class $(IncludeDBs)
-	cat $(IncludeDBs) > includeDB
-	if [ -d incls ]; then rm -rf incls; fi
-	mkdir -p incls
-	$(RUN_JAVA) -Djava.class.path=classes MakeDeps OS2Platform $(WorkSpace)/make/os2/platform_$(BUILDARCH) includeDB $(MakeDepsOptions)
-	rm -f includeDB.current
-	cp includeDB includeDB.current
-
-classes/MakeDeps.class: $(MakeDepsSources)
+classes/ProjectCreator.class: $(ProjectCreatorSources)
 	if [ -d classes ]; then rm -rf classes; fi
 	mkdir -p classes
-	$(COMPILE_JAVAC) -classpath $(WorkSpace)/src/share/tools/MakeDeps -d classes $(MakeDepsSources)
+	$(COMPILE_JAVAC) -classpath $(WorkSpace)/src/share/tools/ProjectCreator -d classes $(ProjectCreatorSources)
 
 ifeq ($(filter-out compiler2 tiered,$(Variant)),)
 
+include $(WorkSpace)/make/os2/makefiles/compile.make
 include $(WorkSpace)/make/os2/makefiles/adlc.make
 
Index: /trunk/openjdk/hotspot/make/os2/makefiles/launcher.make
===================================================================
--- /trunk/openjdk/hotspot/make/os2/makefiles/launcher.make	(revision 311)
+++ /trunk/openjdk/hotspot/make/os2/makefiles/launcher.make	(revision 311)
@@ -0,0 +1,69 @@
+#
+# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#  
+#
+
+
+LAUNCHER_FLAGS = $(CPP_FLAGS) $(ARCHFLAG) \
+	-DFULL_VERSION=\"$(HOTSPOT_RELEASE_VERSION)\" \
+	-DJDK_MAJOR_VERSION=\"$(JDK_MAJOR_VERSION)\" \
+	-DJDK_MINOR_VERSION=\"$(JDK_MINOR_VERSION)\" \
+	-DGAMMA \
+	-DLAUNCHER_TYPE=\"gamma\" \
+	-D_CRT_SECURE_NO_WARNINGS \
+	-D_CRT_SECURE_NO_DEPRECATE \
+	-DLINK_INTO_LIBJVM \
+	-I$(WorkSpace)\src\os\windows\launcher \
+	-I$(WorkSpace)\src\share\tools\launcher \
+	-I$(WorkSpace)\src\share\vm\prims \
+	-I$(WorkSpace)\src\share\vm \
+	-I$(WorkSpace)\src\cpu\$(Platform_arch)\vm \
+	-I$(WorkSpace)\src\os\windows\vm
+
+LINK_FLAGS += -l$(HS_INTERNAL_NAME).lib -g -Zlinker /PM:VIO
+
+LAUNCHERDIR = $(WorkSpace)/src/os/windows/launcher
+LAUNCHERDIR_SHARE = $(WorkSpace)/src/share/tools/launcher
+
+LAUNCHER_OUT = launcher
+
+SUFFIXES += .d
+
+OBJS := $(LAUNCHER_OUT)/java.obj $(LAUNCHER_OUT)/java_md.obj $(LAUNCHER_OUT)/jli_util.obj
+
+DEPFILES := $(patsubst %.obj,%.d,$(OBJS))
+-include $(DEPFILES)
+
+launcher-out:
+	mkdir -p $(LAUNCHER_OUT)
+
+$(LAUNCHER_OUT)/%.obj: $(LAUNCHERDIR_SHARE)/%.c | launcher-out
+	$(QUIETLY) $(CXX) $(CXXFLAGS) -g -o $@ -c $< -MMD $(LAUNCHER_FLAGS)
+
+$(LAUNCHER_OUT)/%.obj: $(LAUNCHERDIR)/%.c | launcher-out
+	$(QUIETLY) $(CXX) $(CXXFLAGS) -g -o $@ -c $< -MMD $(LAUNCHER_FLAGS)
+
+launcher: $(OBJS)
+	echo $(JAVA_HOME) > jdkpath.txt  
+	$(LINK) $(LINK_FLAGS) -o hotspot.exe $(OBJS)
+
+
Index: unk/openjdk/hotspot/make/os2/makefiles/makedeps.make
===================================================================
--- /trunk/openjdk/hotspot/make/os2/makefiles/makedeps.make	(revision 310)
+++ 	(revision )
@@ -1,46 +1,0 @@
-#
-# Copyright 1999-2009 Sun Microsystems, Inc.  All Rights Reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-# CA 95054 USA or visit www.sun.com if you need additional information or
-# have any questions.
-#
-#
-
-include $(WorkSpace)/make/os2/makefiles/rules.make
-
-# NOTE: unfortunately the MakeDepsSources list must be kept
-# synchronized between this and the Solaris version
-# (make/solaris/makefiles/makedeps.make).
-
-MakeDepsSources=\
-        $(WorkSpace)\src\share\tools\MakeDeps\Database.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\DirectoryTree.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\DirectoryTreeNode.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\FileFormatException.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\FileList.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\FileName.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\Macro.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\MacroDefinitions.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\MakeDeps.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\MetroWerksMacPlatform.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\Platform.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\OS2Platform.java
-
-MakeDepsOptions=
Index: /trunk/openjdk/hotspot/make/os2/makefiles/product.make
===================================================================
--- /trunk/openjdk/hotspot/make/os2/makefiles/product.make	(revision 310)
+++ /trunk/openjdk/hotspot/make/os2/makefiles/product.make	(revision 311)
@@ -28,5 +28,10 @@
 GENERATED = ../generated
 
-default:: _build_pch_file.obj $(AOUT) checkAndBuildSA
+# Allow the user to turn off precompiled headers from the command line.
+ifneq ($(USE_PRECOMPILED_HEADER),0)
+BUILD_PCH_FILE=_build_pch_file.obj
+endif
+
+default:: $(BUILD_PCH_FILE) $(AOUT) launcher checkAndBuildSA
 
 include ../local.make
@@ -41,13 +46,12 @@
 include local.make
 
-include $(GENERATED)/Dependencies
-
 # _Copy functions, assembled from .s file
-# Not included in includeDB because it has no dependencies
+# Not generated by windows/create_obj_files.sh since it only expects one
+# platform at a atime (while we merge windows and os2)
 Obj_Files += os2_x86_32.obj
 
 # Various OS/2 specific sources
-# Not included in includeDB because they don't match the logic of that file
-# (it expects only one platform at a time which is windows for now)
+# Not generated by windows/create_obj_files.sh since it only expects one
+# platform at a atime (while we merge windows and os2)
 Obj_Files += os_os2_init.obj os_os2.obj
 
@@ -61,2 +65,3 @@
 include $(WorkSpace)/make/os2/makefiles/shared.make
 include $(WorkSpace)/make/os2/makefiles/sa.make
+include $(WorkSpace)/make/os2/makefiles/launcher.make
Index: /trunk/openjdk/hotspot/make/os2/makefiles/projectcreator.make
===================================================================
--- /trunk/openjdk/hotspot/make/os2/makefiles/projectcreator.make	(revision 311)
+++ /trunk/openjdk/hotspot/make/os2/makefiles/projectcreator.make	(revision 311)
@@ -0,0 +1,44 @@
+#
+# Copyright 1999-2009 Sun Microsystems, Inc.  All Rights Reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+#
+
+include $(WorkSpace)/make/os2/makefiles/rules.make
+
+# NOTE: unfortunately the ProjectCreatorSources list must be kept
+# synchronized between this and the Solaris version
+# (make/solaris/makefiles/projectcreator.make).
+
+ProjectCreatorSources=\
+        $(WorkSpace)\src\share\tools\ProjectCreator\DirectoryTree.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\DirectoryTreeNode.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\FileFormatException.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\Macro.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\MacroDefinitions.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\ProjectCreator.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\OS2Platform.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\Util.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\BuildConfig.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\ArgsParser.java
+
+ProjectCreatorSources=
Index: /trunk/openjdk/hotspot/make/os2/makefiles/vm.make
===================================================================
--- /trunk/openjdk/hotspot/make/os2/makefiles/vm.make	(revision 310)
+++ /trunk/openjdk/hotspot/make/os2/makefiles/vm.make	(revision 311)
@@ -22,4 +22,6 @@
 #
 #
+
+include ../generated/objfiles.make
 
 ifdef RELEASE
@@ -108,6 +110,27 @@
 endif
 
-Src_Dirs = \
-  ../generated/incls                    \
+CPP_DONT_USE_PCH =
+ifneq ($(USE_PRECOMPILED_HEADER),0)
+$(error Please add the rule for the PCH file!)
+CPP_FLAGS = # grab the PCH rule from linux/makefiles/gcc.make
+else
+CPP_FLAGS= -DDONT_USE_PRECOMPILED_HEADER
+endif
+
+# Where to find the include files for the virtual machine
+CPP_FLAGS += \
+  -I../generated \
+  -I"$(WorkSpace)/src/share/vm" \
+  -I"$(WorkSpace)/src/share/vm/prims" \
+  -I"$(WorkSpace)/src/os/windows/vm" \
+  -I"$(WorkSpace)/src/os/os2/vm" \
+  -I"$(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm" \
+  -I"$(WorkSpace)/src/os_cpu/os2_$(Platform_arch)/vm" \
+  -I"$(WorkSpace)/src/cpu/$(Platform_arch)/vm" \
+
+# Where to find the source code for the virtual machine
+Src_Dirs_V = \
+  ../generated                          \
+  ../generated/adfiles                  \
   ../generated/jvmtifiles               \
   $(WorkSpace)/src/share/vm/c1          \
@@ -138,13 +161,5 @@
   $(WorkSpace)/src/cpu/$(Platform_arch)/vm \
   $(WorkSpace)/src/share/vm/opto
-
-# @todo PCH once GCC 4 for OS/2 supports it well
-CPP_FLAGS += # PCH output: "vm.pch" PCH sources: "incls/_precompiled.incl"
-
-# Where to find the include files for the virtual machine
-CPP_FLAGS += -I../generated $(Src_Dirs:%=-I'%')
-
-# Where to find the source code for the virtual machine
-VPATH += $(Src_Dirs:%=%;)
+VPATH += $(Src_Dirs_V:%=%;)
 
 # Special case files not using precompiled header files.
@@ -168,7 +183,2 @@
 
 default::
-
-# @todo PCH once GCC 4 for OS/2 supports it well
-_build_pch_file.obj:
-	@#echo '#include "incls/_precompiled.incl"' > ../generated/_build_pch_file.cpp
-	@#$(CXX) $(CXX_FLAGS) PCH output: "vm.pch", PCH sources (create mode): "incls/_precompiled.incl" -c ../generated/_build_pch_file.cpp -o $@
