7181504: Update of latest build-infra Makefiles
authorerikj
Tue, 03 Jul 2012 16:10:44 -0700
changeset 13164 72c5d01a857d
parent 13082 9b19b2302c28
child 13167 efec101d7d87
7181504: Update of latest build-infra Makefiles Reviewed-by: ohair
jdk/makefiles/CompileDemos.gmk
jdk/makefiles/CompileJavaClasses.gmk
jdk/makefiles/CompileLaunchers.gmk
jdk/makefiles/CompileNativeLibraries.gmk
jdk/makefiles/CopyFiles.gmk
jdk/makefiles/CopyIntoClasses.gmk
jdk/makefiles/CopySamples.gmk
jdk/makefiles/CreateJars.gmk
jdk/makefiles/GendataBreakIterator.gmk
jdk/makefiles/GendataFontConfig.gmk
jdk/makefiles/GendataHtml32dtd.gmk
jdk/makefiles/GenerateClasses.gmk
jdk/makefiles/GenerateData.gmk
jdk/makefiles/GenerateJavaSources.gmk
jdk/makefiles/GensrcBuffer.gmk
jdk/makefiles/GensrcIcons.gmk
jdk/makefiles/GensrcJObjC.gmk
jdk/makefiles/GensrcMisc.gmk
jdk/makefiles/GensrcProperties.gmk
jdk/makefiles/GensrcX11Wrappers.gmk
jdk/makefiles/Images.gmk
jdk/makefiles/Import.gmk
jdk/makefiles/LegacyMakefiles.gmk
jdk/makefiles/Makefile
jdk/makefiles/OldImages.gmk
jdk/makefiles/Tools.gmk
jdk/makefiles/com/sun/crypto/provider/Makefile
jdk/makefiles/common/Classes.gmk
jdk/makefiles/common/Cscope.gmk
jdk/makefiles/common/Defs-embedded.gmk
jdk/makefiles/common/Defs-linux.gmk
jdk/makefiles/common/Defs-macosx.gmk
jdk/makefiles/common/Defs-solaris.gmk
jdk/makefiles/common/Defs-windows.gmk
jdk/makefiles/common/Defs.gmk
jdk/makefiles/common/Demo.gmk
jdk/makefiles/common/Library.gmk
jdk/makefiles/common/Mapfile-vers.gmk
jdk/makefiles/common/Modules.gmk
jdk/makefiles/common/Program.gmk
jdk/makefiles/common/Release-embedded.gmk
jdk/makefiles/common/Release-macosx.gmk
jdk/makefiles/common/Release.gmk
jdk/makefiles/common/Rules.gmk
jdk/makefiles/common/Subdirs.gmk
jdk/makefiles/common/internal/Defs-corba.gmk
jdk/makefiles/common/internal/Defs-jaxp.gmk
jdk/makefiles/common/internal/Defs-jaxws.gmk
jdk/makefiles/common/internal/Defs-langtools.gmk
jdk/makefiles/common/internal/ImportComponents.gmk
jdk/makefiles/common/internal/NativeCompileRules.gmk
jdk/makefiles/common/internal/Resources.gmk
jdk/makefiles/common/shared/Compiler-gcc.gmk
jdk/makefiles/common/shared/Compiler-llvm.gmk
jdk/makefiles/common/shared/Compiler-msvc.gmk
jdk/makefiles/common/shared/Compiler-sun.gmk
jdk/makefiles/common/shared/Defs-control.gmk
jdk/makefiles/common/shared/Defs-java.gmk
jdk/makefiles/common/shared/Defs-javadoc.gmk
jdk/makefiles/common/shared/Defs-linux.gmk
jdk/makefiles/common/shared/Defs-macosx.gmk
jdk/makefiles/common/shared/Defs-solaris.gmk
jdk/makefiles/common/shared/Defs-versions.gmk
jdk/makefiles/common/shared/Defs-windows.gmk
jdk/makefiles/common/shared/Defs.gmk
jdk/makefiles/common/shared/Platform.gmk
jdk/makefiles/common/shared/PrivateDefs.gmk-example
jdk/makefiles/common/shared/Sanity-Settings.gmk
jdk/makefiles/java/Makefile
jdk/makefiles/java/invoke/Makefile
jdk/makefiles/java/redist/Makefile
jdk/makefiles/java/redist/sajdi/Makefile
jdk/makefiles/javax/crypto/Defs-jce.gmk
jdk/makefiles/javax/crypto/Makefile
jdk/makefiles/javax/crypto/policy/limited/LIMITED
jdk/makefiles/javax/crypto/policy/limited/default_local.policy
jdk/makefiles/javax/crypto/policy/limited/exempt_local.policy
jdk/makefiles/javax/crypto/policy/unlimited/UNLIMITED
jdk/makefiles/javax/crypto/policy/unlimited/default_US_export.policy
jdk/makefiles/javax/crypto/policy/unlimited/default_local.policy
jdk/makefiles/mapfiles/libjava/mapfile-vers
jdk/makefiles/mapfiles/libjfr/mapfile-vers
jdk/makefiles/mapfiles/libnio/mapfile-linux
jdk/makefiles/mapfiles/libnio/mapfile-solaris
jdk/makefiles/mkdemo/Makefile
jdk/makefiles/mkdemo/jni/Makefile
jdk/makefiles/mkdemo/jni/Poller/Makefile
jdk/makefiles/mkdemo/jvmti/Makefile
jdk/makefiles/mkdemo/jvmti/README.txt
jdk/makefiles/mkdemo/jvmti/hprof/Makefile
jdk/makefiles/mkdemo/jvmti/mapfile-vers
jdk/makefiles/mkdemo/management/README.txt
jdk/makefiles/sun/jkernel/Makefile
jdk/makefiles/sun/security/ec/Makefile
jdk/makefiles/sun/security/pkcs11/FILES_c.gmk
jdk/makefiles/sun/security/pkcs11/Makefile
jdk/makefiles/sun/security/pkcs11/mapfile-vers
--- a/jdk/makefiles/CompileDemos.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/CompileDemos.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -215,7 +215,7 @@
      # Param 5 = libs for posix
      # Param 6 = libs for winapi
      # Param 7 = libs for solaris
-     BUILD_DEMO_JVMTI_$1_EXTRA_SRC:=	$$(wildcard $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/demo/jvmti/$1) \
+     BUILD_DEMO_JVMTI_$1_EXTRA_SRC:=	$$(wildcard $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/demo/jvmti/$1) \
 					$$(wildcard $$(addprefix $(JDK_TOPDIR)/src/share/demo/jvmti/,$2))
      BUILD_DEMO_JVMTI_$1_EXTRA_INC:=$$(addprefix -I,$$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC))
      BUILD_DEMO_JVMTI_$1_LANG:=C
@@ -227,18 +227,26 @@
          $1_EXTRA_CXX:=$(LIBCXX)
          BUILD_DEMO_JVMTI_$1_O_FLAG:=$(CXX_O_FLAG_NORM)
      endif
+
+     $1_CXXFLAGS:=$(CXXFLAGS_JDKLIB) $$(BUILD_DEMO_JVMTI_$1_O_FLAG) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3
+     ifeq ($1-$(OPENJDK_TARGET_CPU_ARCH),waiters-sparc)
+       $1_FILTER:=-xregs=no%appl
+       $1_CXXFLAGS:=$$(filter-out $$($1_FILTER),$$($1_CXXFLAGS))
+     endif
+
      $$(eval $$(call SetupNativeCompilation,BUILD_DEMO_JVMTI_$1,\
 		SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC),\
 		LANG:=$$(BUILD_DEMO_JVMTI_$1_LANG),\
 		CFLAGS:=$(CFLAGS_JDKLIB) $$(BUILD_DEMO_JVMTI_$1_O_FLAG) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3,\
-		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $$(BUILD_DEMO_JVMTI_$1_O_FLAG) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3,\
+		CXXFLAGS:=$$($1_CXXFLAGS),\
 		LDFLAGS:=$(LDFLAGS_JDKLIB),\
 		LDFLAGS_SUFFIX:=$$($1_EXTRA_CXX),\
 		LDFLAGS_SUFFIX_posix:=$5,\
 		LDFLAGS_SUFFIX_winapi:=$6,\
 		LDFLAGS_SUFFIX_solaris:=-lc $7,\
-		BIN:=$(JDK_OUTPUTDIR)/newdemoobjs/jvmti/$1,\
-		LIB:=$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/lib/$(LIBRARY_PREFIX)$1$(SHARED_LIBRARY_SUFFIX)))
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/newdemoobjs/jvmti/$1,\
+		OUTPUT_DIR:=$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/lib,\
+		LIBRARY:=$1))
 
     $$(eval $$(call SetupZipArchive,BUILD_DEMO_JVMTI_SRC_$1,\
 		SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC),\
@@ -262,7 +270,7 @@
          BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/jvmti/$1/$1.jar
      endif
 
-     BUILD_DEMOS += 	$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/lib/$(LIBRARY_PREFIX)$1$(SHARED_LIBRARY_SUFFIX) \
+     BUILD_DEMOS += 	$$(BUILD_DEMO_JVMTI_$1) \
 			$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/src.zip \
 			$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/README.txt
 endef
@@ -274,7 +282,7 @@
 # hprof contains error messages using __FILE__ macro. These expand to the absolute path
 # in the new build system and relative in the old, causing the binaries to differ.
 $(eval $(call SetupJVMTIDemo,hprof,			java_crw_demo,\
-		-I$(JDK_TOPDIR)/src/share/npt -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/npt,C,\
+		-I$(JDK_TOPDIR)/src/share/npt -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/npt,C,\
 		-ldl,ws2_32.lib winmm.lib,-lsocket -lnsl))
 
 $(eval $(call SetupJVMTIDemo,minst,			agent_util java_crw_demo))
@@ -349,7 +357,7 @@
 
 ##################################################################################################
 
-ifeq ($(PLATFORM), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
 
 $(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller/% : $(JDK_TOPDIR)/src/solaris/demo/jni/Poller/%
 		$(MKDIR) -p $(@D)
@@ -386,8 +394,9 @@
 		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
                         -I$(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB), \
-		BIN:=$(JDK_OUTPUTDIR)/newdemoobjs/jni/Poller,\
-		LIB:=$(JDK_OUTPUTDIR)/newdemoobjs/$(LIBRARY_PREFIX)Poller$(SHARED_LIBRARY_SUFFIX)))
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/newdemoobjs/jni/Poller,\
+                OUTPUT_DIR:=$(JDK_OUTPUTDIR)/newdemoobjs, \
+		LIBRARY:=Poller))
 
 #
 # We can only compile native code after jar has been build (since we depend on generated .h files)
--- a/jdk/makefiles/CompileJavaClasses.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/CompileJavaClasses.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -45,7 +45,7 @@
 		com/sun/tools/example/debug/gui \
 		com/oracle/security
 
-ifeq ($(PLATFORM)-$(ARCH_DATA_MODEL),windows-64)
+ifeq ($(OPENJDK_TARGET_OS)-$(ARCH_DATA_MODEL),windows-64)
      EXCLUDES += sun/security/pkcs11
 endif
 
@@ -61,7 +61,7 @@
    EXFILES := $(JDK_TOPDIR)/src/share/classes/javax/crypto/JarVerifier.java
 endif
 
-ifneq ($(PLATFORM),solaris)
+ifneq ($(OPENJDK_TARGET_OS),solaris)
    # Exclude Solaris nio and two security related files in src/share/classes
    EXFILES += SolarisAclFileAttributeView.java \
 	SolarisFileStore.java \
@@ -71,37 +71,34 @@
 	SolarisUserDefinedFileAttributeView.java \
 	SolarisWatchService.java \
 	SolarisAclFileAttributeView.java \
-	SolarisFileStore.java \
-	SolarisFileSystem.java \
-	SolarisFileSystemProvider.java \
-	SolarisUserDefinedFileAttributeView.java \
-	SolarisNativeDispatcher.java \
-	SolarisWatchService.java \
 	SolarisLoginModule.java \
 	SolarisSystem.java \
+	sun/nio/ch/EventPortSelectorImpl.java \
+	sun/nio/ch/EventPortSelectorProvider.java \
+	sun/nio/ch/EventPortWrapper.java \
 	sun/tools/attach/SolarisAttachProvider.java \
 	sun/tools/attach/SolarisVirtualMachine.java
 endif
 
 # In the old build, this isn't excluded on macosx, even though it probably
 # should be.
-ifneq ($(PLATFORM),macosx)
+ifneq ($(OPENJDK_TARGET_OS),macosx)
 	EXFILES+=WrapperGenerator.java
 endif
 
-ifneq ($(PLATFORM),windows)
+ifneq ($(OPENJDK_TARGET_OS),windows)
     # Exclude Window security related files in src/share/classes
     EXFILES+=NTLoginModule.java \
              NTSystem.java
 
 endif
 
-ifeq ($(PLATFORM),windows)
+ifeq ($(OPENJDK_TARGET_OS),windows)
     # Don't build GTK L&F on Windows
     EXCLUDES+=	com/sun/java/swing/plaf/gtk
 endif
 
-ifneq ($(PLATFORM),linux)
+ifneq ($(OPENJDK_TARGET_OS),linux)
     EXFILES+=sun/tools/attach/LinuxAttachProvider.java \
 	sun/tools/attach/LinuxVirtualMachine.java \
 	sun/nio/fs/LinuxDosFileAttributeView.java \
@@ -113,7 +110,7 @@
 	sun/nio/fs/LinuxWatchService.java
 endif
 
-ifneq ($(PLATFORM),macosx)
+ifneq ($(OPENJDK_TARGET_OS),macosx)
     EXFILES+=sun/nio/fs/BsdFileStore.java \
 	     sun/nio/fs/BsdFileSystem.java \
              sun/nio/fs/BsdFileSystemProvider.java \
@@ -137,11 +134,11 @@
 endif
 
 # Used on windows and macosx
-ifeq (,$(filter $(PLATFORM), windows macosx))
+ifeq (,$(filter $(OPENJDK_TARGET_OS), windows macosx))
     EXFILES+=sun/awt/AWTCharset.java
 endif
 
-ifneq ($(PLATFORM), macosx)
+ifneq ($(OPENJDK_TARGET_OS), macosx)
 #
 # Not in rt.jar on solaris and linux...(windows not checked)
 #     in rt.jar on macosx ??
@@ -192,7 +189,7 @@
 # Exclude another implicitly not included file.
 EXFILES+=sun/util/locale/AsciiUtil.java
 
-ifeq (,$(filter $(PLATFORM), solaris macosx))
+ifeq (,$(filter $(OPENJDK_TARGET_OS), solaris macosx))
 #
 # only solaris and macosx
 #
@@ -205,7 +202,7 @@
 	 -linux-ppc.java
 
 # TODO: Is this necessary?
-ifeq ($(PLATFORM), windows)
+ifeq ($(OPENJDK_TARGET_OS), windows)
     EXFILES+=sun/nio/ch/AbstractPollSelectorImpl.java \
 	sun/nio/ch/DevPollArrayWrapper.java \
 	sun/nio/ch/DevPollSelectorImpl.java \
@@ -248,18 +245,24 @@
 
 ifndef OPENJDK
     CLOSED_SRC_DIRS:=$(JDK_TOPDIR)/src/closed/share/classes \
-		     $(JDK_TOPDIR)/src/closed/$(LEGACY_HOST_OS_API)/classes
+		     $(JDK_TOPDIR)/src/closed/$(LEGACY_OPENJDK_TARGET_OS_API)/classes
 endif
 
 MACOSX_SRC_DIRS :=
-ifeq ($(PLATFORM),macosx)
+ifeq ($(OPENJDK_TARGET_OS),macosx)
      MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/classes
 
      # this files are duplicated in MACOSX_SRC_DIRS
      EXFILES+= $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java \
                $(JDK_TOPDIR)/src/solaris/classes/sun/java2d/BackBufferCapsProvider.java \
                $(JDK_TOPDIR)/src/solaris/classes/java/net/DefaultInterface.java \
-	       $(JDK_TOPDIR)/src/solaris/classes/java/lang/ClassLoaderHelper.java
+               $(JDK_TOPDIR)/src/solaris/classes/java/lang/ClassLoaderHelper.java
+
+     # JObjC.jar contains 1.5 byte-code...so skip it here :-(
+     # MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/jobjc/src
+     # EXCLUDES+= tests/java/com/apple/jobjc
+
+     EXCLUDES+= com/apple/jobjc
 endif
 
 # The exception handling of swing beaninfo
@@ -272,7 +275,7 @@
 $(eval $(call SetupJavaCompilation,BUILD_JDK,\
                 SETUP:=GENERATE_JDKBYTECODE,\
 		SRC:=$(JDK_TOPDIR)/src/share/classes \
-		     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes \
+		     $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes \
 		     $(MACOSX_SRC_DIRS) \
 		     $(JDK_OUTPUTDIR)/gensrc \
 		     $(JDK_OUTPUTDIR)/gensrc_swing/javax/swing/beaninfo \
@@ -297,7 +300,7 @@
 JDK_BASE_HEADER_JAVA_FILES:=$(patsubst %,$(JDK_TOPDIR)/src/share/classes/%.java,\
 				$(subst .,/,$(JDK_BASE_HEADER_CLASSES)))
 
-ifeq ($(PLATFORM),windows)
+ifeq ($(OPENJDK_TARGET_OS),windows)
     JDK_BASE_HEADER_CLASSES_WINDOWS:=sun.nio.ch.PollArrayWrapper
     JDK_BASE_HEADER_CLASSES+=$(JDK_BASE_HEADER_CLASSES_WINDOWS)
     JDK_BASE_HEADER_JAVA_FILES+=$(patsubst %,$(JDK_TOPDIR)/src/windows/classes/%.java,\
@@ -348,6 +351,53 @@
 
 ##########################################################################################
 
+ifeq ($(OPENJDK_TARGET_OS),macosx)
+#
+# JObjC.jar is compiled with BOOT_JAVAC which (may) not support the "-h" flag.
+#   so we first compile classes with BOOT_JAVAC and then with JDK_JAVAC :-(
+#
+$(eval $(call SetupJavaCompiler,GENERATE_15BYTECODE,\
+     JAVAC:=$(JAVAC),\
+     FLAGS:=-source 1.5 -target 1.5 -g -bootclasspath $(BOOT_RTJAR) -cp $(JDK_OUTPUTDIR)/../langtools/dist/lib/classes.jar $(DISABLE_WARNINGS),\
+     SERVER_DIR:=$(JAVAC_SERVERS),\
+     SERVER_JVM:=$(SERVER_JAVA),\
+     MODE:=$(JAVAC_USE_MODE),\
+     USE_DEPS:=$(JAVAC_USE_DEPS)))
+
+$(eval $(call SetupJavaCompilation,BUILD_JOBJC_JAR,\
+		SETUP:=GENERATE_15BYTECODE,\
+		SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/java \
+		     $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/java \
+		     $(JDK_OUTPUTDIR)/gensrc, \
+		INCLUDES := com/apple/jobjc,\
+                EXCLUDES := tests/java/com/apple/jobjc,\
+		BIN:=$(JDK_OUTPUTDIR)/jobjc_classes,\
+		JAR:=$(JDK_OUTPUTDIR)/lib/JObjC.jar, \
+		JARINDEX := true))
+
+$(BUILD_JOBJC_JAR) : $(BUILD_JDK)
+
+JARS += $(JDK_OUTPUTDIR)/lib/JObjC.jar
+
+$(eval $(call SetupJavaCompilation,BUILD_JOBJC_HEADERS_JAR,\
+		SETUP:=GENERATE_JDKBYTECODE,\
+		SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/java \
+		     $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/java \
+		     $(JDK_OUTPUTDIR)/gensrc, \
+		INCLUDES := com/apple/jobjc,\
+                EXCLUDES := tests/java/com/apple/jobjc,\
+		BIN:=$(JDK_OUTPUTDIR)/jobjc_classes_headers,\
+		JAR:=$(JDK_OUTPUTDIR)/jobjc_classes_headers/dummy.jar, \
+		HEADERS:=$(JDK_OUTPUTDIR)/gensrc_headers))
+
+$(BUILD_JOBJC_HEADERS_JAR) : $(BUILD_JDK)
+
+JARS += $(JDK_OUTPUTDIR)/jobjc_classes_headers/dummy.jar
+
+endif
+
+##########################################################################################
+
 # copy with -a to preserve timestamps so dependencies down the line aren't messed up
 all: $(BUILD_JDK) $(JARS) $(COPY_EXTRA) $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin \
 	$(JDK_OUTPUTDIR)/classes/_the.jdk.base.headers
--- a/jdk/makefiles/CompileLaunchers.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/CompileLaunchers.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -32,17 +32,25 @@
 # Setup the java compilers for the JDK build.
 include Setup.gmk
 
+# Build tools
+include Tools.gmk
+
 BUILD_LAUNCHERS=
 
 define SetupLauncher
     # TODO: Fix mapfile on solaris. Won't work with ld as linker.
     # Parameter 1 is the name of the launcher (java,javac,jar...)
-    # Parameter 2 are extra CFLAGS
-    # Parameter 3 are extra LDFLAGS
-    # Parameter 4 are extra LDFLAGS_SUFFIX_posix
-    # Parameter 5 are extra LDFLAGS_SUFFIX_winapi
+    # Parameter 2 is extra CFLAGS
+    # Parameter 3 is extra LDFLAGS
+    # Parameter 4 is extra LDFLAGS_SUFFIX_posix
+    # Parameter 5 is extra LDFLAGS_SUFFIX_winapi
+    # Parameter 6 is optional Windows JLI library (full path)
+    # Parameter 7 is optional Windows resource (RC) flags
+    # Parameter 8 is optional Windows version resource file (.rc)
+    # Parameter 9  is different output dir
+    # Parameter 10 is FULL DEBUG SYMBOLS (set value to turn OFF, since most(all) seems to have it)
 
-    $1_WINDOWS_JLI_LIB:=$(JDK_OUTPUTDIR)/objs/jli.lib
+    $1_WINDOWS_JLI_LIB:=$(JDK_OUTPUTDIR)/objs/libjli/jli.lib
     ifneq ($6,)
         $1_WINDOWS_JLI_LIB:=$6
     endif
@@ -51,33 +59,73 @@
         $1_VERSION_INFO_RESOURCE:=$8
     endif
 
+    $1_LDFLAGS := $3
+    ifeq ($(OPENJDK_TARGET_OS), macosx)
+        $1_LDFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+                       -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks
+    endif
+
+    $1_LDFLAGS_SUFFIX :=
+    ifeq ($(USE_EXTERNAL_LIBZ), true)
+        $1_LDFLAGS_SUFFIX += -lz
+    endif
+
+    ifeq ($(OPENJDK_TARGET_OS), macosx)
+        $1_LDFLAGS_SUFFIX += -Wl,-all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
+                             -framework Cocoa -framework Security -framework ApplicationServices \
+                             -sectcreate __TEXT __info_plist $(JDK_TOPDIR)/src/macosx/lib/Info-cmdline.plist
+    endif
+
+
+    $1_OUTPUT_DIR_ARG:=$9
+    ifeq (,$$($1_OUTPUT_DIR_ARG))
+        $1_OUTPUT_DIR_ARG:=$(JDK_OUTPUTDIR)/bin
+    endif
+
+    $1_DEBUG_SYMBOLS:=yes
+    ifneq (,$(10))
+      $1_DEBUG_SYMBOLS:=
+    endif
+
+    $1_OPTIMIZATION:= LOW
+
+    # TODO: maybe it's better to move this if-statement out of this function
+    ifeq ($(1),java)
+      $1_OPTIMIZATION:=HIGH
+    endif
+
     $(call SetupNativeCompilation,BUILD_LAUNCHER_$1,\
 	SRC:=$(JDK_TOPDIR)/src/share/bin,\
 	INCLUDE_FILES:=main.c,\
 	LANG:=C,\
-	CFLAGS:=$(CFLAGS_JDKEXE) $(C_O_FLAG_NORM) \
+	OPTIMIZATION :=$$($1_OPTIMIZATION), \
+	CFLAGS:=$(CFLAGS_JDKEXE) \
 		-I$(JDK_TOPDIR)/src/share/bin \
-		-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin \
-		-I$(JDK_TOPDIR)/src/$(PLATFORM)/bin \
+		-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/bin \
+		-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS)/bin \
                 -DFULL_VERSION='"$(FULL_VERSION)"' \
                 -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
                 -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
 		-DLIBARCHNAME='"$(ARCH)"' \
-		-DLAUNCHER_NAME='"openjdk"' \
+		-DLAUNCHER_NAME='"java"' \
 		-DPROGNAME='"$1"' $(DPACKAGEPATH) \
 		$2,\
 	CFLAGS_linux:=-fPIC,\
+        CFLAGS_solaris:=-KPIC -DHAVE_GETHRTIME,\
 	LDFLAGS:=$(LDFLAGS_JDKEXE) \
                  $(call SET_SHARED_LIBRARY_ORIGIN,../lib/$(LIBARCH)/jli) \
                  $(call SET_SHARED_LIBRARY_ORIGIN,../jre/lib/$(LIBARCH)/jli) \
-		 $3,\
+		 $$($1_LDFLAGS),\
 	MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/launchers/mapfile-$(ARCH), \
-        LDFLAGS_SUFFIX:=$(LDFLAGS_JDKEXE_SUFFIX),\
+        LDFLAGS_SUFFIX:=$(LDFLAGS_JDKEXE_SUFFIX) $$($1_LDFLAGS_SUFFIX),\
 	LDFLAGS_SUFFIX_posix:=$4 -lc,\
 	LDFLAGS_SUFFIX_winapi:=$$($1_WINDOWS_JLI_LIB) \
-			       $(JDK_OUTPUTDIR)/objs/java.lib advapi32.lib $5,\
-	BIN:=$(JDK_OUTPUTDIR)/objs/$1_objs,\
-	EXE:=$(JDK_OUTPUTDIR)/objs/$1$(EXE_SUFFIX),\
+			       $(JDK_OUTPUTDIR)/objs/libjava/java.lib advapi32.lib $5,\
+	LDFLAGS_SUFFIX_solaris := -lthread $(LIBDL), \
+	OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/$1_objs,\
+	OUTPUT_DIR:=$$($1_OUTPUT_DIR_ARG),\
+	PROGRAM:=$1,\
+	DEBUG_SYMBOLS:=$$($1_DEBUG_SYMBOLS),\
 	VERSIONINFO_RESOURCE:=$$($1_VERSION_INFO_RESOURCE),\
 	RC_FLAGS:=$(RC_FLAGS)\
 		  /D "JDK_FNAME=$1$(EXE_SUFFIX)" \
@@ -86,13 +134,22 @@
 		  $7,\
 	MANIFEST:=$(JDK_TOPDIR)/src/windows/resource/java.manifest)
 
-    BUILD_LAUNCHERS += $(JDK_OUTPUTDIR)/bin/$1$(EXE_SUFFIX)
+    BUILD_LAUNCHERS += $$(BUILD_LAUNCHER_$1)
+
+    ifeq ($(OPENJDK_TARGET_OS),macosx)
+        $$(BUILD_LAUNCHER_$1) : $(JDK_OUTPUTDIR)/objs/libjli_static.a
+    endif
+
+    ifeq ($(OPENJDK_TARGET_OS),windows)
+        $$(BUILD_LAUNCHER_$1) : $(JDK_OUTPUTDIR)/objs/libjava/java.lib \
+				$$($1_WINDOWS_JLI_LIB)
+    endif    	 
 endef
 
 ##########################################################################################
 
-XLIBS:=-lX11
-ifeq ($(PLATFORM),macosx)
+XLIBS:=$(X_LIBS) -lX11
+ifeq ($(OPENJDK_TARGET_OS),macosx)
     DPACKAGEPATH:=-DPACKAGE_PATH='"$(PACKAGE_PATH)"'
     XLIBS:=
 endif
@@ -108,17 +165,17 @@
     $(JDK_OUTPUTDIR)/objs/jli_static.lib,$(JAVA_RC_FLAGS),\
     $(JDK_TOPDIR)/src/windows/resource/java.rc))
 
-ifeq ($(HOST_OS),windows)
+ifeq ($(OPENJDK_TARGET_OS),windows)
     $(eval $(call SetupLauncher,javaw,\
         -DEXPAND_CLASSPATH_WILDCARDS,,,user32.lib comctl32.lib,\
         $(JDK_OUTPUTDIR)/objs/jli_static.lib,$(JAVA_RC_FLAGS),\
         $(JDK_TOPDIR)/src/windows/resource/java.rc))
 endif
 
-ifeq ($(PLATFORM),solaris)
+ifeq ($(OPENJDK_TARGET_OS),solaris)
     THREAD_LIB:=-lthread
 endif
-ifeq ($(PLATFORM),linux)
+ifeq ($(OPENJDK_TARGET_OS),linux)
     THREAD_LIB:=-lpthread
 endif
 
@@ -271,7 +328,7 @@
 $(eval $(call SetupLauncher,jcmd,\
     -DJAVA_ARGS='{	"-J-ms8m"$(COMMA) "sun.tools.jcmd.JCmd"$(COMMA) }'))
 
-ifeq ($(PLATFORM),windows)
+ifeq ($(OPENJDK_TARGET_OS),windows)
     $(eval $(call SetupLauncher,kinit,\
         -DJAVA_ARGS='{	"-J-ms8m"$(COMMA) "sun.security.krb5.internal.tools.Kinit"$(COMMA) }'))
 
@@ -286,8 +343,10 @@
 # The order of the object files on the link command line affects the size of the resulting
 # binary (at least on linux) which causes the size to differ between old and new build.
 ifeq ($(USE_EXTERNAL_LIBZ), true)
+UNPACKEXE_CFLAGS := -DSYSTEM_ZLIB
 UNPACKEXE_ZIPOBJS := -lz
 else
+UNPACKEXE_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
 UNPACKEXE_ZIPOBJS := 	$(JDK_OUTPUTDIR)/objs/libzip/zcrc32$(OBJ_SUFFIX) \
 		     	$(JDK_OUTPUTDIR)/objs/libzip/deflate$(OBJ_SUFFIX) \
 			$(JDK_OUTPUTDIR)/objs/libzip/trees$(OBJ_SUFFIX) \
@@ -299,27 +358,31 @@
 			$(JDK_OUTPUTDIR)/objs/libzip/inftrees$(OBJ_SUFFIX) \
 			$(JDK_OUTPUTDIR)/objs/libzip/inffast$(OBJ_SUFFIX)
 
+endif
 
-$(JDK_OUTPUTDIR)/bin/unpack200$(EXE_SUFFIX): $(UNPACKEXE_ZIPOBJS)
-
+ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
+     UNPACKEXE_CFLAGS += -xregs=no%appl
 endif
 
 $(eval $(call SetupNativeCompilation,BUILD_UNPACKEXE,\
                 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
 		EXCLUDE_FILES:=jni.cpp,\
 		LANG:=C,\
-		CFLAGS:=$(CXXFLAGS_JDKEXE) $(CXX_O_FLAG_NORM) \
-			 -DFULL \
-			 -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5,\
+		OPTIMIZATION := LOW, \
+		CFLAGS:=$(UNPACKEXE_CFLAGS) $(CXXFLAGS_JDKEXE)\
+			 -DFULL, \
 		CFLAGS_release:=-DPRODUCT,\
 		CFLAGS_linux:=-fPIC,\
+		CFLAGS_solaris := -KPIC, \
+		CFLAGS_macosx := -fPIC, \
 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers-unpack200, \
 		LDFLAGS:=$(LDFLAGS_JDKEXE) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
 		LDFLAGS_SUFFIX:=$(UNPACKEXE_ZIPOBJS) $(LIBCXX),\
 		LDFLAGS_SUFFIX_solaris:=-lc,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/unpackexe,\
-		EXE:=$(JDK_OUTPUTDIR)/objs/unpack200$(EXE_SUFFIX),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/unpackexe,\
+		OUTPUT_DIR:=$(JDK_OUTPUTDIR)/bin,\
+		PROGRAM:=unpack200,\
 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
 		RC_FLAGS:=$(RC_FLAGS)\
 			  /D "JDK_FNAME=unpack200.exe" \
@@ -327,7 +390,13 @@
 			  /D "JDK_FTYPE=0x1L",\
 		MANIFEST:=$(JDK_TOPDIR)/src/windows/resource/unpack200_proto.exe.manifest))
 
-BUILD_LAUNCHERS += $(JDK_OUTPUTDIR)/bin/unpack200$(EXE_SUFFIX)
+ifneq ($(USE_EXTERNAL_LIBZ), true)
+
+$(BUILD_UNPACKEXE) : $(UNPACKEXE_ZIPOBJS)
+
+endif
+
+BUILD_LAUNCHERS += $(BUILD_UNPACKEXE)
 
 ##########################################################################################
 
@@ -335,7 +404,7 @@
 BUILD_JEXEC := 
 BUILD_JEXEC_SRC :=
 BUILD_JEXEC_INC :=
-BUILD_JEXEC_DST := $(JDK_OUTPUTDIR)/lib/$(LIBARCH)/jexec$(EXE_SUFFIX)
+BUILD_JEXEC_DST_DIR := $(JDK_OUTPUTDIR)/lib/$(LIBARCH)
 
 #
 # UNHANDLED:
@@ -345,30 +414,30 @@
 #
 # jdk/make/java/Makefile
 #
-ifeq ($(PLATFORM), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
 	ifeq ($(ARCH_DATA_MODEL), 32)
 		BUILD_JEXEC := 1
 	endif
 endif
 
-ifeq ($(PLATFORM), linux)
+ifeq ($(OPENJDK_TARGET_OS), linux)
 	BUILD_JEXEC := 1
-endif # PLATFORM
+endif # OPENJDK_TARGET_OS
 
 #
 # jdk/make/java/jexec/Makefile
 #
 ifeq ($(BUILD_JEXEC), 1)
 
-	ifeq ($(PLATFORM),windows)
-	else ifeq ($(PLATFORM),macosx)
+	ifeq ($(OPENJDK_TARGET_OS),windows)
+	else ifeq ($(OPENJDK_TARGET_OS),macosx)
 		BUILD_JEXEC_SRC := $(JDK_TOPDIR)/src/macosx/bin
 	else
 		BUILD_JEXEC_SRC := $(JDK_TOPDIR)/src/solaris/bin
 	endif
 
-	ifeq ($(PLATFORM), linux)
-		BUILD_JEXEC_DST := $(JDK_OUTPUTDIR)/lib/jexec$(EXE_SUFFIX)
+	ifeq ($(OPENJDK_TARGET_OS), linux)
+                BUILD_JEXEC_DST_DIR := $(JDK_OUTPUTDIR)/lib
 		BUILD_JEXEC_INC += -I$(JDK_TOPDIR)/src/share/bin
 	endif
 endif
@@ -382,13 +451,15 @@
 		SRC:=$(BUILD_JEXEC_SRC),\
 		INCLUDE_FILES:=jexec.c,\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKEXE) $(C_O_FLAG_NORM) \
+		OPTIMIZATION := LOW, \
+		CFLAGS:=$(CFLAGS_JDKEXE)\
                         $(BUILD_JEXEC_INC), \
 		LDFLAGS:=$(LDFLAGS_JDKEXE), \
-		BIN:=$(JDK_OUTPUTDIR)/objs/jexec_obj,\
-		EXE:=$(BUILD_JEXEC_DST)))
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/jexec_obj,\
+		OUTPUT_DIR:=$(BUILD_JEXEC_DST_DIR),\
+		PROGRAM:=jexec))
 
-	BUILD_LAUNCHERS += $(BUILD_JEXEC_DST)
+	BUILD_LAUNCHERS += $(BUILD_JEXEC)
 endif
 
 ##########################################################################################
@@ -397,10 +468,10 @@
 # The java-rmi.cgi script in bin/ only gets delivered in certain situations
 #
 JAVA_RMI_CGI:=$(JDK_OUTPUTDIR)/bin/java-rmi.cgi
-ifeq ($(PLATFORM), linux)
+ifeq ($(OPENJDK_TARGET_OS), linux)
   BUILD_LAUNCHERS += $(JAVA_RMI_CGI)
 endif
-ifeq ($(PLATFORM), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
   ifeq ($(ARCH_DATA_MODEL), 32)
     BUILD_LAUNCHERS += $(JAVA_RMI_CGI)
   endif
@@ -413,12 +484,13 @@
 # images bin dir. This weird behavior is mimicked here in the converted makefiles for
 # now. Should probably just be deleted.
 # http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6512052
-ifeq ($(HOST_OS_API),winapi)
+ifeq ($(OPENJDK_TARGET_OS_API),winapi)
     $(eval $(call SetupLauncher,java-rmi,\
         -DEXPAND_CLASSPATH_WILDCARDS,\
-        $(call SET_SHARED_LIBRARY_MAPFILE,$(JDK_TOPDIR)/makefiles/java/main/java/mapfile-$(ARCH))))
+        $(call SET_SHARED_LIBRARY_MAPFILE,$(JDK_TOPDIR)/makefiles/java/main/java/mapfile-$(ARCH)),\
+        ,,,,,$(JDK_OUTPUTDIR)/objs))
 
-    $(JAVA_RMI_CGI): $(JDK_OUTPUTDIR)/objs/java-rmi$(EXE_SUFFIX)
+    $(JAVA_RMI_CGI): $(BUILD_LAUNCHER_java-rmi)
 	$(MKDIR) -p $(@D)
 	$(CP) $< $@
 
@@ -432,11 +504,6 @@
 
 ##########################################################################################
 
-$(JDK_OUTPUTDIR)/bin/% : $(JDK_OUTPUTDIR)/objs/%
-	$(ECHO) Copying $(@F)
-	$(MKDIR) -p $(@D)
-	$(CP) $< $@
-
 $(BUILD_LAUNCHERS) : $(JDK_TOPDIR)/makefiles/CompileLaunchers.gmk
 
 all: $(BUILD_LAUNCHERS)
--- a/jdk/makefiles/CompileNativeLibraries.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/CompileNativeLibraries.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -35,13 +35,16 @@
 # Copy files (can now depend on $(COPY_FILES))
 include CopyFiles.gmk
 
+# Build tools
+include Tools.gmk
+
 # Include the javah generated headers.
 CFLAGS_JDKLIB += -I$(JDK_OUTPUTDIR)/gensrc_headers
 CXXFLAGS_JDKLIB += -I$(JDK_OUTPUTDIR)/gensrc_headers
 
-# Put the libraries here. Different locations for different host apis.
-ifeq ($(HOST_OS_API),posix)
-    ifneq ($(HOST_OS),macosx)
+# Put the libraries here. Different locations for different target apis.
+ifeq ($(OPENJDK_TARGET_OS_API),posix)
+    ifneq ($(OPENJDK_TARGET_OS),macosx)
         INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/lib/$(LIBARCH)
         LIBARCHDIR=$(LIBARCH)/
     else
@@ -52,465 +55,213 @@
     INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/bin
 endif
 
-$(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX) : $(JDK_OUTPUTDIR)/objs/%$(SHARED_LIBRARY_SUFFIX)
-	$(ECHO) Copying $(@F)
-	$(CP) $< $@
-
 BUILD_LIBRARIES=
 
-# TODO: Temporary until awt is converted:
-# OBJDIRNAME is the name of the directory where the object code is to
-#   be placed. It's name depends on whether the data model architecture 
-#   is 32-bit or not.
-ifneq ($(ARCH_DATA_MODEL), 32)
-  OBJDIRNAME  = obj$(ARCH_DATA_MODEL)$(OBJDIRNAME_SUFFIX)
-else
-  OBJDIRNAME  = obj$(OBJDIRNAME_SUFFIX)
-endif
+# Absolute paths to lib files on windows for use in LDFLAGS. Should figure out a more
+# elegant solution to this.
+WIN_VERIFY_LIB := $(JDK_OUTPUTDIR)/objs/libverify/verify.lib
+WIN_JAVA_LIB := $(JDK_OUTPUTDIR)/objs/libjava/java.lib
+WIN_AWT_LIB := $(JDK_OUTPUTDIR)/objs/libawt/awt.lib
 
 ##########################################################################################
 
-BUILD_LIBZIP_FILES := \
-        CRC32.c \
-	Adler32.c \
-	Deflater.c \
-	Inflater.c \
-	ZipFile.c \
-	zip_util.c
-
-ifeq ($(USE_EXTERNAL_LIBZ),true)
-	LIBZ := -lz
-else
-BUILD_LIBZIP_FILES += \
-	compress.c \
-	deflate.c \
-	gzclose.c \
-	gzlib.c \
-	gzread.c \
-	gzwrite.c \
-	infback.c \
-	inffast.c \
-	inflate.c \
-	inftrees.c \
-	trees.c \
-	uncompr.c \
-	zadler32.c \
-	zcrc32.c \
-	zutil.c
-	LIBZ_INCLUDE := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
+BUILD_LIBFDLIBM_OPTIMIZATION:=HIGH
+
+ifneq ($(OPENJDK_TARGET_OS), solaris)
+      BUILD_LIBFDLIBM_OPTIMIZATION:=NONE
 endif
 
-$(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\
-                SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip \
-                     $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5,\
-		INCLUDE_FILES := $(BUILD_LIBZIP_FILES), \
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-                        $(LIBZ_INCLUDE) \
-		        -I$(JDK_TOPDIR)/src/share/native/java/io \
-                        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/io,\
-		CFLAGS_posix:=-DUSE_MMAP -UDEBUG,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(EXPORT_ZIP_FUNCS), \
-		LDFLAGS_winapi:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
-                                -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
-                                java.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBZ),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libzip,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)zip$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)zip$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)zip$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-LIBUNPACK_LIB_FILE := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)unpack$(SHARED_LIBRARY_SUFFIX)
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
-                SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
-		EXCLUDE_FILES:=main.cpp,\
-		LANG:=C++,\
-		CFLAGS:=$(CXXFLAGS_JDKLIB) $(CXX_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-			 -DNO_ZLIB -DUNPACK_JNI -DFULL,\
-		CFLAGS_release:=-DPRODUCT,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB)\
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_winapi:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map /debug \
-				jvm.lib java.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		LDFLAGS_SUFFIX_posix:=$(LIBCXX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libunpack,\
-		LIB:=$(LIBUNPACK_LIB_FILE),\
-		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
-		RC_FLAGS:=$(RC_FLAGS)\
-			  /D "JDK_FNAME=unpack.dll" \
-			  /D "JDK_INTERNAL_NAME=unpack" \
-			  /D "JDK_FTYPE=0x2L"))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)unpack$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack$(SHARED_LIBRARY_SUFFIX)
-
-ifeq ($(HOST_OS_API),winapi)
-    $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(LIBUNPACK_LIB_FILE)
-	$(ECHO) Copying $(@F)
-	$(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
-
-    $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(LIBUNPACK_LIB_FILE)
-	$(ECHO) Copying $(@F)
-	$(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
-endif
-
-##########################################################################################
-
-BUILD_LIBFDLIBM_OPTIMIZATION:= $(C_O_FLAG_HI)
-
-ifneq ($(PLATFORM), solaris)
-      BUILD_LIBFDLIBM_OPTIMIZATION := $(C_O_FLAG_NONE)
-endif
-
-ifneq ($(PLATFORM),macosx)
+ifneq ($(OPENJDK_TARGET_OS),macosx)
 $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\
+                STATIC_LIBRARY:=fdlibm,\
+                OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
                 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFDLIBM_OPTIMIZATION) \
+		OPTIMIZATION:=$(BUILD_LIBFDLIBM_OPTIMIZATION), \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 			-I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
 		CFLAGS_winapi_debug:=-DLOGGING,\
 		ARFLAGS:=$(ARFLAGS),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)))
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm))
+
+BUILD_LIBRARIES += $(BUILD_LIBFDLIBM)
+
 else
 #
 # On macosx they do partial (incremental) linking of fdlibm
 #   code it here...rather than add support to NativeCompilation
 #   as this is firt time I see it
 $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\
+                LIBRARY:=fdlibm,\
+                OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
                 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFDLIBM_OPTIMIZATION) \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 			-I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
-		LDFLAGS := -nostdlib -r,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX) : \
-	$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS:=-nostdlib -r,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX) : $(BUILD_LIBFDLIBM)
 	$(CP) -a $< $@
-endif
-
 
 BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-LIBATTACH_EXCLUDE_FILES:=
-ifneq ($(PLATFORM),solaris)
-    LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c
-endif
-ifneq ($(PLATFORM),linux)
-    LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c
-endif
-ifneq ($(PLATFORM),macosx)
-    LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c
-endif
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\
-                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/tools/attach,\
-		EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(PLATFORM), \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_solaris:=-ldoor,\
-		LDFLAGS_winapi:=psapi.lib advapi32.lib java.lib jvm.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libattach,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)attach$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)attach$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)attach$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\
-                SRC:=$(JDK_TOPDIR)/src/share/transport/socket \
-			$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/transport/socket,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-                        -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(PLATFORM) \
-                        -I$(JDK_TOPDIR)/src/share/transport/socket \
-		        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/transport/socket \
-                        -I$(JDK_TOPDIR)/src/share/back/export \
-                        -I$(JDK_TOPDIR)/src/share/back,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB), \
-		LDFLAGS_SUFFIX_linux:=-lpthread,\
-		LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket,\
-		LDFLAGS_SUFFIX_winapi:=-export:jdwpTransport_OnLoad ws2_32.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)dt_socket$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)dt_socket$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)dt_socket$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-ifeq ($(HOST_OS_API),winapi)
-
-  $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\
-                SRC:= $(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
-			$(JDK_TOPDIR)/src/share/transport/shmem \
-			$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/transport/shmem,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS)\
-                        -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(PLATFORM) \
-                        -I$(JDK_TOPDIR)/src/share/transport/shmem \
-		        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/transport/shmem \
-                        -I$(JDK_TOPDIR)/src/share/back/export, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB),\
-		LDFLAGS_winapi:=-export:jdwpTransport_OnLoad,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libdt_shmem,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)dt_shmem$(SHARED_LIBRARY_SUFFIX)))
-
-  BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)dt_shmem$(SHARED_LIBRARY_SUFFIX)
-
-endif # PLATFORM
-
-##########################################################################################
-# JDWP_LOGGING causes log messages to be compiled into the library. These reference the 
-# __FILE__ macro which here expands to the absolute path of the file while the old build 
-# system used a relative path. This causes the binaries to differ in size.
-$(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\
-                SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/back,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS)\
-		 -I$(JDK_TOPDIR)/src/share/transport/export \
-                 -I$(JDK_TOPDIR)/src/share/back/export \
-                 -I$(JDK_TOPDIR)/src/share/npt \
-                 -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/npt \
-                 -I$(JDK_TOPDIR)/src/share/back \
-                 -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/back \
-		 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
-		LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)), \
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		LDFLAGS_SUFFIX_linux:=$(LIBDL),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjdwp,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jdwp$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jdwp$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jdwp$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-LIBJAAS_MAPFILE :=
-ifneq ($(PLATFORM),solaris)
-   LIBJAAS_EXCLUDE_FILES:=Solaris.c
-else
-   # only on solaris...wonder why
-   LIBJAAS_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
-endif
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\
-                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/com/sun/security/auth/module,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS),\
-		MAPFILE := $(LIBJAAS_MAPFILE),\
-		LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_winapi:=netapi32.lib user32.lib mpr.lib advapi32.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjaas,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jaas$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jaas$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jaas$(SHARED_LIBRARY_SUFFIX)
-
-# Oddly enough, it is called jaas_nt.dll under winapi and libjaas_unix.so under posix.
-ifeq ($(PLATFORM),windows)
-    $(INSTALL_LIBRARIES_HERE)/jaas_nt.dll : $(JDK_OUTPUTDIR)/objs/jaas.dll
-	$(ECHO) Copying $(@F)
-	$(CP) $< $@
-    BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/jaas_nt.dll
-else
-    $(INSTALL_LIBRARIES_HERE)/libjaas_unix$(SHARED_LIBRARY_SUFFIX) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jaas$(SHARED_LIBRARY_SUFFIX)
-	$(ECHO) Copying $(@F)
-	$(CP) $< $@
-    BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/libjaas_unix$(SHARED_LIBRARY_SUFFIX)
 endif
 
 ##########################################################################################
 
-ifeq ($(HOST_OS_API),posix)
-  # TODO make this work on macosx
-  ifneq ($(HOST_OS),macosx)
-
-    $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
-                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/nio/ch/sctp,\
+BUILD_LIBVERIFY_SRC:=check_code.c check_format.c
+
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+	ifneq ($(ARCH), amd64)
+		BUILD_LIBVERIFY_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/reorder-$(ARCH)
+	endif
+endif
+
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBVERIFY,\
+		LIBRARY:=verify, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(JDK_TOPDIR)/src/share/native/common,\
+		INCLUDE_FILES:=$(BUILD_LIBVERIFY_SRC),\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS)\
-			-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
-			-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
-			-I$(JDK_TOPDIR)/src/share/native/java/net \
-			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/nio/ch \
-			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/net,\
-		CFLAGS_linux:=-Werror,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
+		OPTIMIZATION:=HIGH, \
+		CFLAGS:=$(CFLAGS_JDKLIB),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX_linux:=-lpthread,\
-		LDFLAGS_SUFFIX_posix:=$(LIBDL) -lnio -lnet,\
-		LDFLAGS_SUFFIX_solaris:=-lsocket,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		INCLUDE_FILES:=SctpNet.c SctpChannelImpl.c SctpServerChannelImpl.c,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libsctp,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)sctp$(SHARED_LIBRARY_SUFFIX)))
-
-    BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)sctp$(SHARED_LIBRARY_SUFFIX)
-
-    $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)sctp$(SHARED_LIBRARY_SUFFIX) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)nio$(SHARED_LIBRARY_SUFFIX)
-  endif
-endif
-
-##########################################################################################
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\
-                SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\
-			$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/tracing/dtrace,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS)\
-			-I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjsdt,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsdt$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsdt$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jsdt$(SHARED_LIBRARY_SUFFIX)
+			 $(call SET_SHARED_LIBRARY_ORIGIN), \
+		LDFLAGS_SUFFIX_posix:=-ljvm -lc,\
+		LDFLAGS_SUFFIX_windows:=jvm.lib,\
+		REORDER:=$(BUILD_LIBVERIFY_REORDER),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libverify,\
+		DEBUG_SYMBOLS:=true))
+
+BUILD_LIBRARIES += $(BUILD_LIBVERIFY)
 
 ##########################################################################################
 
-ifdef OPENJDK
-    # TODO: Update awt lib path when awt is converted
-    $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
-                SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms \
-		     $(JDK_TOPDIR)/src/share/native/sun/java2d/,\
-		INCLUDE_FILES:=cmscam02.c cmscgats.c cmscnvrt.c cmserr.c \
-			       cmsgamma.c cmsgmt.c cmsintrp.c cmsio0.c \
-			       cmsio1.c cmslut.c cmsmd5.c cmsmtrx.c \
-			       cmsnamed.c cmsopt.c cmspack.c cmspcs.c \
-			       cmsplugin.c cmsps2.c cmssamp.c cmssm.c \
-			       cmstypes.c cmsvirt.c cmswtpnt.c cmsxform.c \
-			       LCMS.c,\
+LIBJAVA_SRC_DIRS:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/lang \
+		$(JDK_TOPDIR)/src/share/native/java/lang \
+		$(JDK_TOPDIR)/src/share/native/java/lang/ref \
+		$(JDK_TOPDIR)/src/share/native/java/lang/reflect \
+		$(JDK_TOPDIR)/src/share/native/java/io \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/io \
+		$(JDK_TOPDIR)/src/share/native/java/nio \
+		$(JDK_TOPDIR)/src/share/native/java/security \
+		$(JDK_TOPDIR)/src/share/native/common \
+		$(JDK_TOPDIR)/src/share/native/sun/misc \
+		$(JDK_TOPDIR)/src/share/native/sun/reflect \
+		$(JDK_TOPDIR)/src/share/native/java/sql \
+		$(JDK_TOPDIR)/src/share/native/java/util \
+		$(JDK_TOPDIR)/src/share/native/java/util/concurrent/atomic \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/common \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/util \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/provider \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/io
+
+#
+# TODO
+#
+ARCHPROPNAME:=$(LIBARCH)
+ifeq ($(OPENJDK_TARGET_OS)-$(ARCH), solaris-i586)
+     ARCHPROPNAME:=x86
+else ifeq ($(OPENJDK_TARGET_OS)-$(ARCH_DATA_MODEL), windows-32)
+     ARCHPROPNAME:=x86
+else ifeq ($(OPENJDK_TARGET_OS), macosx)
+     ARCHPROPNAME:=$(ARCH)
+endif
+
+LIBJAVA_CFLAGS:=$(foreach dir,$(LIBJAVA_SRC_DIRS),-I$(dir)) \
+		  -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include \
+                  -DARCHPROPNAME='"$(ARCHPROPNAME)"'
+
+LIBJAVA_CFLAGS += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
+                  -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
+                  -DJDK_MICRO_VERSION='"$(JDK_MICRO_VERSION)"' \
+                  -DJDK_BUILD_NUMBER='"$(JDK_BUILD_NUMBER)"' 
+
+ifneq (,$(JDK_UPDATE_VERSION))
+	LIBJAVA_CFLAGS += -DJDK_UPDATE_VERSION='"$(JDK_UPDATE_VERSION)"'
+endif
+
+LIBJAVA_EXCLUDE_FILES:=check_code.c check_format.c
+
+ifneq ($(OPENJDK_TARGET_OS),macosx)
+	LIBJAVA_EXCLUDE_FILES += java_props_macosx.c
+else
+	BUILD_LIBJAVA_java_props_md.c_CFLAGS:=-x objective-c
+endif
+
+ifeq ($(OPENJDK_TARGET_OS),windows)
+        LIBJAVA_EXCLUDE_FILES += \
+		UNIXProcess_md.c \
+		UnixFileSystem_md.c \
+		FileSystemPreferences.c
+else
+	LIBJAVA_EXCLUDE_FILES += \
+		ProcessImpl_md.c \
+		Win32FileSystem_md.c \
+		WinNTFileSystem_md.c \
+		dirent_md.c \
+		WindowsPreferences.c \
+		sun/security/provider/WinCAPISeedGenerator.c \
+		sun/io/Win32ErrorMode.c
+endif
+
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+    ifneq ($(ARCH), amd64)
+        LIBJAVA_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(ARCH)
+    endif
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA,\
+		LIBRARY:=java,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(LIBJAVA_SRC_DIRS),\
+		EXCLUDES:=fdlibm/src zip, \
+		EXCLUDE_FILES:=$(LIBJAVA_EXCLUDE_FILES), \
 		LANG:=C,\
-		CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) $(C_O_FLAG_NORM) \
-			$(SHARED_LIBRARY_FLAGS) \
-			-I$(JDK_TOPDIR)/src/share/native/sun/java2d \
-			-I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
-		CFLAGS_solaris:=-xc99=no_lib,\
-		CFLAGS_winapi:=-DCMS_IS_WINDOWS_,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB), \
-		LDFLAGS_solaris:=/usr/lib$(ISA_DIR)/libm.so.2,\
-		LDFLAGS_winapi:=awt.lib java.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		LDFLAGS_SUFFIX_posix:=-lawt,\
-		LDFLAGS_SUFFIX_linux:=-lm,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/liblcms,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)lcms$(SHARED_LIBRARY_SUFFIX)))
-
-    BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)lcms$(SHARED_LIBRARY_SUFFIX)
-
-    $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)lcms$(SHARED_LIBRARY_SUFFIX) : \
-	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
-endif
+		OPTIMIZATION:=HIGH, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                        $(LIBJAVA_CFLAGS),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN), \
+		LDFLAGS_windows:=-export:winFileHandleOpen -export:handleLseek \
+				 $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) jvm.lib \
+				 shell32.lib delayimp.lib /DELAYLOAD:shell32.dll \
+				 advapi32.lib,\
+		LDFLAGS_SUFFIX_posix:=-ljvm -lverify, \
+		LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc,\
+		LDFLAGS_SUFFIX_linux:=$(LIBDL) $(BUILD_LIBFDLIBM),\
+		LDFLAGS_SUFFIX_macosx:=$(BUILD_LIBFDLIBM) \
+                                         -framework CoreFoundation \
+                                         -framework Security -framework SystemConfiguration, \
+		REORDER:=$(LIBJAVA_REORDER), \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava))
+
+BUILD_LIBRARIES += $(BUILD_LIBJAVA)
+
+$(BUILD_LIBJAVA) : $(LIBJLI_BINARY)
+
+$(BUILD_LIBJAVA) : $(BUILD_LIBVERIFY)
+
+$(BUILD_LIBJAVA) : $(BUILD_LIBFDLIBM)
 
 ##########################################################################################
 
-ifdef OPENJDK
-    BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
-else
-    BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
-    BUILD_LIBJPEG_CLOSED_SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
-    BUILD_LIBJPEG_CLOSED_INCLUDES := -I$(BUILD_LIBJPEG_CLOSED_SRC)
-endif
-
-BUILD_LIBJPEG_REORDER :=
-ifeq ($(PLATFORM), solaris)
-    ifneq ($(ARCH), amd64)
-        BUILD_LIBJPEG_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(ARCH)
-    endif
-endif
-
-# Suppress gcc warnings like "variable might be clobbered by 'longjmp'
-# or 'vfork'": this warning indicates that some variable is placed to
-# a register by optimized compiler and it's value might be lost on longjmp().
-# Recommended way to avoid such warning is to declare the variable as
-# volatile to prevent the optimization. However, this approach does not
-# work because we have to declare all variables as volatile in result.
-#ifndef CROSS_COMPILE_ARCH
-#    CC_43_OR_NEWER := \
-#        $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
-#              \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
-#    ifeq ($(CC_43_OR_NEWER),1)
-#        BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
-#    endif
-#endif
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\
-                SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
-		     $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HIGHEST) $(SHARED_LIBRARY_FLAGS) \
-			$(BUILD_LIBJPEG_CLOSED_INCLUDES) \
-			-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
-		MAPFILE := $(BUILD_LIBJPEG_MAPFILE), \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_linux:=$(LIBDL),\
-		LDFLAGS_winapi:=java.lib jvm.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		REORDER := $(BUILD_LIBJPEG_REORDER),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjpeg,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jpeg$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jpeg$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jpeg$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-BUILD_LIBMLIB_SRC := $(JDK_TOPDIR)/src/share/native/sun/awt/medialib
-BUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
+BUILD_LIBMLIB_SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib
+BUILD_LIBMLIB_CFLAGS:=-D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
 			-I$(BUILD_LIBMLIB_SRC) \
-			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt/medialib 
-
-BUILD_LIBMLIB_LDLIBS :=
-BUILD_LIBMLIB_IMAGE_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libmlib_image/mapfile-vers
-
-ifneq ($(PLATFORM), sparc)
+			-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt/medialib 
+
+BUILD_LIBMLIB_LDLIBS:=
+BUILD_LIBMLIB_IMAGE_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmlib_image/mapfile-vers
+
+ifneq ($(OPENJDK_TARGET_OS), sparc)
+#
+# Yes, this will always be true (until someone makes an OS called sparc)
+#   but this is how it was writtin in old system...keep it like this for now
+#
 	BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
 endif
 
@@ -518,43 +269,44 @@
 	BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
 endif
 
-ifneq ($(PLATFORM), windows)
+ifneq ($(OPENJDK_TARGET_OS), windows)
 	BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
 endif
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE,\
-		SRC:=$(BUILD_LIBMLIB_SRC),\
+		LIBRARY:=mlib_image,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(BUILD_LIBMLIB_SRC),\
 		EXCLUDE_FILES:=awt_ImagingLib.c mlib_c_ImageBlendTable.c,\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HIGHEST) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=HIGHEST, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
                         $(BUILD_LIBMLIB_CFLAGS),\
-		MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
+		MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
                          $(BUILD_LIBMLIB_LDLIBS) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-                LDFLAGS_SUFFIX_posix := -lm,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libmlib_image,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)mlib_image$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)mlib_image$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)mlib_image$(SHARED_LIBRARY_SUFFIX)
+                LDFLAGS_SUFFIX_posix:=-lm,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image))
+
+$(BUILD_LIBMLIB_IMAGE) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE)
 
 ##########################################################################################
 
-ifeq ($(PLATFORM),solaris)
+ifeq ($(OPENJDK_TARGET_OS),solaris)
 ifeq ($(ARCH),sparc)
-	BUILD_LIBMLIB_IMAGE_V := 1
+	BUILD_LIBMLIB_IMAGE_V:=1
 else ifeq ($(ARCH), sparcv9)
-	BUILD_LIBMLIB_IMAGE_V := 1
+	BUILD_LIBMLIB_IMAGE_V:=1
 endif
 endif
 
 ifeq ($(BUILD_LIBMLIB_IMAGE_V), 1)
 
-BUILD_LIBMLIB_IMAGE_V_FILES :=  \
+BUILD_LIBMLIB_IMAGE_V_FILES:=\
         mlib_v_ImageLookUp.c \
         mlib_ImageCreate.c \
         mlib_ImageAffine.c \
@@ -648,1185 +400,355 @@
         mlib_ImageUtils.c \
         mlib_ImageDivTables.c
 
-#
-# TODO
-#
-# ASFLAGS += -P
-# INLINE = $(PLATFORM_SRC)/native/sun/awt/medialib/vis_$(ARCH_DATA_MODEL).il
+BUILD_LIBMLIB_V_CFLAGS := $(filter-out -DMLIB_NO_LIBSUNMATH,$(BUILD_LIBMLIB_CFLAGS))
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V,\
-		SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
+		LIBRARY:=mlib_image_v, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
 		     $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib,\
 		LANG:=C,\
-		INCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_FILES),\
-		CFLAGS:=$(BUILD_LIBMLIB_CFLAGS) \
-                        $(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS) \
-		MAPFILE := $(JDK_TOPDIR)/$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
+		INCLUDE_FILES:=$(BUILD_LIBMLIB_IMAGE_V_FILES),\
+		OPTIMIZATION:=HIGHEST, \
+		CFLAGS:=-xarch=sparcvis \
+                      $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(ARCH_DATA_MODEL).il\
+                      $(BUILD_LIBMLIB_V_CFLAGS) \
+                      $(CFLAGS_JDKLIB), \
+		MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
                          $(BUILD_LIBMLIB_LDLIBS) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libmlib_image_v,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)mlib_image_v$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)mlib_image_v$(SHARED_LIBRARY_SUFFIX)
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image_v))
+
+BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE_V)
 
 endif
 
 ##########################################################################################
 
-ifndef OPENJDK
-    FONT_HEADERS := -I$(CLOSED_SRC)/share/native/$(PKGDIR)/t2k
-    BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers
-    LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
-else
-    FONT_HEADERS := $(FREETYPE2_CFLAGS)
-    BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
-    BUILD_LIBFONTMANAGER_FONTLIB := $(FREETYPE2_LIBS)
-endif
-
-ifeq ($(PLATFORM),windows)
-    LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
-				    X11TextRenderer.c
-else
-    LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
-				    lcdglyph.c
-endif
-
-BUILD_LIBFONTMANAGER_CFLAGS_COMMON := $(SHARED_LIBRARY_FLAGS) \
-			-DLE_STANDALONE -DHEADLESS \
-			$(FONT_HEADERS) \
-			-I$(JDK_TOPDIR)/src/share/native/sun/font \
-			-I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
-			-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
-			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt \
-			-I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
-			-I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
-			-I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
-			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d \
-			-I$(JDK_TOPDIR)/src/share/native/sun/java2d
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
-                SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
-		     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/font,\
-		EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
-			       AccelGlyphCache.c,\
-		LANG:=C++,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
-		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
-		CFLAGS_posix:=$(C_O_FLAG_HI),\
-		CXXFLAGS_posix:=$(CXX_O_FLAG_HI),\
-		CFLAGS_windows=$(C_O_FLAG_NORM)\
-				-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/windows \
-				-DCC_NOEX, \
-		MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \
-		LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_windows:=advapi32.lib user32.lib gdi32.lib awt.lib java.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) \
-				$(BUILD_LIBFONTMANAGER_FONTLIB),\
-		LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX),\
-		LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX),\
-		LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX) : \
-	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
-
-ifneq (,$(findstring $(PLATFORM),solaris macosx))
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX) : \
-	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX)
-endif
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-ifndef OPENJDK
-
-#    ifeq ($(PLATFORM), linux)
-#        ifeq ("$(CC_VER_MAJOR)", "3")
-#            OTHER_LDLIBS  += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
-#        endif                           
-#    endif
-#
-# The resulting size of the t2k lib file is (at least on linux) dependant on the order of 
-# the input .o files. Because of this the new build will differ in size to the old build.
-    BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
-		            -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
-		            -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
-		            -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
-		            -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/font \
-		            -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
-		            -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
-		            -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d \
-		            -I$(JDK_TOPDIR)/src/share/native/sun/java2d
-
-    $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\
-                SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \
-		     $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
-		     $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\
-		EXCLUDE_FILES:=orion.c,\
-		LANG:=C++,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON) $(C_O_FLAG_HI),\
-		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON) $(CXX_O_FLAG_HI),\
-		CFLAGS_windows=-DCC_NOEX, \
-		CXXFLAGS_windows=-DCC_NOEX, \
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/fontmanager.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		LDFLAGS_SUFFIX_macosx:=$(LIBCXX) $(LIBM) -lfontmanager,\
-		LDFLAGS_SUFFIX_linux:=$(LIBCXX) $(LIBM) -lfontmanager,\
-		LDFLAGS_SUFFIX_solaris:=$(LIBCXX) $(LIBM) -lfontmanager -lawt \
-					-lawt_xawt,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libt2k,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)t2k$(SHARED_LIBRARY_SUFFIX)))
-
-    # t2k is linked against fontmanager
-    $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)t2k$(SHARED_LIBRARY_SUFFIX): \
-	$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX)
-
-    BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)t2k$(SHARED_LIBRARY_SUFFIX)
+LIBAWT_DIRS:=\
+	$(JDK_TOPDIR)/src/share/native/sun/awt \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/image \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/image/gif \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/shell \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/utility \
+	$(JDK_TOPDIR)/src/share/native/sun/java2d \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d \
+	$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
+	$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/image \
+	$(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/opengl \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/x11 \
+	$(JDK_TOPDIR)/src/share/native/sun/font \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/windows \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/windows \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/d3d
+
+
+LIBAWT_CFLAGS:=-D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
+	$(X_CFLAGS) \
+	$(foreach dir,$(LIBAWT_DIRS),-I$(dir))
+
+LIBAWT_FILES:=\
+	gifdecoder.c \
+	imageInitIDs.c \
+	img_globals.c \
+	SurfaceData.c \
+	Region.c \
+	BufImgSurfaceData.c \
+	Disposer.c \
+	Trace.c \
+	GraphicsPrimitiveMgr.c \
+	Blit.c \
+	BlitBg.c \
+	ScaledBlit.c \
+	FillRect.c \
+	FillSpans.c \
+	FillParallelogram.c \
+	DrawParallelogram.c \
+	DrawLine.c \
+	DrawRect.c \
+	DrawPolygons.c \
+	DrawPath.c \
+	FillPath.c \
+	ProcessPath.c \
+	MaskBlit.c \
+	MaskFill.c \
+	TransformHelper.c \
+	AlphaMath.c \
+	AlphaMacros.c \
+	AnyByte.c \
+	ByteBinary1Bit.c \
+	ByteBinary2Bit.c \
+	ByteBinary4Bit.c \
+	ByteIndexed.c \
+	ByteGray.c \
+	Index8Gray.c \
+	Index12Gray.c \
+	AnyShort.c \
+	Ushort555Rgb.c \
+	Ushort565Rgb.c \
+	Ushort4444Argb.c \
+	Ushort555Rgbx.c \
+	UshortGray.c \
+	UshortIndexed.c \
+	Any3Byte.c \
+	ThreeByteBgr.c \
+	AnyInt.c \
+	IntArgb.c \
+	IntArgbPre.c \
+	IntArgbBm.c \
+	IntRgb.c \
+	IntBgr.c \
+	IntRgbx.c \
+	Any4Byte.c \
+	FourByteAbgr.c \
+	FourByteAbgrPre.c \
+	BufferedMaskBlit.c \
+	BufferedRenderPipe.c \
+	ShapeSpanIterator.c \
+	SpanClipRenderer.c \
+	awt_ImageRep.c \
+	awt_ImagingLib.c \
+	awt_Mlib.c \
+	awt_parseImage.c \
+	DataBufferNative.c \
+	dither.c \
+	debug_assert.c \
+	debug_mem.c \
+	debug_trace.c \
+	debug_util.c
+
+ifneq (,$(filter $(OPENJDK_TARGET_OS), solaris linux macosx))
+	LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
 endif
 
-##########################################################################################
-
-#
-# TODO replace with X_FLAGS / X_LIBS
-#   and add them to configure
-#
-OPENWIN_LIB := $(OPENWIN_HOME)/lib
-
-BUILD_LIBJAWT_LIB := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jawt$(SHARED_LIBRARY_SUFFIX)
-
-ifeq ($(PLATFORM), windows)
-    ifeq ($(ARCH_DATA_MODEL), 32)
-        KERNEL32_LIB := kernel32.lib
-    endif
-    $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
-                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/windows,\
-		INCLUDE_FILES:=jawt.cpp,\
-		LANG:=C++,\
-		CFLAGS:=$(CXXFLAGS_JDKLIB) $(CXX_O_FLAG_NORM) \
-			-EHsc -DUNICODE -D_UNICODE \
-			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/windows \
-		        -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
-		        -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
-			-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
-			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/windows, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) \
-			 advapi32.lib awt.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjawt,\
-		LIB:=$(BUILD_LIBJAWT_LIB)))
-
-$(BUILD_LIBJAWT_LIB) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT_LIB)
-	$(ECHO) Copying $(@F)
-	$(CP) $< $@
-
-BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
-
-else # PLATFORM not windows
-
-    JAWT_LIBS := -lawt
-    ifndef BUILD_HEADLESS_ONLY
-        JAWT_LIBS += -lawt_xawt
-    else
-        JAWT_LIBS += -lawt_headless
-        HEADLESS_CFLAG += -DHEADLESS
-    endif
-
-    JAWT_FILES := jawt.c
-    ifeq ($(PLATFORM), macosx)
-	JAWT_FILES := jawt.m
-	JAWT_LIBS := -lawt_lwawt
-    endif
-
-    $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
-                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt \
-                     $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
-		INCLUDE_FILES:=$(JAWT_FILES),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM), \
-		CFLAGS_linux:=$(HEADLESS_CFLAG),\
-		CFLAGS_macosx := -I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -L$(OPENWIN_LIB)$(ISA_DIR),\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(JAWT_LIBS),\
-		LDFLAGS_SUFFIX_solaris:=-lXrender,\
-		LDFLAGS_SUFFIX_macosx:= -framework Cocoa, \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjawt,\
-		LIB:=$(BUILD_LIBJAWT_LIB)))
-
-ifndef BUILD_HEADLESS_ONLY
-$(BUILD_LIBJAWT_LIB) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX)
-else
-$(BUILD_LIBJAWT_LIB) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
+ifeq ($(OPENJDK_TARGET_OS),macosx)
+	LIBAWT_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/apple/resources
+	LIBAWT_FILES += awt_LoadLibrary.c MacOSXResourceBundle.m
+	LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
+
+	LIBAWT_MacOSXResourceBundle.m_CFLAGS:=-O0
 endif
 
-endif # PLATFORM
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jawt$(SHARED_LIBRARY_SUFFIX)
-
-
-##########################################################################################
-
-BUILD_LIBVERIFY_SRC := check_code.c check_format.c
-
-ifeq ($(PLATFORM), solaris)
-	ifneq ($(ARCH), amd64)
-		BUILD_LIBVERIFY_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libverify/reorder-$(ARCH)
+ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
+        LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
+        LIBAWT_CFLAGS += -xarch=sparcvis
+	LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(ARCH_DATA_MODEL).il
+        LIBAWT_CFLAGS += \
+            -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
+            -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \
+            -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
+
+	LIBAWT_DIRS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
+                       $(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
+
+	LIBAWT_FILES += \
+                vis_FuncArray.c           \
+                java2d_Mlib.c             \
+                mlib_ImageCreate.c        \
+                mlib_ImageZoom_NN.c       \
+                mlib_ImageCopy_Bit.c      \
+                mlib_sys.c                \
+                mlib_v_ImageClear.c       \
+                mlib_v_ImageClear_f.c     \
+                mlib_v_ImageConstXor.c    \
+                mlib_v_ImageCopy.c        \
+                mlib_v_ImageCopy_f.c      \
+                mlib_v_ImageXor.c         \
+                mlib_v_ImageZoom_NN_f.c   \
+                vis_Interp.c              \
+                vis_AlphaMacros.c         \
+                vis_AlphaMaskBlit.c       \
+                vis_AlphaMaskFill.c       \
+                vis_ByteGray.c            \
+                vis_ByteGray_FromRgb.c    \
+                vis_ByteGray_Mask.c       \
+                vis_ByteIndexed.c         \
+                vis_DrawLine.c            \
+                vis_FourByteAbgr.c        \
+                vis_IntArgb.c             \
+                vis_IntArgbPre.c          \
+                vis_IntArgbPre_Mask.c     \
+                vis_IntBgr.c              \
+                vis_IntRgb.c              \
+                vis_IntRgbx.c             \
+                vis_SrcMaskFill.c         \
+                vis_SrcOverMaskBlit.c     \
+                vis_SrcOverMaskFill.c     \
+                vis_FourByteAbgrPre.c     \
+                vis_GlyphList.c           \
+                vis_GlyphListXor.c        \
+                vis_IntArgbBm.c           \
+                vis_ThreeByteBgr.c        \
+                vis_UshortGray.c          \
+                vis_UshortGray_FromRgb.c  \
+                vis_XorBlit.c             \
+                mlib_v_ImageCopy_blk.s
+
+	ifeq ($(OPENJDK_TARGET_CPU_BITS),64)
+		LIBAWT_ASFLAGS=-P -xarch=v9a
+	else
+		LIBAWT_ASFLAGS=-P -xarch=v8plusa
 	endif
-endif
-
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBVERIFY,\
-		SRC:=$(JDK_TOPDIR)/src/share/native/common,\
-		INCLUDE_FILES:=$(BUILD_LIBVERIFY_SRC),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libverify/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN), \
-		LDFLAGS_SUFFIX_posix:=-ljvm -lc,\
-		LDFLAGS_SUFFIX_windows:=jvm.lib,\
-		REORDER := $(BUILD_LIBVERIFY_REORDER),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libverify,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)verify$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)verify$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-ifndef OPENJDK
-ifneq ($(PLATFORM), macosx)
-
-BUILD_LIBJDBCODBC_DIR     := $(JDK_OUTPUTDIR)/objs/libjdbcodbc
-BUILD_LIBJDBCODBC_NAME    := $(LIBRARY_PREFIX)JdbcOdbc$(SHARED_LIBRARY_SUFFIX)
-BUILD_LIBJDBCODBC_CFLAGS  := 
-BUILD_LIBJDBCODBC_TARGET  := $(JDK_OUTPUTDIR)/objs/$(BUILD_LIBJDBCODBC_NAME)
-BUILD_LIBJDBCODBC_LIBS    :=
-BUILD_LIBJDBCODBC_LDFLAGS :=
-
-ifeq ($(PLATFORM), windows)
-	BUILD_LIBJDBCODBC_LDFLAGS := $(LDFLAGS_JDKLIB)
-	BUILD_LIBJDBCODBC_LIBS += odbc32.lib odbccp32.lib java.lib advapi32.lib
 else
-	BUILD_LIBJDBCODBC_CFLAGS := -DUNIX
-
-#
-# This mimics "current" build system exactly. Link against fake -lodbcinst -lodbc
-#   but...those are linked with the -soname, causing the dependency to be dropped on linux (gnu ld)
-#   but kept with other linker (solaris)
-#
-# IMO very weird behaviour...very weird
-#
-	BUILD_LIBJDBCODBC_LDFLAGS += $(patsubst defs,nodefs,$(LDFLAGS_JDKLIB)) \
-				      -Xlinker -z -Xlinker nodefs
-	BUILD_LIBJDBCODBC_LIBS += -L$(BUILD_LIBJDBCODBC_DIR) -lodbcinst -lodbc
-	BUILD_LIBJDBCODBC_FAKE_LIBS := $(BUILD_LIBJDBCODBC_DIR)/$(LIBRARY_PREFIX)odbcinst$(SHARED_LIBRARY_SUFFIX) \
-                                       $(BUILD_LIBJDBCODBC_DIR)/$(LIBRARY_PREFIX)odbc$(SHARED_LIBRARY_SUFFIX)
-
-	BUILD_LIBJDBCODBC_SONAME := $(call SET_SHARED_LIBRARY_NAME,$(BUILD_LIBJDBCODBC_NAME))
-endif
-
-ifneq ($(PLATFORM), windows)
-
-$(eval $(call SetupNativeCompilation,BUILD_FAKEODBCINST,\
-		SRC:=$(JDK_OUTPUTDIR)/gensrc_c/libjdbcodbc,\
-		INCLUDE_FILES := dummyodbc1.c,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS),\
-		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN) $(BUILD_LIBJDBCODBC_LDFLAGS),\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(BUILD_LIBJDBCODBC_SONAME),\
-		BIN:=$(BUILD_LIBJDBCODBC_DIR),\
-		LIB:=$(BUILD_LIBJDBCODBC_DIR)/$(LIBRARY_PREFIX)odbcinst$(SHARED_LIBRARY_SUFFIX)))
-
-$(eval $(call SetupNativeCompilation,BUILD_FAKEODBC,\
-		SRC:=$(JDK_OUTPUTDIR)/gensrc_c/libjdbcodbc,\
-		INCLUDE_FILES := dummyodbc2.c,\
-		LANG:=C,\
-		CFLAGS:=$(BUILD_LIBJDBCODBC_CFLAGS) $(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS),\
-		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN) $(BUILD_LIBJDBCODBC_LDFLAGS),\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(BUILD_LIBJDBCODBC_SONAME),\
-		BIN:=$(BUILD_LIBJDBCODBC_DIR),\
-		LIB:=$(BUILD_LIBJDBCODBC_DIR)/$(LIBRARY_PREFIX)odbc$(SHARED_LIBRARY_SUFFIX)))
-
-$(BUILD_LIBJDBCODBC_FAKE_LIBS) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-$(BUILD_LIBJDBCODBC_TARGET) : $(BUILD_LIBJDBCODBC_FAKE_LIBS)
-
+	LIBAWT_FILES += MapAccelFunc.c
 endif
 
-$(eval $(call SetupNativeCompilation,BUILD_LIBJDBCODBC,\
-		SRC:=$(JDK_TOPDIR)/src/closed/share/classes/sun/jdbc/odbc,\
-		EXCLUDE_FILES := dummyodbc.c,\
-		LANG:=C,\
-		CFLAGS:=$(BUILD_LIBJDBCODBC_CFLAGS) $(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) \
-			$(SHARED_LIBRARY_FLAGS),\
-		LDFLAGS:=$(BUILD_LIBJDBCODBC_LDFLAGS) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN) $(BUILD_LIBJDBCODBC_LIBS),\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(BUILD_LIBJDBCODBC_SONAME),\
-		BIN:=$(BUILD_LIBJDBCODBC_DIR),\
-		LIB:=$(BUILD_LIBJDBCODBC_TARGET)))
-
-$(BUILD_LIBJDBCODBC_TARGET) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JdbcOdbc$(SHARED_LIBRARY_SUFFIX)
-
-endif
-endif
-
-##########################################################################################
-
-BUILD_LIBINSTRUMENT_SRC     := $(JDK_TOPDIR)/src/share/instrument \
-                               $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/io \
-                               $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/instrument
-
-BUILD_LIBINSTRUMENT_FILES   := \
-	EncodingSupport.c \
-	EncodingSupport_md.c \
-	FileSystemSupport_md.c \
-	InstrumentationImplNativeMethods.c \
-	InvocationAdapter.c \
-	JarFacade.c \
-	JPLISAgent.c \
-	JPLISAssert.c \
-	JavaExceptions.c \
-	PathCharsValidator.c \
-	Reentrancy.c \
-	Utilities.c \
-	canonicalize_md.c
-
-BUILD_LIBINSTRUMENT_DIR     := $(JDK_OUTPUTDIR)/objs/libinstrument
-BUILD_LIBINSTRUMENT_NAME    := $(LIBRARY_PREFIX)instrument$(SHARED_LIBRARY_SUFFIX)
-BUILD_LIBINSTRUMENT_CFLAGS  := -I$(JDK_TOPDIR)/src/share/instrument \
-                               -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/instrument \
-                               -I$(JDK_TOPDIR)/src/share/bin
-
-BUILD_LIBINSTRUMENT_TARGET  := $(JDK_OUTPUTDIR)/objs/$(BUILD_LIBINSTRUMENT_NAME)
-BUILD_LIBINSTRUMENT_LDFLAGS :=
-BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX :=
-
-ifeq ($(PLATFORM), windows)
-  BUILD_LIBINSTRUMENT_LDFLAGS += jli_static.lib java.lib \
-				 -export:Agent_OnAttach
-  # equivalent of strcasecmp is stricmp on Windows
-  BUILD_LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
-else
-
-ifneq (,$(findstring $(PLATFORM), macosx))
-	ifneq ($(ARCH), universal)
-		BUILD_LIBINSTRUMENT_LDFLAGS += -Wl,-all_load
-	endif
-
-	BUILD_LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/libjli_static.a
-	BUILD_LIBINSTRUMENT_LDFLAGS += -liconv
-	BUILD_LIBINSTRUMENT_LDFLAGS += -framework Cocoa -framework Security -framework ApplicationServices
-	BUILD_LIBINSTRUMENT_LDFLAGS += $(LIBZ)
-else
-	BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX += -ljli $(LIBDL)
-endif
+ifneq ($(OPENJDK_TARGET_OS),solaris)
+	LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
 endif
 
-$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\
-		SRC:=$(BUILD_LIBINSTRUMENT_SRC),\
-		INCLUDE_FILES:=$(BUILD_LIBINSTRUMENT_FILES),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-                        $(BUILD_LIBINSTRUMENT_CFLAGS),\
-		CFLAGS_debug := -DJPLIS_LOGGING,\
-		CFLAGS_release := -DNO_JPLIS_LOGGING,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN)\
-			 $(call SET_SHARED_LIBRARY_ORIGIN,jli) \
-                         $(BUILD_LIBINSTRUMENT_LDFLAGS),\
-		LDFLAGS_SUFFIX:=$(LIBZ) $(BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX),\
-		BIN:=$(BUILD_LIBINSTRUMENT_DIR),\
-		LIB:=$(BUILD_LIBINSTRUMENT_TARGET)))
-
-$(BUILD_LIBINSTRUMENT_TARGET) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
-$(BUILD_LIBINSTRUMENT_TARGET) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
-$(BUILD_LIBINSTRUMENT_TARGET) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX)
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(BUILD_LIBINSTRUMENT_NAME)
-
-##########################################################################################
-
-BUILD_LIBMANAGEMENT_SRC := $(JDK_TOPDIR)/src/share/native/sun/management \
-                           $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/management \
-                           $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/com/sun/management
-
-BUILD_LIBMANAGEMENT_EXCLUDES :=
-
-BUILD_LIBMANAGEMENT_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/management
-
-ifneq ($(PLATFORM), windows)
-	BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
-else
-	BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
-endif
-
-ifneq ($(PLATFORM),solaris)
-	BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
-endif
-
-ifneq ($(PLATFORM),linux)
-	BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
-endif
-
-ifneq ($(PLATFORM),macosx)
-	BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
+LIBAWT_LANG:=C
+
+ifeq ($(OPENJDK_TARGET_OS),windows)
+	LIBAWT_FILES += AccelGlyphCache.c \
+			ShaderList.c \
+			CmdIDList.cpp \
+			Hashtable.cpp \
+			GDIHashtable.cpp \
+			Devices.cpp \
+			ObjectList.cpp \
+			GDIBlitLoops.cpp \
+			GDIRenderer.cpp \
+			GDIWindowSurfaceData.cpp \
+			WindowsFlags.cpp \
+			WPrinterJob.cpp \
+			awt_%.cpp \
+			D3DBlitLoops.cpp \
+			D3DBufImgOps.cpp \
+			D3DContext.cpp \
+			D3DGlyphCache.cpp \
+			D3DGraphicsDevice.cpp \
+			D3DMaskBlit.cpp \
+			D3DMaskCache.cpp \
+			D3DMaskFill.cpp \
+			D3DPipelineManager.cpp \
+			D3DPaints.cpp \
+			D3DRenderer.cpp \
+			D3DRenderQueue.cpp \
+			D3DResourceManager.cpp \
+			D3DSurfaceData.cpp \
+			D3DTextRenderer.cpp \
+			D3DVertexCacher.cpp \
+			ShellFolder2.cpp \
+			ThemeReader.cpp \
+			ComCtl32Util.cpp \
+			DllUtil.cpp \
+			initIDs.cpp \
+			MouseInfo.cpp \
+			rect.c
+	LIBAWT_LANG:=C++
+	LIBAWT_CFLAGS += $(GX_OPTION) -DUNICODE -D_UNICODE
+	ifeq ($(ARCH_DATA_MODEL), 64)
+		LIBAWT_CFLAGS += -DMLIB_OS64BIT
+	endif
+
+	ifdef OPENJDK
+		LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/windows/resource/icons"
+	else
+		LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
+	endif
+	LIBAWT_VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
 endif
 
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
-		SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
-		EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS) $(BUILD_LIBMANAGEMENT_CFLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_windows := java.lib jvm.lib advapi32.lib psapi.lib,\
-		LDFLAGS_solaris := -lkstat,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)management$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)management$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)management$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-BUILD_LIBHPROF_SRC := $(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/demo/jvmti/hprof
-BUILD_LIBHPROF_CFLAGS := -I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
-                         -I$(JDK_TOPDIR)/src/share/npt \
-                         -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/npt \
-                         -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
-
-BUILD_LIBHPROF_LDFLAGS :=
-
-ifeq ($(PLATFORM),solaris)
-     BUILD_LIBHPROF_LDFLAGS += -lsocket -lnsl
+ifeq ($(MILESTONE), internal)
+	LIBAWT_CFLAGS += -DINTERNAL_BUILD
 endif
 
-ifneq ($(PLATFORM),windows)
-     BUILD_LIBHPROF_LDFLAGS += $(LIBDL)
+LIBAWT_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers
+ifeq ($(OPENJDK_TARGET_OS),linux)
+	LIBAWT_MAPFILE:=
 endif
 
-$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\
-		SRC:=$(BUILD_LIBHPROF_SRC),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HIGHEST) $(SHARED_LIBRARY_FLAGS) \
-                         $(BUILD_LIBHPROF_CFLAGS),\
-		CFLAGS_debug := -DHPROF_LOGGING,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\
-		LDFLAGS_SUFFIX:=$(BUILD_LIBHPROF_LDFLAGS),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libhprof,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)hprof$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)hprof$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\
-		SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-                        -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX:=,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java_crw_demo$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java_crw_demo$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\
-		SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/npt,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-                        -I$(JDK_TOPDIR)/src/share/npt \
-                        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/npt,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_macosx := -liconv,\
-		LDFLAGS_SUFFIX_windows := -export:nptInitialize -export:nptTerminate,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libnpt,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)npt$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)npt$(SHARED_LIBRARY_SUFFIX)
+$(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\
+		LIBRARY:=awt,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(LIBAWT_DIRS),\
+		INCLUDE_FILES:=$(LIBAWT_FILES),\
+		LANG:=$(LIBAWT_LANG),\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS),\
+		ASFLAGS:=$(LIBAWT_ASFLAGS),\
+		MAPFILE:=$(LIBAWT_MAPFILE), \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_windows:=advapi32.lib kernel32.lib user32.lib gdi32.lib winspool.lib \
+				 imm32.lib ole32.lib uuid.lib shell32.lib \
+				 comdlg32.lib winmm.lib comctl32.lib \
+				 shlwapi.lib delayimp.lib $(WIN_JAVA_LIB) jvm.lib \
+				 /DELAYLOAD:user32.dll /DELAYLOAD:gdi32.dll \
+				 /DELAYLOAD:shell32.dll /DELAYLOAD:winmm.dll \
+				 /DELAYLOAD:winspool.drv /DELAYLOAD:imm32.dll \
+				 /DELAYLOAD:ole32.dll /DELAYLOAD:comdlg32.dll \
+				 /DELAYLOAD:comctl32.dll /DELAYLOAD:shlwapi.dll,\
+		LDFLAGS_macosx:=-lmlib_image \
+                                 -framework Cocoa \
+				 -framework OpenGL \
+				 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+				 -framework JavaNativeFoundation \
+				 -framework JavaRuntimeSupport \
+				 -framework ApplicationServices \
+				 -framework AudioToolbox,\
+		LDFLAGS_solaris:=-R/usr/dt/lib$(ISA_DIR) -R$(OPENWIN_LIB)$(ISA_DIR),\
+		LDFLAGS_SUFFIX_posix:=-ljvm $(LIBM) -ljava $(LIBDL),\
+		VERSIONINFO_RESOURCE:=$(LIBAWT_VERSIONINFO_RESOURCE),\
+		RC_FLAGS:=$(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
+			  /D "JDK_FNAME=awt.dll" \
+			  /D "JDK_INTERNAL_NAME=awt" \
+			  /D "JDK_FTYPE=0x2L",\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt))
+
+$(BUILD_LIBAWT) : $(BUILD_LIBJAVA)
+
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+$(BUILD_LIBAWT) : $(BUILD_LIBMLIB_IMAGE)
+endif
+
+BUILD_LIBRARIES += $(BUILD_LIBAWT)
 
 ##########################################################################################
 
-BUILD_LIBNIO_SRC := \
-        $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/nio \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/nio/ch \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/nio/fs
-
-BUILD_LIBNIO_CFLAGS := \
-	-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
-	-I$(JDK_TOPDIR)/src/share/native/java/io \
-	-I$(JDK_TOPDIR)/src/share/native/java/net \
-        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/net
-
-BUILD_LIBNIO_FILES := \
-        DatagramChannelImpl.c \
-        DatagramDispatcher.c \
-	FileChannelImpl.c \
-	FileDispatcherImpl.c \
-	FileKey.c \
-	IOUtil.c \
-        MappedByteBuffer.c \
-	Net.c \
-	ServerSocketChannelImpl.c \
-	SocketChannelImpl.c \
-	SocketDispatcher.c
-
-ifeq ($(PLATFORM), windows)
-	BUILD_LIBNIO_FILES += \
-		Iocp.c \
-		RegistryFileTypeDetector.c \
-		WindowsAsynchronousFileChannelImpl.c \
-		WindowsAsynchronousServerSocketChannelImpl.c \
-		WindowsAsynchronousSocketChannelImpl.c \
-		WindowsNativeDispatcher.c \
-	        WindowsSelectorImpl.c
-endif
-
-ifeq ($(PLATFORM), linux)
-	BUILD_LIBNIO_LDFLAGS_SUFFIX := -lpthread $(LIBDL)
-	BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-linux
-	BUILD_LIBNIO_FILES += \
-		EPoll.c \
-		EPollArrayWrapper.c \
-		EPollPort.c \
-		InheritedChannel.c \
-		NativeThread.c \
-	        PollArrayWrapper.c \
-		UnixAsynchronousServerSocketChannelImpl.c \
-		UnixAsynchronousSocketChannelImpl.c \
-		GnomeFileTypeDetector.c \
-		LinuxNativeDispatcher.c \
-		LinuxWatchService.c \
-		UnixCopyFile.c \
-		UnixNativeDispatcher.c
-endif
-
-ifeq ($(PLATFORM), macosx)
-	BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-bsd
-	BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
-	BUILD_LIBNIO_FILES += \
-		InheritedChannel.c \
-		NativeThread.c \
-	        PollArrayWrapper.c \
-		UnixAsynchronousServerSocketChannelImpl.c \
-		UnixAsynchronousSocketChannelImpl.c \
-		GnomeFileTypeDetector.c \
-		BsdNativeDispatcher.c \
-		UnixCopyFile.c \
-		UnixNativeDispatcher.c \
-		KQueue.c \
-		KQueuePort.c \
-		KQueueArrayWrapper.c
-endif
-
-ifeq ($(PLATFORM), solaris)
-	BUILD_LIBNIO_LDFLAGS_SUFFIX := $(LIBDL)
-	BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-solaris
-	BUILD_LIBNIO_FILES += \
-		DevPollArrayWrapper.c \
-		InheritedChannel.c \
-		NativeThread.c \
-		PollArrayWrapper.c \
-		SolarisEventPort.c \
-		UnixAsynchronousServerSocketChannelImpl.c \
-		UnixAsynchronousSocketChannelImpl.c \
-		GnomeFileTypeDetector.c \
-		SolarisNativeDispatcher.c \
-		SolarisWatchService.c \
-		UnixCopyFile.c \
-		UnixNativeDispatcher.c
-endif
-
-BUILD_LIBNIO_LDFLAGS :=
-ifeq ($(PLATFORM),windows)
-	BUILD_LIBNIO_LDFLAGS += \
-		java.lib net.lib advapi32.lib jvm.lib ws2_32.lib\
-		$(JDK_OUTPUTDIR)/objs/libjava/io_util.obj \
-		$(JDK_OUTPUTDIR)/objs/libjava/FileDescriptor_md.obj
-endif
-
-ifeq ($(PLATFORM), linux)
-	BUILD_LIBNIO_LDFLAGS_SUFFIX += -ljava -lnet -lpthread $(LIBDL)
-endif
-ifeq ($(PLATFORM), macosx)
-	BUILD_LIBNIO_LDFLAGS_SUFFIX += -ljava -lnet -pthread
-endif
-
-ifeq ($(PLATFORM), solaris)
-	BUILD_LIBNIO_LDFLAGS_SUFFIX += $(JVMLIB) $(LIBSOCKET) -lposix4 $(LIBDL) -lsendfile \
-				       -ljava -lnet
-endif # PLATFORM
-
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
-		SRC:=$(BUILD_LIBNIO_SRC),\
-		INCLUDE_FILES := $(BUILD_LIBNIO_FILES), \
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS) \
-                        $(BUILD_LIBNIO_CFLAGS),\
-		MAPFILE := $(BUILD_LIBNIO_MAPFILE), \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(BUILD_LIBNIO_LDFLAGS_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libnio,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)nio$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)nio$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)nio$(SHARED_LIBRARY_SUFFIX) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)net$(SHARED_LIBRARY_SUFFIX) $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-
-##########################################################################################
-
-LIBNET_SRC_DIRS := $(JDK_TOPDIR)/src/share/native/java/net \
-                   $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/net \
-                   $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/net/dns \
-                   $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/net/www/protocol/http/ntlm \
-                   $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/net/sdp \
-                   $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/net/spi
-
-LIBNET_CFLAGS := $(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
-
-LIBNET_EXCLUDE_FILES:=
-ifneq ($(PLATFORM),linux)
-	LIBNET_EXCLUDE_FILES += linux_close.c
-endif
-
-ifneq ($(PLATFORM),macosx)
-	LIBNET_EXCLUDE_FILES += bsd_close.c
-endif
-
-ifeq ($(PLATFORM),windows)
-	LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
-else
-	LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
-                                TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
-				NTLMAuthSequence.c NetworkInterface_winXP.c
-endif
-
-LIBNET_LDFLAGS_SUFFIX :=
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
-		SRC:=$(LIBNET_SRC_DIRS),\
-		EXCLUDE_FILES := $(LIBNET_EXCLUDE_FILES), \
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-                        $(LIBNET_CFLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBNET_LDFLAGS_SUFFIX),\
-		LDFLAGS_SUFFIX_solaris := -lnsl -lsocket $(LIBDL) ,\
-		LDFLAGS_SUFFIX_linux := $(LIBDL) -lpthread ,\
-		LDFLAGS_SUFFIX_windows := ws2_32.lib $(JVMLIB) secur32.lib iphlpapi.lib \
-					  delayimp.lib java.lib jvm.lib advapi32.lib \
-                                          /DELAYLOAD:secur32.dll /DELAYLOAD:iphlpapi.dll, \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libnet,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)net$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)net$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)net$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
-	$(ECHO) Copying $(@F)
-	$(MKDIR) -p $(@D)
-	$(CP) $< $@
-
-COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
-
-ifeq ($(PLATFORM), solaris)
-$(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template : $(JDK_TOPDIR)/src/${LEGACY_HOST_OS_API}/lib/sdp/sdp.conf.template
-	$(ECHO) Copying $(@F)
-	$(MKDIR) -p $(@D)
-	$(CP) $< $@
-
-COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
-endif
-
-##########################################################################################
-
-LIBJAVA_SRC_DIRS := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/lang \
-		$(JDK_TOPDIR)/src/share/native/java/lang \
-		$(JDK_TOPDIR)/src/share/native/java/lang/ref \
-		$(JDK_TOPDIR)/src/share/native/java/lang/reflect \
-		$(JDK_TOPDIR)/src/share/native/java/io \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/io \
-		$(JDK_TOPDIR)/src/share/native/java/nio \
-		$(JDK_TOPDIR)/src/share/native/java/security \
-		$(JDK_TOPDIR)/src/share/native/common \
-		$(JDK_TOPDIR)/src/share/native/sun/misc \
-		$(JDK_TOPDIR)/src/share/native/sun/reflect \
-		$(JDK_TOPDIR)/src/share/native/java/sql \
-		$(JDK_TOPDIR)/src/share/native/java/util \
-		$(JDK_TOPDIR)/src/share/native/java/util/concurrent/atomic \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/common \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/util \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/provider \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/io
-
-LIBJAVA_CFLAGS := $(foreach dir,$(LIBJAVA_SRC_DIRS),-I$(dir)) \
-		  -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include \
-                  -DARCHPROPNAME='"$(ARCH)"'
-
-LIBJAVA_CFLAGS += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
-                  -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
-                  -DJDK_MICRO_VERSION='"$(JDK_MICRO_VERSION)"' \
-                  -DJDK_BUILD_NUMBER='"$(JDK_BUILD_NUMBER)"' 
-
-ifneq (,$(JDK_UPDATE_VERSION))
-	LIBJAVA_CFLAGS += -DJDK_UPDATE_VERSION='"$(JDK_UPDATE_VERSION)"'
-endif
-
-LIBJAVA_EXCLUDE_FILES:= check_code.c check_format.c
-
-ifneq ($(PLATFORM),macosx)
-	LIBJAVA_EXCLUDE_FILES += java_props_macosx.c
-else
-	BUILD_LIBJAVA_java_props_md.c_CFLAGS := -x objective-c
-endif
-
-ifeq ($(PLATFORM),windows)
-        LIBJAVA_EXCLUDE_FILES += \
-		UNIXProcess_md.c \
-		UnixFileSystem_md.c \
-		FileSystemPreferences.c
-else
-	LIBJAVA_EXCLUDE_FILES += \
-		ProcessImpl_md.c \
-		Win32FileSystem_md.c \
-		WinNTFileSystem_md.c \
-		dirent_md.c \
-		WindowsPreferences.c \
-		sun/security/provider/WinCAPISeedGenerator.c \
-		sun/io/Win32ErrorMode.c
-endif
-
-ifeq ($(PLATFORM), solaris)
-    ifneq ($(ARCH), amd64)
-        LIBJAVA_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(ARCH)
-    endif
-endif
-
-LIBJAVA_FDLIBM := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
-LIBJAVA_VERIFY := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)verify$(STATIC_LIBRARY_SUFFIX)
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA,\
-		SRC:=$(LIBJAVA_SRC_DIRS),\
-		EXCLUDES := fdlibm/src zip, \
-		EXCLUDE_FILES := $(LIBJAVA_EXCLUDE_FILES), \
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS) \
-                        $(LIBJAVA_CFLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN), \
-		LDFLAGS_windows:=-export:winFileHandleOpen -export:handleLseek \
-				 $(LIBJAVA_FDLIBM) $(LIBJAVA_VERIFY) jvm.lib \
-				 shell32.lib delayimp.lib /DELAYLOAD:shell32.dll \
-				 advapi32.lib,\
-		LDFLAGS_SUFFIX_posix:=-ljvm -lverify, \
-		LDFLAGS_SUFFIX_solaris := -lnsl -lsocket -lscf $(LIBDL) $(LIBJAVA_FDLIBM) -lc,\
-		LDFLAGS_SUFFIX_linux := $(LIBDL) $(LIBJAVA_FDLIBM),\
-		LDFLAGS_SUFFIX_macosx := $(LIBJAVA_FDLIBM) \
-                                         -framework CoreFoundation \
-                                         -framework Security -framework SystemConfiguration, \
-		REORDER := $(LIBJAVA_REORDER), \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjava,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) : $(LIBJLI_BINARY)
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)verify$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) : $(LIBJAVA_FDLIBM)
-
-##########################################################################################
-
-BUILD_LIBJLI_SRC_DIRS := $(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin
-BUILD_LIBJLI_CFLAGS := $(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir))
-
-BUILD_LIBJLI_FILES := \
-	java.c \
-	splashscreen_stubs.c \
-	parse_manifest.c \
-	version_comp.c \
-	wildcard.c \
-	jli_util.c
-
-ifeq ($(JVM_VARIANT_ZERO), true)
-	ERGO_FAMILY := zero
-else # !ZERO_BUILD
-	ifneq (,$(findstring $(ARCH), amd64 x86_64))
-		ERGO_FAMILY := i586
-	else # !X86 FAMILY
-		ERGO_FAMILY := $(ARCH)
-	endif #ARCH_FAMILY
-endif # ZERO_BUILD
-
-ifeq ($(PLATFORM), macosx)
-	BUILD_LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
-	BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
-	BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
-
-	BUILD_LIBJLI_java_md_macosx.c_CFLAGS := -x objective-c
-	BUILD_LIBJLI_A_java_md_macosx.c_CFLAGS := -x objective-c
-endif
-
-ifeq ($(PLATFORM), windows)
-	BUILD_LIBJLI_FILES += java_md.c
-else ifneq ($(PLATFORM), macosx)
-
-	BUILD_LIBJLI_FILES += java_md_common.c
-	BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c 
-
-	ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
-
-        # if the architecture specific ergo file exists then
-        # use it, else use the generic definitions from ergo.c
-	ifneq ($(wildcard $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin/$(ERGO_ARCH_FILE)),)
-		BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
-	else # !ERGO_ARCH_FILE
-		BUILD_LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
-	endif # ERGO_ARCH_FILE
-endif #WINDOWS
-
-# Names of arch directories
-BUILD_LIBJLI_CFLAGS += -DLIBARCHNAME='"$(LIBARCH)"'
-ifeq ($(PLATFORM), solaris)
-	ifneq (,$(findstring $(ARCH),sparc))
-		BUILD_LIBJLI_CFLAGS += -DLIBARCH32NAME='"sparc"'
-		BUILD_LIBJLI_CFLAGS += -DLIBARCH64NAME='"sparcv9"'
-	else
-		BUILD_LIBJLI_CFLAGS += -DLIBARCH32NAME='"i386"'
-		BUILD_LIBJLI_CFLAGS += -DLIBARCH64NAME='"amd64"'
-	endif
-endif # PLATFORM
-
-ifeq ($(PLATFORM), macosx)
-	BUILD_LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
-endif
-
-ifneq ($(USE_EXTERNAL_LIBZ),true)
-	BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
-	BUILD_LIBJLI_CFLAGS += $(LIBZ_INCLUDE)
-	BUILD_LIBJLI_FILES += \
-		inflate.c \
-		inftrees.c \
-		inffast.c \
-		zadler32.c \
-		zcrc32.c \
-		zutil.c
-endif
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
-		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
-		INCLUDE_FILES := $(BUILD_LIBJLI_FILES),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS) $(BUILD_LIBJLI_CFLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX := $(LIBZ),\
-		LDFLAGS_SUFFIX_posix := $(LIBDL) -lc,\
-		LDFLAGS_SUFFIX_linux := -lpthread,\
-		LDFLAGS_SUFFIX_windows := \
-			-export:JLI_Launch \
-			-export:JLI_ManifestIterate \
-			-export:JLI_SetTraceLauncher \
-			-export:JLI_ReportErrorMessage \
-			-export:JLI_ReportErrorMessageSys \
-			-export:JLI_ReportMessage \
-			-export:JLI_ReportExceptionDescription \
-			advapi32.lib \
-			comctl32.lib \
-			user32.lib,\
-		LDFLAGS_SUFFIX_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjli,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)))
-
-ifeq ($(HOST_OS), windows)
-    LIBJLI_BINARY := $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
-else
-    LIBJLI_BINARY := $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
-
-    $(LIBJLI_BINARY) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
-	$(MKDIR) -p $(@D)
-	$(ECHO) Copying $(@F)
-	$(CP) $< $@
-endif
-BUILD_LIBRARIES += $(LIBJLI_BINARY)
-
-# On windows, the static library has the same suffix as the import library created by
-# with the shared library, so the static library is given a different name. No harm
-# in doing it for all platform to reduce complexity.
-ifneq ($(HOST_OS),macosx)
-    $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
-		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
-		INCLUDE_FILES := $(BUILD_LIBJLI_FILES),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(STATIC_LIBRARY_FLAGS) $(BUILD_LIBJLI_CFLAGS),\
-		ARFLAGS:=$(ARFLAGS),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjli_static,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)))
-else
-    #
-    # On macosx they do partial (incremental) linking of fdlibm
-    #   code it here...rather than add support to NativeCompilation
-    #   as this is first time I see it
-    $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_A,\
-		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
-		INCLUDE_FILES := $(BUILD_LIBJLI_FILES),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(BUILD_LIBJLI_CFLAGS),\
-		LDFLAGS := -nostdlib -r,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjli_static,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)))
-endif
-
-BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-ifndef OPENJDK
-ifndef JAVASE_EMBEDDED
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
-		SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-                        -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjfr,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jfr$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jfr$(SHARED_LIBRARY_SUFFIX)
-
-endif
-endif
-
-##########################################################################################
-
-ifndef OPENJDK
-
-BUILD_LIBKCMS_EXCLUDE_FILES :=
-ifeq ($(PLATFORM),windows)
-	BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
-else
-	BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
-endif
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\
-		SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\
-		LANG:=C,\
-		EXCLUDE_FILES := $(BUILD_LIBKCMS_EXCLUDE_FILES),\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-                        -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\
-		CFLAGS_linux := -Wno-missing-field-initializers,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX_linux := -lpthread,\
-		LDFLAGS_SUFFIX_windows := java.lib advapi32.lib user32.lib version.lib, \
-		LDFLAGS_SUFFIX:= -lm $(LDFLAGS_JDKLIB_SUFFIX),\
-		VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libkcms,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)kcms$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)kcms$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)kcms$(SHARED_LIBRARY_SUFFIX)
-
-endif
-
-##########################################################################################
-
-ifndef OPENJDK
-ifeq ($(PLATFORM), solaris)
-ifneq ($(ARCH), amd64)
-
-ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
-
-SUNWJDGA_MAPFILE :=
-ifneq (,$(findstring $(ARCH),sparc))
-	SUNWJDGA_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
-endif
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
-		SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
-		LANG:=C, \
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-			-I$(JDK_TOPDIR)/src/share/javavm/export \
-			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/javavm/export \
-			-I$(OPENWIN_HOME)/include, \
-		MAPFILE := $(SUNWJDGA_MAPFILE), \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN), \
-		LDFLAGS_SUFFIX:= -L$(OPENWIN_LIB)$(ISA_DIR) -R$(OPENWIN_LIB)$(ISA_DIR) -ldga -lX11 $(LIBDL) -lc, \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libsunwjdga, \
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)sunwjdga$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)sunwjdga$(SHARED_LIBRARY_SUFFIX)
-
-endif
-endif
-endif
-endif
-
-##########################################################################################
-
-ifeq ($(BUILD_HEADLESS), true)
-ifneq ($(PLATFORM), windows)
-
 # TODO!!
-X11_PATH := /usr/X11R6
-
-LIBAWT_HEADLESS_DIRS := $(JDK_TOPDIR)/src/share/native/sun/font \
-                        $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
-			$(JDK_TOPDIR)/src/solaris/native/sun/font \
-			$(JDK_TOPDIR)/src/solaris/native/sun/awt \
-			$(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
-			$(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
-
-LIBAWT_HEADLESS_CFLAGS := -DHEADLESS=true \
-                          -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
-			  $(CUPS_CFLAGS) \
-			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
-			  -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d \
-			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
-			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
-			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
-			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
-			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
-			  -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/jdga \
-                          $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir))
-
-LIBAWT_HEADLESS_FILES := \
-	awt_Font.c \
-	HeadlessToolkit.c \
-	fontpath.c \
-	VDrawingArea.c \
-	X11Color.c \
-	X11Renderer.c \
-	X11PMBlitLoops.c \
-	X11SurfaceData.c \
-	X11FontScaler_md.c \
-	X11TextRenderer_md.c \
-        OGLBlitLoops.c \
-        OGLBufImgOps.c \
-        OGLContext.c \
-        OGLFuncs.c \
-        OGLMaskBlit.c \
-        OGLMaskFill.c \
-        OGLPaints.c \
-        OGLRenderQueue.c \
-        OGLRenderer.c \
-        OGLSurfaceData.c \
-        OGLTextRenderer.c \
-        OGLVertexCache.c \
-        GLXGraphicsConfig.c \
-        GLXSurfaceData.c \
-        AccelGlyphCache.c \
-	CUPSfuncs.c
-
-LIBAWT_HEADLESS_LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX) -lawt -lm
-
-LIBAWT_HEADLESS_REORDER := 
-ifeq ($(PLATFORM), solaris)
-	ifneq ($(ARCH), amd64)
-		LIBAWT_HEADLESS_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(ARCH)
-	endif
-endif
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
-		SRC:=$(LIBAWT_HEADLESS_DIRS),\
-		INCLUDE_FILES := $(LIBAWT_HEADLESS_FILES),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) $(LIBAWT_HEADLESS_CFLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		REORDER := $(LIBAWT_HEADLESS_REORDER), \
-		LDFLAGS_SUFFIX := $(LIBAWT_HEADLESS_LDFLAGS_SUFFIX),\
-		LDFLAGS_SUFFIX_posix := $(LIBDL),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libawt_headless,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX) : \
-	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
-
-endif
-endif
-
-##########################################################################################
-
-ifneq ($(PLATFORM), windows)
+# Even though this variable as a general name, it is
+# only used on macos, in fontpath.c, as prefix for where to find fonts.
+#
+# It's used for libawt_headless _and_ libawt_xawt
+#
+X11_PATH:=/usr/X11R6
+
+ifneq ($(OPENJDK_TARGET_OS), windows)
 ifndef BUILD_HEADLESS_ONLY
 
-LIBAWT_XAWT_DIRS := \
+LIBAWT_XAWT_DIRS:=\
 		$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
 		$(JDK_TOPDIR)/src/share/native/sun/awt/utility \
 		$(JDK_TOPDIR)/src/share/native/sun/font \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/font \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/font \
 		$(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/opengl \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/x11 \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/xawt \
-
-LIBAWT_XAWT_CFLAGS := -DXAWT -DXAWT_HACK \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/opengl \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/x11 \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/xawt \
+
+LIBAWT_XAWT_CFLAGS:=-DXAWT -DXAWT_HACK \
         -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
 	$(CUPS_CFLAGS) \
 	$(foreach dir,$(LIBAWT_XAWT_DIRS),-I$(dir)) \
 	-I$(JDK_TOPDIR)/src/share/native/sun/java2d \
-	-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d \
+	-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d \
 	-I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
 	-I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
 	-I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
 	-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
 	-I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
-	-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/jdga
-
-ifeq ($(PLATFORM),solaris)
+	-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/jdga
+
+ifeq ($(OPENJDK_TARGET_OS),solaris)
 	LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
 endif
 
@@ -1834,7 +756,7 @@
 	LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
 endif
 
-LIBAWT_XAWT_FILES := \
+LIBAWT_XAWT_FILES:=\
 	XlibWrapper.c \
 	XWindow.c \
 	XToolkit.c \
@@ -1891,40 +813,1505 @@
 	XRSurfaceData.c \
 	XRBackendNative.c
 
-LIBAWT_XAWT_LDFLAGS_SUFFIX := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi  -ljava -lverify -ljvm -lc
-
-ifeq ($(PLATFORM), linux)
+LIBAWT_XAWT_LDFLAGS_SUFFIX:=$(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi  -ljava -ljvm -lc
+
+ifeq ($(OPENJDK_TARGET_OS), linux)
 	LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
 endif
 
-ifeq ($(PLATFORM), macosx)
+ifeq ($(OPENJDK_TARGET_OS), macosx)
 	LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
 endif
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT,\
+		LIBRARY:=awt_xawt,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(LIBAWT_XAWT_DIRS),\
-		INCLUDE_FILES := $(LIBAWT_XAWT_FILES),\
+		INCLUDE_FILES:=$(LIBAWT_XAWT_FILES),\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) $(LIBAWT_XAWT_CFLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
                         $(X_CFLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN) \
 			 $(X_LIBS),\
-		LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -L$(OPENWIN_LIB)$(ISA_DIR) \
-				 -R$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -R$(OPENWIN_LIB)$(ISA_DIR) \
+		LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -L$(OPENWIN_HOME)/lib$(ISA_DIR) \
+				 -R$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -R$(OPENWIN_HOME)/lib$(ISA_DIR) \
 				 -R/usr/dt/lib$(ISA_DIR),\
-		LDFLAGS_SUFFIX := $(LIBAWT_XAWT_LDFLAGS_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libawt_xawt,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX) : \
-	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX) : \
-	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS_SUFFIX:=$(LIBAWT_XAWT_LDFLAGS_SUFFIX),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_xawt))
+
+$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBJAVA)
+
+$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBAWT)
+
+BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT)
+
+endif
+endif
+
+##########################################################################################
+
+BUILD_LIBZIP_FILES:=\
+        CRC32.c \
+	Adler32.c \
+	Deflater.c \
+	Inflater.c \
+	ZipFile.c \
+	zip_util.c
+
+ifeq ($(USE_EXTERNAL_LIBZ),true)
+	LIBZ:=-lz
+else
+BUILD_LIBZIP_FILES += \
+	compress.c \
+	deflate.c \
+	gzclose.c \
+	gzlib.c \
+	gzread.c \
+	gzwrite.c \
+	infback.c \
+	inffast.c \
+	inflate.c \
+	inftrees.c \
+	trees.c \
+	uncompr.c \
+	zadler32.c \
+	zcrc32.c \
+	zutil.c
+LIBZ_INCLUDE:=-I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
+endif
+
+BUILD_LIBZIP_REORDER:=
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+    ifneq ($(ARCH), amd64)
+        BUILD_LIBZIP_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(ARCH)
+    endif
+endif
+
+ifeq ($(LIBZIP_CAN_USE_MMAP), true)
+     BUILD_LIBZIP_MMAP:=-DUSE_MMAP
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\
+                LIBRARY:=zip,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip \
+                     $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5,\
+		INCLUDE_FILES:=$(BUILD_LIBZIP_FILES), \
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                        $(LIBZ_INCLUDE) \
+		        -I$(JDK_TOPDIR)/src/share/native/java/io \
+                        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/io,\
+		CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
+		REORDER:=$(BUILD_LIBZIP_REORDER), \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(EXPORT_ZIP_FUNCS), \
+		LDFLAGS_winapi:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
+                                -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
+                                $(WIN_JAVA_LIB),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBZ),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip))
+
+$(BUILD_LIBZIP) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBZIP)
+
+##########################################################################################
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
+		LIBRARY:=unpack, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
+		EXCLUDE_FILES:=main.cpp,\
+		LANG:=C++,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CXXFLAGS_JDKLIB) \
+			 -DNO_ZLIB -DUNPACK_JNI -DFULL,\
+		CFLAGS_release:=-DPRODUCT,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB)\
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_winapi:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map /debug \
+				jvm.lib $(WIN_JAVA_LIB),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		LDFLAGS_SUFFIX_posix:=$(LIBCXX),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libunpack,\
+		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
+		RC_FLAGS:=$(RC_FLAGS)\
+			  /D "JDK_FNAME=unpack.dll" \
+			  /D "JDK_INTERNAL_NAME=unpack" \
+			  /D "JDK_FTYPE=0x2L"))
+
+$(BUILD_LIBUNPACK) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBUNPACK)
+
+ifeq ($(OPENJDK_TARGET_OS_API),winapi)
+    $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK)
+	$(ECHO) Copying $(@F)
+	$(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
+
+    $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK)
+	$(ECHO) Copying $(@F)
+	$(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
+endif
+
+##########################################################################################
+
+LIBATTACH_EXCLUDE_FILES:=
+ifneq ($(OPENJDK_TARGET_OS),solaris)
+    LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c
+endif
+ifneq ($(OPENJDK_TARGET_OS),linux)
+    LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c
+endif
+ifneq ($(OPENJDK_TARGET_OS),macosx)
+    LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\
+		LIBRARY:=attach, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/tools/attach,\
+		EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_solaris:=-ldoor,\
+		LDFLAGS_winapi:=psapi.lib advapi32.lib $(WIN_JAVA_LIB) jvm.lib,\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libattach,\
+		DEBUG_SYMBOLS:=true))
+
+$(BUILD_LIBATTACH) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBATTACH)
+
+##########################################################################################
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\
+		LIBRARY:=dt_socket,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/transport/socket \
+			$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/transport/socket,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP \
+                        -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
+                        -I$(JDK_TOPDIR)/src/share/transport/socket \
+		        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/transport/socket \
+                        -I$(JDK_TOPDIR)/src/share/back/export \
+                        -I$(JDK_TOPDIR)/src/share/back,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB), \
+		LDFLAGS_SUFFIX_linux:=$(LDFLAGS_JDKLIB_SUFFIX) -lpthread,\
+		LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket,\
+		LDFLAGS_SUFFIX_winapi:=$(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib,\
+		LDFLAGS_SUFFIX:=,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\
+		DEBUG_SYMBOLS:=true))
+
+$(BUILD_LIBDT_SOCKET) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET)
+
+##########################################################################################
+
+ifeq ($(OPENJDK_TARGET_OS_API),winapi)
+
+  $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\
+		LIBRARY:=dt_shmem,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
+			$(JDK_TOPDIR)/src/share/transport/shmem \
+			$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/transport/shmem,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP\
+                        -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
+                        -I$(JDK_TOPDIR)/src/share/transport/shmem \
+		        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/transport/shmem \
+                        -I$(JDK_TOPDIR)/src/share/back/export, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB),\
+		LDFLAGS_winapi:=-export:jdwpTransport_OnLoad,\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_shmem))
+
+  BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM)
+
+endif # OPENJDK_TARGET_OS
+
+##########################################################################################
+# JDWP_LOGGING causes log messages to be compiled into the library. These reference the 
+# __FILE__ macro which here expands to the absolute path of the file while the old build 
+# system used a relative path. This causes the binaries to differ in size.
+$(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\
+		LIBRARY:=jdwp, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/back,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING\
+		 -I$(JDK_TOPDIR)/src/share/transport/export \
+                 -I$(JDK_TOPDIR)/src/share/back/export \
+                 -I$(JDK_TOPDIR)/src/share/npt \
+                 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/npt \
+                 -I$(JDK_TOPDIR)/src/share/back \
+                 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/back \
+		 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
+		LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)), \
+		LDFLAGS_SUFFIX_linux:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
+		LDFLAGS_SUFFIX_solaris:=$(LIBDL),\
+		LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		LDFLAGS_SUFFIX:=,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjdwp))
+
+$(BUILD_LIBJDWP) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJDWP)
+
+##########################################################################################
+
+LIBJAAS_MAPFILE:=
+ifneq ($(OPENJDK_TARGET_OS),solaris)
+   LIBJAAS_EXCLUDE_FILES:=Solaris.c
+else
+   # only on solaris...wonder why
+   LIBJAAS_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
+endif
+
+LIBJAAS_NAME:=jaas_unix
+ifeq ($(OPENJDK_TARGET_OS), windows)
+     LIBJAAS_NAME:=jaas_nt
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\
+		LIBRARY:=$(LIBJAAS_NAME),\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/com/sun/security/auth/module,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB),\
+		MAPFILE:=$(LIBJAAS_MAPFILE),\
+		LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_winapi:=netapi32.lib user32.lib mpr.lib advapi32.lib,\
+		LDFLAGS_SUFFIX_linux:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		LDFLAGS_SUFFIX:=,\
+		EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjaas))
+
+$(BUILD_LIBJAAS) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJAAS)
+
+##########################################################################################
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\
+		LIBRARY:=jsdt,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\
+			$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/tracing/dtrace,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB)\
+			-I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX_linux:=$(LDFLAGS_JDKLIB_SUFFIX)  $(LIBDL),\
+		LDFLAGS_SUFFIX_winapi:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
+		LDFLAGS_SUFFIX_macosx:=                         $(LIBDL),\
+		LDFLAGS_SUFFIX:=,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsdt, \
+                DEBUG_SYMBOLS:= yes))
+
+$(BUILD_LIBJSDT) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJSDT)
+
+##########################################################################################
+
+ifdef OPENJDK
+    # TODO: Update awt lib path when awt is converted
+    $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
+                LIBRARY:=lcms,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms \
+		     $(JDK_TOPDIR)/src/share/native/sun/java2d/,\
+		INCLUDE_FILES:=cmscam02.c cmscgats.c cmscnvrt.c cmserr.c \
+			       cmsgamma.c cmsgmt.c cmsintrp.c cmsio0.c \
+			       cmsio1.c cmslut.c cmsmd5.c cmsmtrx.c \
+			       cmsnamed.c cmsopt.c cmspack.c cmspcs.c \
+			       cmsplugin.c cmsps2.c cmssamp.c cmssm.c \
+			       cmstypes.c cmsvirt.c cmswtpnt.c cmsxform.c \
+			       LCMS.c,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \
+			$(SHARED_LIBRARY_FLAGS) \
+			-I$(JDK_TOPDIR)/src/share/native/sun/java2d \
+			-I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
+		CFLAGS_solaris:=-xc99=no_lib,\
+		CFLAGS_winapi:=-DCMS_IS_WINDOWS_,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB), \
+		LDFLAGS_solaris:=/usr/lib$(ISA_DIR)/libm.so.2,\
+		LDFLAGS_winapi:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		LDFLAGS_SUFFIX_posix:=-lawt,\
+		LDFLAGS_SUFFIX_linux:=-lm,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms))
+
+    BUILD_LIBRARIES += $(BUILD_LIBLCMS)
+
+    $(BUILD_LIBLCMS) : $(BUILD_LIBAWT)
+endif
+
+##########################################################################################
+
+ifdef OPENJDK
+    BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
+else
+    BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
+    BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
+    BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC)
+endif
+
+BUILD_LIBJPEG_REORDER:=
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+    ifneq ($(ARCH), amd64)
+        BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(ARCH)
+    endif
+endif
+
+# Suppress gcc warnings like "variable might be clobbered by 'longjmp'
+# or 'vfork'": this warning indicates that some variable is placed to
+# a register by optimized compiler and it's value might be lost on longjmp().
+# Recommended way to avoid such warning is to declare the variable as
+# volatile to prevent the optimization. However, this approach does not
+# work because we have to declare all variables as volatile in result.
+#ifndef CROSS_COMPILE_ARCH
+#    CC_43_OR_NEWER:=\
+#        $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
+#              \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
+#    ifeq ($(CC_43_OR_NEWER),1)
+#        BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
+#    endif
+#endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\
+                LIBRARY:=jpeg, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
+		     $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
+		LANG:=C,\
+		OPTIMIZATION:=HIGHEST, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+			$(BUILD_LIBJPEG_CLOSED_INCLUDES) \
+			-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
+		MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_linux:=$(LIBDL),\
+		LDFLAGS_winapi:=$(WIN_JAVA_LIB) jvm.lib,\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		REORDER:=$(BUILD_LIBJPEG_REORDER),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg))
+
+$(BUILD_LIBJPEG) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJPEG)
+
+##########################################################################################
+
+ifndef OPENJDK
+    FONT_HEADERS:=-I$(CLOSED_SRC)/share/native/$(PKGDIR)/t2k
+    BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers
+    LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
+else
+    FONT_HEADERS:=$(FREETYPE2_CFLAGS)
+    BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
+    BUILD_LIBFONTMANAGER_FONTLIB:=$(FREETYPE2_LIBS)
+endif
+
+LIBFONTMANAGER_OPTIMIZATION:=HIGH
+
+ifeq ($(OPENJDK_TARGET_OS),windows)
+    LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
+				    X11TextRenderer.c
+    LIBFONTMANAGER_OPTIMIZATION:=LOW
+else
+    LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
+				    lcdglyph.c
+endif
+
+BUILD_LIBFONTMANAGER_CFLAGS_COMMON:=\
+			$(X_CFLAGS) \
+			-DLE_STANDALONE -DHEADLESS \
+			$(FONT_HEADERS) \
+			-I$(JDK_TOPDIR)/src/share/native/sun/font \
+			-I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
+			-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
+			-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt \
+			-I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
+			-I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
+			-I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
+			-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d \
+			-I$(JDK_TOPDIR)/src/share/native/sun/java2d
+
+# Turn off aliasing with GCC for ExtensionSubtables.cpp
+ifeq ($(OPENJDK_TARGET_OS), linux)
+    BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS:=-fno-strict-aliasing
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
+		LIBRARY:=fontmanager, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
+		     $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/font,\
+		EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
+			       AccelGlyphCache.c,\
+		LANG:=C++,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
+		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
+		OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \
+		CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/windows \
+				-DCC_NOEX, \
+		MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \
+		LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_windows:=advapi32.lib user32.lib gdi32.lib $(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) \
+				$(BUILD_LIBFONTMANAGER_FONTLIB),\
+		LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX),\
+		LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX),\
+		LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager))
+
+$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT)
+
+ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx))
+$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT)
+endif
+
+BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
+
+##########################################################################################
+
+ifndef OPENJDK
+
+#    ifeq ($(OPENJDK_TARGET_OS), linux)
+#        ifeq ("$(CC_VER_MAJOR)", "3")
+#            OTHER_LDLIBS  += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
+#        endif                           
+#    endif
+#
+# The resulting size of the t2k lib file is (at least on linux) dependant on the order of 
+# the input .o files. Because of this the new build will differ in size to the old build.
+    BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
+		            -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
+		            -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
+		            -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
+		            -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/font \
+		            -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
+		            -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
+		            -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d \
+		            -I$(JDK_TOPDIR)/src/share/native/sun/java2d
+
+    $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\
+                LIBRARY:=t2k, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \
+		     $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
+		     $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\
+		EXCLUDE_FILES:=orion.c,\
+		LANG:=C++,\
+		OPTIMIZATION:=HIGH, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
+		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
+		CFLAGS_windows=-DCC_NOEX, \
+		CXXFLAGS_windows=-DCC_NOEX, \
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib,\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		LDFLAGS_SUFFIX_macosx:=$(LIBCXX) $(LIBM) -lfontmanager,\
+		LDFLAGS_SUFFIX_linux:=$(LIBCXX) $(LIBM) -lfontmanager,\
+		LDFLAGS_SUFFIX_solaris:=$(LIBCXX) $(LIBM) -lfontmanager -lawt \
+					-lawt_xawt,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libt2k))
+
+    # t2k is linked against fontmanager
+    $(BUILD_LIBT2K) : $(BUILD_LIBFONTMANAGER)
+
+    BUILD_LIBRARIES += $(BUILD_LIBT2K)
+endif
+
+##########################################################################################
+
+#
+# TODO replace with X_FLAGS / X_LIBS
+#   and add them to configure
+#
+OPENWIN_LIB:=$(OPENWIN_HOME)/lib
+
+ifeq ($(OPENJDK_TARGET_OS), windows)
+    ifeq ($(ARCH_DATA_MODEL), 32)
+        KERNEL32_LIB:=kernel32.lib
+    endif
+    $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
+                LIBRARY:=jawt, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/windows,\
+		INCLUDE_FILES:=jawt.cpp,\
+		LANG:=C++,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CXXFLAGS_JDKLIB) \
+			-EHsc -DUNICODE -D_UNICODE \
+			-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/windows \
+		        -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
+		        -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
+			-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
+			-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/windows, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) \
+			 advapi32.lib $(WIN_AWT_LIB),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt))
+
+$(BUILD_LIBJAWT) : $(BUILD_LIBAWT)
+
+$(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
+	$(ECHO) Copying $(@F)
+	$(CP) $< $@
+
+BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
+
+else # OPENJDK_TARGET_OS not windows
+
+    JAWT_LIBS:=
+    ifneq ($(OPENJDK_TARGET_OS), solaris)
+        JAWT_LIBS += -lawt
+    endif
+
+    ifndef BUILD_HEADLESS_ONLY
+        JAWT_LIBS += -lawt_xawt
+    else
+        JAWT_LIBS += -lawt_headless
+        HEADLESS_CFLAG += -DHEADLESS
+    endif
+
+    JAWT_FILES:=jawt.c
+    ifeq ($(OPENJDK_TARGET_OS), macosx)
+	JAWT_FILES:=jawt.m
+	JAWT_LIBS:=-lawt_lwawt
+    endif
+
+    $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
+                LIBRARY:=jawt, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt \
+                     $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
+		INCLUDE_FILES:=$(JAWT_FILES),\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB), \
+		CFLAGS_linux:=$(HEADLESS_CFLAG),\
+		CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -L$(OPENWIN_LIB)$(ISA_DIR),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(JAWT_LIBS),\
+		LDFLAGS_SUFFIX_solaris:=-lXrender,\
+		LDFLAGS_SUFFIX_macosx:=-framework Cocoa, \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt))
+
+ifndef BUILD_HEADLESS_ONLY
+$(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT)
+else
+$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
+endif
+
+ifeq ($(OPENJDK_TARGET_OS),macosx)
+$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
+endif
+
+endif # OPENJDK_TARGET_OS
+
+BUILD_LIBRARIES += $(BUILD_LIBJAWT)
+
+##########################################################################################
+
+ifndef OPENJDK
+ifneq ($(OPENJDK_TARGET_OS), macosx)
+
+LIBJDBCODBC_DIR   :=$(JDK_OUTPUTDIR)/objs/libjdbcodbc
+LIBJDBCODBC_NAME  :=$(LIBRARY_PREFIX)JdbcOdbc$(SHARED_LIBRARY_SUFFIX)
+LIBJDBCODBC_CFLAGS:=
+LIBJDBCODBC_LIBS   :=
+LIBJDBCODBC_LDFLAGS:=
+
+ifeq ($(OPENJDK_TARGET_OS), windows)
+	LIBJDBCODBC_LDFLAGS:=$(LDFLAGS_JDKLIB)
+	LIBJDBCODBC_LIBS += odbc32.lib odbccp32.lib $(WIN_JAVA_LIB) advapi32.lib
+else
+	LIBJDBCODBC_CFLAGS:=-DUNIX
+
+#
+# This mimics "current" build system exactly. Link against fake -lodbcinst -lodbc
+#   but...those are linked with the -soname, causing the dependency to be dropped on linux (gnu ld)
+#   but kept with other linker (solaris)
+#
+# IMO very weird behaviour...very weird
+#
+	LIBJDBCODBC_LDFLAGS:=$(patsubst defs,nodefs,$(LDFLAGS_JDKLIB)) \
+				      -Xlinker -z -Xlinker nodefs
+	LIBJDBCODBC_LIBS += -L$(LIBJDBCODBC_DIR) -lodbcinst -lodbc
+	LIBJDBCODBC_SONAME:=$(call SET_SHARED_LIBRARY_NAME,$(LIBJDBCODBC_NAME))
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJDBCODBC,\
+		LIBRARY:=JdbcOdbc,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(JDK_TOPDIR)/src/closed/share/classes/sun/jdbc/odbc,\
+		EXCLUDE_FILES:=dummyodbc.c,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(LIBJDBCODBC_CFLAGS) $(CFLAGS_JDKLIB) \
+			$(SHARED_LIBRARY_FLAGS),\
+		LDFLAGS:=$(LIBJDBCODBC_LDFLAGS) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN) $(LIBJDBCODBC_LIBS),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBJDBCODBC_SONAME),\
+		OBJECT_DIR:=$(LIBJDBCODBC_DIR)))
+
+$(BUILD_LIBJDBCODBC) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJDBCODBC)
+
+ifneq ($(OPENJDK_TARGET_OS), windows)
+
+$(eval $(call SetupNativeCompilation,BUILD_FAKEODBCINST,\
+		LIBRARY:=odbcinst,\
+                OUTPUT_DIR:=$(LIBJDBCODBC_DIR),\
+		SRC:=$(JDK_OUTPUTDIR)/gensrc_c/libjdbcodbc,\
+		INCLUDE_FILES:=dummyodbc1.c,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB),\
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN) $(LIBJDBCODBC_LDFLAGS),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBJDBCODBC_SONAME),\
+		OBJECT_DIR:=$(LIBJDBCODBC_DIR)))
+
+$(eval $(call SetupNativeCompilation,BUILD_FAKEODBC,\
+		LIBRARY:=odbc,\
+                OUTPUT_DIR:=$(LIBJDBCODBC_DIR),\
+		SRC:=$(JDK_OUTPUTDIR)/gensrc_c/libjdbcodbc,\
+		INCLUDE_FILES:=dummyodbc2.c,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(LIBJDBCODBC_CFLAGS) $(CFLAGS_JDKLIB),\
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN) $(LIBJDBCODBC_LDFLAGS),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBJDBCODBC_SONAME),\
+		OBJECT_DIR:=$(LIBJDBCODBC_DIR)))
+
+$(BUILD_FAKEODBCINST) $(BUILD_FAKEODBC) : \
+  $(BUILD_LIBJAVA)
+
+$(BUILD_LIBJDBCODBC) : $(BUILD_FAKEODBCINST) $(BUILD_FAKEODBC)
+
+endif
+
+endif
+endif
+
+##########################################################################################
+
+BUILD_LIBINSTRUMENT_SRC   :=$(JDK_TOPDIR)/src/share/instrument \
+                               $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/io \
+                               $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/instrument
+
+BUILD_LIBINSTRUMENT_FILES :=\
+	EncodingSupport.c \
+	EncodingSupport_md.c \
+	FileSystemSupport_md.c \
+	InstrumentationImplNativeMethods.c \
+	InvocationAdapter.c \
+	JarFacade.c \
+	JPLISAgent.c \
+	JPLISAssert.c \
+	JavaExceptions.c \
+	PathCharsValidator.c \
+	Reentrancy.c \
+	Utilities.c \
+	canonicalize_md.c
+
+BUILD_LIBINSTRUMENT_DIR   :=$(JDK_OUTPUTDIR)/objs/libinstrument
+BUILD_LIBINSTRUMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/instrument \
+                               -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/instrument \
+                               -I$(JDK_TOPDIR)/src/share/bin
+
+BUILD_LIBINSTRUMENT_LDFLAGS:=
+BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX:=
+
+ifeq ($(OPENJDK_TARGET_OS), windows)
+  BUILD_LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
+				 -export:Agent_OnAttach
+  # equivalent of strcasecmp is stricmp on Windows
+  BUILD_LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
+else ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx))
+	ifneq ($(ARCH), universal)
+		BUILD_LIBINSTRUMENT_LDFLAGS += -Wl,-all_load
+	endif
+
+	BUILD_LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/libjli_static.a
+	BUILD_LIBINSTRUMENT_LDFLAGS += -liconv
+	BUILD_LIBINSTRUMENT_LDFLAGS += -framework Cocoa -framework Security -framework ApplicationServices
+	BUILD_LIBINSTRUMENT_LDFLAGS += $(LIBZ)
+else
+	BUILD_LIBINSTRUMENT_LDFLAGS += -L $(INSTALL_LIBRARIES_HERE)/jli
+	BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX += -ljli $(LIBDL)
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\
+		LIBRARY:=instrument, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(BUILD_LIBINSTRUMENT_SRC),\
+		INCLUDE_FILES:=$(BUILD_LIBINSTRUMENT_FILES),\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                        $(BUILD_LIBINSTRUMENT_CFLAGS),\
+		CFLAGS_debug:=-DJPLIS_LOGGING,\
+		CFLAGS_release:=-DNO_JPLIS_LOGGING,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN)\
+			 $(call SET_SHARED_LIBRARY_ORIGIN,jli) \
+                         $(BUILD_LIBINSTRUMENT_LDFLAGS),\
+		LDFLAGS_SUFFIX:=$(LIBZ) $(BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX),\
+		OBJECT_DIR:=$(BUILD_LIBINSTRUMENT_DIR),\
+		DEBUG_SYMBOLS:=true))
+
+ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows))
+$(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
+else
+$(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
+endif
+$(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
+
+##########################################################################################
+
+BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \
+                           $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/management \
+                           $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/com/sun/management
+
+BUILD_LIBMANAGEMENT_EXCLUDES:=
+
+BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management
+
+ifneq ($(OPENJDK_TARGET_OS), windows)
+	BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
+else
+	BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
+endif
+
+ifneq ($(OPENJDK_TARGET_OS),solaris)
+	BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
+endif
+
+ifneq ($(OPENJDK_TARGET_OS),linux)
+	BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
+endif
+
+ifneq ($(OPENJDK_TARGET_OS),macosx)
+	BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
+endif
+
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
+		LIBRARY:=management,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
+		EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
+		LANG:=C,\
+		OPTIMIZATION:=HIGH, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib advapi32.lib psapi.lib,\
+		LDFLAGS_solaris:=-lkstat,\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
+		DEBUG_SYMBOLS:=true))
+
+$(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
+
+##########################################################################################
+
+BUILD_LIBHPROF_SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/demo/jvmti/hprof
+BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
+                         -I$(JDK_TOPDIR)/src/share/npt \
+                         -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/npt \
+                         -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
+
+BUILD_LIBHPROF_LDFLAGS:=
+
+ifeq ($(OPENJDK_TARGET_OS),solaris)
+     BUILD_LIBHPROF_LDFLAGS += -lsocket -lnsl
+endif
+
+ifneq ($(OPENJDK_TARGET_OS),windows)
+     BUILD_LIBHPROF_LDFLAGS += $(LIBDL)
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\
+		LIBRARY:=hprof, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(BUILD_LIBHPROF_SRC),\
+		LANG:=C,\
+		OPTIMIZATION:=HIGHEST, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                         $(BUILD_LIBHPROF_CFLAGS),\
+		CFLAGS_debug:=-DHPROF_LOGGING,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\
+		LDFLAGS_SUFFIX:=$(BUILD_LIBHPROF_LDFLAGS),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libhprof_jvmti,\
+		DEBUG_SYMBOLS:=true))
+
+BUILD_LIBRARIES += $(BUILD_LIBHPROF)
+
+##########################################################################################
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\
+		LIBRARY:=java_crw_demo, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                        -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX:=,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\
+		DEBUG_SYMBOLS:=true))
+
+BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
+
+##########################################################################################
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\
+		LIBRARY:=npt, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/npt,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                        -I$(JDK_TOPDIR)/src/share/npt \
+                        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/npt,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_macosx:=-liconv,\
+		LDFLAGS_SUFFIX_windows:=-export:nptInitialize -export:nptTerminate,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnpt,\
+		DEBUG_SYMBOLS:=true))
+
+BUILD_LIBRARIES += $(BUILD_LIBNPT)
+
+##########################################################################################
+
+LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \
+                   $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/net \
+                   $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/net/dns \
+                   $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/net/www/protocol/http/ntlm \
+                   $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/net/sdp \
+                   $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/net/spi
+
+LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
+
+LIBNET_EXCLUDE_FILES:=
+ifneq ($(OPENJDK_TARGET_OS),linux)
+	LIBNET_EXCLUDE_FILES += linux_close.c
+endif
+
+ifneq ($(OPENJDK_TARGET_OS),macosx)
+	LIBNET_EXCLUDE_FILES += bsd_close.c
+endif
+
+ifeq ($(OPENJDK_TARGET_OS),windows)
+	LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
+else
+	LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
+                                TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
+				NTLMAuthSequence.c NetworkInterface_winXP.c
+endif
+
+LIBNET_LDFLAGS_SUFFIX:=
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
+		LIBRARY:=net,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(LIBNET_SRC_DIRS),\
+		EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                        $(LIBNET_CFLAGS),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBNET_LDFLAGS_SUFFIX),\
+		LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket $(LIBDL) ,\
+		LDFLAGS_SUFFIX_linux:=$(LIBDL) -lpthread ,\
+		LDFLAGS_SUFFIX_windows:=ws2_32.lib $(JVMLIB) secur32.lib iphlpapi.lib \
+					  delayimp.lib $(WIN_JAVA_LIB) jvm.lib advapi32.lib \
+                                          /DELAYLOAD:secur32.dll /DELAYLOAD:iphlpapi.dll, \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet))
+
+$(BUILD_LIBNET) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBNET)
+
+$(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
+	$(ECHO) Copying $(@F)
+	$(MKDIR) -p $(@D)
+	$(CP) $< $@
+
+COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
+
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+$(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template : $(JDK_TOPDIR)/src/${LEGACY_OPENJDK_TARGET_OS_API}/lib/sdp/sdp.conf.template
+	$(ECHO) Copying $(@F)
+	$(MKDIR) -p $(@D)
+	$(CP) $< $@
+
+COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
+endif
+
+##########################################################################################
+
+BUILD_LIBNIO_SRC:=\
+        $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/nio \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/nio/ch \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/nio/fs
+
+BUILD_LIBNIO_CFLAGS:=\
+	-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
+	-I$(JDK_TOPDIR)/src/share/native/java/io \
+	-I$(JDK_TOPDIR)/src/share/native/java/net \
+        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/net
+
+BUILD_LIBNIO_FILES:=\
+        DatagramChannelImpl.c \
+        DatagramDispatcher.c \
+	FileChannelImpl.c \
+	FileDispatcherImpl.c \
+	FileKey.c \
+	IOUtil.c \
+        MappedByteBuffer.c \
+	Net.c \
+	ServerSocketChannelImpl.c \
+	SocketChannelImpl.c \
+	SocketDispatcher.c
+
+ifeq ($(OPENJDK_TARGET_OS), windows)
+	BUILD_LIBNIO_FILES += \
+		Iocp.c \
+		RegistryFileTypeDetector.c \
+		WindowsAsynchronousFileChannelImpl.c \
+		WindowsAsynchronousServerSocketChannelImpl.c \
+		WindowsAsynchronousSocketChannelImpl.c \
+		WindowsNativeDispatcher.c \
+	        WindowsSelectorImpl.c
+endif
+
+ifeq ($(OPENJDK_TARGET_OS), linux)
+	BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-linux
+	BUILD_LIBNIO_FILES += \
+		EPoll.c \
+		EPollArrayWrapper.c \
+		EPollPort.c \
+		InheritedChannel.c \
+		NativeThread.c \
+	        PollArrayWrapper.c \
+		UnixAsynchronousServerSocketChannelImpl.c \
+		UnixAsynchronousSocketChannelImpl.c \
+		GnomeFileTypeDetector.c \
+		LinuxNativeDispatcher.c \
+		LinuxWatchService.c \
+		UnixCopyFile.c \
+		UnixNativeDispatcher.c
+endif
+
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+	BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-bsd
+	BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
+	BUILD_LIBNIO_FILES += \
+		InheritedChannel.c \
+		NativeThread.c \
+	        PollArrayWrapper.c \
+		UnixAsynchronousServerSocketChannelImpl.c \
+		UnixAsynchronousSocketChannelImpl.c \
+		GnomeFileTypeDetector.c \
+		BsdNativeDispatcher.c \
+		UnixCopyFile.c \
+		UnixNativeDispatcher.c \
+		KQueue.c \
+		KQueuePort.c \
+		KQueueArrayWrapper.c
+endif
+
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+	BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-solaris
+	BUILD_LIBNIO_FILES += \
+		DevPollArrayWrapper.c \
+		InheritedChannel.c \
+		NativeThread.c \
+		PollArrayWrapper.c \
+		SolarisEventPort.c \
+		UnixAsynchronousServerSocketChannelImpl.c \
+		UnixAsynchronousSocketChannelImpl.c \
+		GnomeFileTypeDetector.c \
+		SolarisNativeDispatcher.c \
+		SolarisWatchService.c \
+		UnixCopyFile.c \
+		UnixNativeDispatcher.c
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
+		LIBRARY:=nio,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(BUILD_LIBNIO_SRC),\
+		INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \
+		LANG:=C,\
+		OPTIMIZATION:=HIGH, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                        $(BUILD_LIBNIO_CFLAGS),\
+		MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\
+		LDFLAGS_SUFFIX_solaris:=$(LDFLAGS_JDKLIB_SUFFIX) \
+                                        $(JVMLIB) -lsocket -lposix4 $(LIBDL) -lsendfile \
+		                        -ljava -lnet,\
+		LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) \
+                                        $(WIN_JAVA_LIB) $(JDK_OUTPUTDIR)/objs/libnet/net.lib \
+					advapi32.lib jvm.lib ws2_32.lib\
+                                        $(JDK_OUTPUTDIR)/objs/libjava/io_util.obj \
+		                        $(JDK_OUTPUTDIR)/objs/libjava/FileDescriptor_md.obj ,\
+		LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread,\
+		LDFLAGS_SUFFIX:=,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio))
+
+BUILD_LIBRARIES += $(BUILD_LIBNIO)
+
+$(BUILD_LIBNIO) : $(BUILD_LIBNET)
+
+##########################################################################################
+
+ifeq ($(OPENJDK_TARGET_OS_API),posix)
+  # TODO make this work on macosx
+  ifneq ($(OPENJDK_TARGET_OS),macosx)
+
+    SCTP_WERROR := -Werror
+    ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
+      SCTP_WERROR :=
+    endif
+
+    $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
+                LIBRARY:=sctp,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/nio/ch/sctp,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB)\
+			-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
+			-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
+			-I$(JDK_TOPDIR)/src/share/native/java/net \
+			-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/nio/ch \
+			-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/net,\
+		CFLAGS_linux:=$(SCTP_WERROR),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX_linux:=$(LIBDL) -lpthread,\
+		LDFLAGS_SUFFIX_posix:=-lnio -lnet,\
+		LDFLAGS_SUFFIX_solaris:=-lsocket,\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		INCLUDE_FILES:=SctpNet.c SctpChannelImpl.c SctpServerChannelImpl.c,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsctp))
+
+    BUILD_LIBRARIES += $(BUILD_LIBSCTP)
+
+    $(BUILD_LIBSCTP) : $(BUILD_LIBNIO)
+  endif
+endif
+
+##########################################################################################
+
+BUILD_LIBJLI_SRC_DIRS:=$(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/bin
+BUILD_LIBJLI_CFLAGS:=$(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir))
+
+BUILD_LIBJLI_FILES:=\
+	java.c \
+	splashscreen_stubs.c \
+	parse_manifest.c \
+	version_comp.c \
+	wildcard.c \
+	jli_util.c
+
+ifeq ($(JVM_VARIANT_ZERO), true)
+	ERGO_FAMILY:=zero
+else # !ZERO_BUILD
+	ifneq (,$(findstring $(ARCH), amd64 x86_64))
+		ERGO_FAMILY:=i586
+	else # !X86 FAMILY
+		ERGO_FAMILY:=$(ARCH)
+	endif #ARCH_FAMILY
+endif # ZERO_BUILD
+
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+	BUILD_LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
+	BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
+	BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
+
+	BUILD_LIBJLI_java_md_macosx.c_CFLAGS:=-x objective-c
+	BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS:=-x objective-c
+endif
+
+ifeq ($(OPENJDK_TARGET_OS), windows)
+	BUILD_LIBJLI_FILES += java_md.c
+else ifneq ($(OPENJDK_TARGET_OS), macosx)
+
+	BUILD_LIBJLI_FILES += java_md_common.c
+	BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c 
+
+	ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
+
+        # if the architecture specific ergo file exists then
+        # use it, else use the generic definitions from ergo.c
+	ifneq ($(wildcard $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/bin/$(ERGO_ARCH_FILE)),)
+		BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
+	else # !ERGO_ARCH_FILE
+		BUILD_LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
+	endif # ERGO_ARCH_FILE
+endif #WINDOWS
+
+# Names of arch directories
+ifneq ($(OPENJDK_TARGET_OS), macosx)
+	BUILD_LIBJLI_CFLAGS += -DLIBARCHNAME='"$(LIBARCH)"'
+else
+	BUILD_LIBJLI_CFLAGS += -DLIBARCHNAME='"$(ARCH)"'
+endif
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+	ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
+		BUILD_LIBJLI_CFLAGS += -DLIBARCH32NAME='"sparc"'
+		BUILD_LIBJLI_CFLAGS += -DLIBARCH64NAME='"sparcv9"'
+	else
+		BUILD_LIBJLI_CFLAGS += -DLIBARCH32NAME='"i386"'
+		BUILD_LIBJLI_CFLAGS += -DLIBARCH64NAME='"amd64"'
+	endif
+endif # OPENJDK_TARGET_OS
+
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+	BUILD_LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
+endif
+
+ifneq ($(USE_EXTERNAL_LIBZ),true)
+	BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
+	BUILD_LIBJLI_CFLAGS += $(LIBZ_INCLUDE)
+	BUILD_LIBJLI_FILES += \
+		inflate.c \
+		inftrees.c \
+		inffast.c \
+		zadler32.c \
+		zcrc32.c \
+		zutil.c
+endif
+
+ifeq ($(OPENJDK_TARGET_OS), windows)
+    LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)
+else
+    LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
+		LIBRARY:=jli,\
+                OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\
+		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
+		INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
+		LANG:=C,\
+		OPTIMIZATION:=HIGH, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBJLI_CFLAGS),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX:=$(LIBZ),\
+		LDFLAGS_SUFFIX_posix:=$(LIBDL) -lc,\
+		LDFLAGS_SUFFIX_linux:=-lpthread,\
+		LDFLAGS_SUFFIX_windows:=\
+			-export:JLI_Launch \
+			-export:JLI_ManifestIterate \
+			-export:JLI_SetTraceLauncher \
+			-export:JLI_ReportErrorMessage \
+			-export:JLI_ReportErrorMessageSys \
+			-export:JLI_ReportMessage \
+			-export:JLI_ReportExceptionDescription \
+			advapi32.lib \
+			comctl32.lib \
+			user32.lib,\
+		LDFLAGS_SUFFIX_macosx:=-framework Cocoa -framework Security -framework ApplicationServices, \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli))
+
+BUILD_LIBRARIES += $(BUILD_LIBJLI)
+
+# On windows, the static library has the same suffix as the import library created by
+# with the shared library, so the static library is given a different name. No harm
+# in doing it for all platform to reduce complexity.
+ifeq ($(OPENJDK_TARGET_OS), windows)
+    $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
+		STATIC_LIBRARY:=jli_static,\
+                OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
+		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
+		INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
+		LANG:=C,\
+		OPTIMIZATION:=HIGH, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(STATIC_LIBRARY_FLAGS) $(BUILD_LIBJLI_CFLAGS),\
+		ARFLAGS:=$(ARFLAGS),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
+
+BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
+
+else ifeq ($(OPENJDK_TARGET_OS),macosx)
+    #
+    # On macosx they do partial (incremental) linking of libjli_static.a
+    #   code it here...rather than add support to NativeCompilation
+    #   as this is first time I see it
+    $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
+		LIBRARY:=jli_static, \
+                OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
+		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
+		INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
+		LANG:=C,\
+		OPTIMIZATION:=HIGH, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBJLI_CFLAGS),\
+		LDFLAGS:=-nostdlib -r,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
+
+$(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC)
+	$(CP) -a $< $@
+
+BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
+endif
+
+##########################################################################################
+
+ifeq ($(ENABLE_JFR), true)
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
+		LIBRARY:=jfr,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                        -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjfr))
+
+BUILD_LIBRARIES += $(BUILD_LIBJFR)
+
+endif
+
+##########################################################################################
+
+ifndef OPENJDK
+
+BUILD_LIBKCMS_EXCLUDE_FILES:=
+ifeq ($(OPENJDK_TARGET_OS),windows)
+	BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
+else
+	BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
+endif
+
+BUILD_LIBKCMS_FLAGS:=$(CFLAGS_JDKLIB)
+
+ifeq ($(OPENJDK_TARGET_OS),solaris)
+     # This particular library uses a feature called PIC_CODE_SMALL (on solaris)
+     #   implement it like this...since it's only used here
+     BUILD_LIBKCMS_FLAGS:=$(patsubst -KPIC,-Kpic,$(BUILD_LIBKCMS_FLAGS))
+else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
+     BUILD_LIBKCMS_FLAGS:=$(patsubst -fPIC,-fpic,$(BUILD_LIBKCMS_FLAGS))
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\
+		LIBRARY:=kcms,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\
+		LANG:=C,\
+		EXCLUDE_FILES:=$(BUILD_LIBKCMS_EXCLUDE_FILES),\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(BUILD_LIBKCMS_FLAGS) \
+                        -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\
+		CFLAGS_linux:=-Wno-missing-field-initializers,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX_linux:=-lpthread,\
+		LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \
+		LDFLAGS_SUFFIX:=-lm $(LDFLAGS_JDKLIB_SUFFIX),\
+		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkcms))
+
+$(BUILD_LIBKCMS) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBKCMS)
+
+endif
+
+##########################################################################################
+
+ifndef OPENJDK
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+ifneq ($(ARCH), amd64)
+
+ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
+
+SUNWJDGA_MAPFILE:=
+ifneq (,$(findstring $(ARCH),sparc))
+	SUNWJDGA_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
+		LIBRARY:=sunwjdga,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
+		LANG:=C, \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+			-I$(JDK_TOPDIR)/src/share/javavm/export \
+			-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/javavm/export \
+			-I$(OPENWIN_HOME)/include, \
+		MAPFILE:=$(SUNWJDGA_MAPFILE), \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN), \
+		LDFLAGS_SUFFIX:=-L$(OPENWIN_LIB)$(ISA_DIR) -R$(OPENWIN_LIB)$(ISA_DIR) -ldga -lX11 $(LIBDL) -lc, \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunwjdga))
+
+BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
+
+endif
+endif
+endif
+endif
+
+##########################################################################################
+
+ifeq ($(BUILD_HEADLESS), true)
+ifneq ($(OPENJDK_TARGET_OS), windows)
+
+LIBAWT_HEADLESS_DIRS:=$(JDK_TOPDIR)/src/share/native/sun/font \
+                        $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
+			$(JDK_TOPDIR)/src/solaris/native/sun/font \
+			$(JDK_TOPDIR)/src/solaris/native/sun/awt \
+			$(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
+			$(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
+
+LIBAWT_HEADLESS_CFLAGS:=-DHEADLESS=true \
+                          -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
+			  $(CUPS_CFLAGS) \
+			  $(X_CFLAGS) \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
+			  -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
+			  -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/jdga \
+                          $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir))
+
+LIBAWT_HEADLESS_FILES:=\
+	awt_Font.c \
+	HeadlessToolkit.c \
+	fontpath.c \
+	VDrawingArea.c \
+	X11Color.c \
+	X11Renderer.c \
+	X11PMBlitLoops.c \
+	X11SurfaceData.c \
+	X11FontScaler_md.c \
+	X11TextRenderer_md.c \
+        OGLBlitLoops.c \
+        OGLBufImgOps.c \
+        OGLContext.c \
+        OGLFuncs.c \
+        OGLMaskBlit.c \
+        OGLMaskFill.c \
+        OGLPaints.c \
+        OGLRenderQueue.c \
+        OGLRenderer.c \
+        OGLSurfaceData.c \
+        OGLTextRenderer.c \
+        OGLVertexCache.c \
+        GLXGraphicsConfig.c \
+        GLXSurfaceData.c \
+        AccelGlyphCache.c \
+	CUPSfuncs.c
+
+LIBAWT_HEADLESS_LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) -lawt -lm
+
+LIBAWT_HEADLESS_REORDER:=
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+	ifneq ($(ARCH), amd64)
+		LIBAWT_HEADLESS_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(ARCH)
+	endif
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
+		LIBRARY:=awt_headless,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(LIBAWT_HEADLESS_DIRS),\
+		INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		REORDER:=$(LIBAWT_HEADLESS_REORDER), \
+		LDFLAGS_SUFFIX:=$(LIBAWT_HEADLESS_LDFLAGS_SUFFIX),\
+		LDFLAGS_SUFFIX_posix:=$(LIBDL),\
+		LDFLAGS_SUFFIX_macosx:=$(LIBCXX), \
+		LDFLAGS_SUFFIX_solaris:=$(LIBCXX), \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless))
+
+$(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT)
+
+BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
 
 endif
 endif
@@ -1932,38 +2319,38 @@
 ##########################################################################################
 
 ifndef BUILD_HEADLESS_ONLY
-LIBSPLASHSCREEN_DIRS := \
+LIBSPLASHSCREEN_DIRS:=\
 	$(JDK_TOPDIR)/src/share/native/sun/awt/giflib \
 	$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
 	$(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
 	$(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen \
-        $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt/splashscreen
-
-LIBSPLASHSCREEN_CFLAGS := -DSPLASHSCREEN -DPNG_NO_MMX_CODE \
+        $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt/splashscreen
+
+LIBSPLASHSCREEN_CFLAGS:=-DSPLASHSCREEN -DPNG_NO_MMX_CODE \
 	$(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir))
 
-ifeq ($(PLATFORM), macosx)
-	LIBSPLASHSCREEN_CFLAGS := -I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+	LIBSPLASHSCREEN_CFLAGS:=-I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
                                   $(LIBSPLASHSCREEN_CFLAGS) \
                                   -F/System/Library/Frameworks/JavaVM.framework/Frameworks
 	LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
 	LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
 
-	LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS := -x objective-c -O0
-	LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS := -x objective-c -O0
-	LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS := -x objective-c -O0
-	LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS := -x objective-c -O0
-	LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS := -x objective-c -O0
-	LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS := -x objective-c -O0
-	LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS := -O0
-
-else ifneq ($(PLATFORM), windows)
+	LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS:=-x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS:=-x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS:=-x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS:=-x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS:=-x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS:=-x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS:=-O0
+
+else ifneq ($(OPENJDK_TARGET_OS), windows)
 	LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
 else
 	LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
 endif
 
-LIBSPLASHSCREEN_FILES := \
+LIBSPLASHSCREEN_FILES:=\
 	java_awt_SplashScreen.c \
 	splashscreen_gfx_impl.c \
 	splashscreen_gif.c \
@@ -2033,14 +2420,14 @@
 	jfdctfst.c \
 	jfdctint.c
 
-ifneq ($(PLATFORM), macosx)
+ifneq ($(OPENJDK_TARGET_OS), macosx)
 LIBSPLASHSCREEN_FILES += splashscreen_sys.c
 else
 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
 LIBSPLASHSCREEN_FILES += splashscreen_sys.m
 endif
 
-LIBSPLASHSCREEN_LDFLAGS_SUFFIX :=
+LIBSPLASHSCREEN_LDFLAGS_SUFFIX:=
 
 ifneq ($(USE_EXTERNAL_LIBZ),true)
 	LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
@@ -2063,422 +2450,205 @@
 		zutil.c
 endif
 
-ifeq ($(PLATFORM), macosx)
+ifeq ($(OPENJDK_TARGET_OS), macosx)
 	LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
 				  -framework ApplicationServices \
 				  -framework Foundation \
 				  -framework Cocoa \
                                   -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
 				  -framework JavaNativeFoundation
-else ifneq ($(PLATFORM), windows)
-	LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(ISA_DIR) -lX11 -lXext $(LIBM) -lpthread $(LIBDL)
-else # PLATFORM
+else ifneq ($(OPENJDK_TARGET_OS), windows)
+	LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(ISA_DIR) -lX11 -lXext $(LIBM) -lpthread
+else # OPENJDK_TARGET_OS
 	LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib /DELAYLOAD:user32.dll
-endif # PLATFORM
+endif # OPENJDK_TARGET_OS
 
 $(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\
+		LIBRARY:=splashscreen,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(LIBSPLASHSCREEN_DIRS),\
-		INCLUDE_FILES := $(LIBSPLASHSCREEN_FILES),\
+		INCLUDE_FILES:=$(LIBSPLASHSCREEN_FILES),\
 		LANG:=C,\
-		CFLAGS:= $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
-		LDFLAGS:= $(LDFLAGS_JDKLIB) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libsplashscreen,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)splashscreen$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)splashscreen$(SHARED_LIBRARY_SUFFIX)
-
-ifeq ($(PLATFORM),macosx)
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)splashscreen$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) 
+		LDFLAGS_SUFFIX_linux:=$(LIBDL), \
+		LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsplashscreen))
+
+BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
+
+ifeq ($(OPENJDK_TARGET_OS),macosx)
+$(LIBSPLASHSCREEN) :  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) 
 endif
 
 endif
 
 ##########################################################################################
 
-LIBAWT_DIRS := \
-	$(JDK_TOPDIR)/src/share/native/sun/awt \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt \
-	$(JDK_TOPDIR)/src/share/native/sun/awt/image \
-	$(JDK_TOPDIR)/src/share/native/sun/awt/image/gif \
-	$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
-	$(JDK_TOPDIR)/src/share/native/sun/awt/shell \
-	$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
-	$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
-	$(JDK_TOPDIR)/src/share/native/sun/awt/utility \
-	$(JDK_TOPDIR)/src/share/native/sun/java2d \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d \
-	$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
-	$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
-	$(JDK_TOPDIR)/src/share/native/sun/awt/image \
-	$(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/opengl \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/x11 \
-	$(JDK_TOPDIR)/src/share/native/sun/font \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/windows \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/windows \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/d3d
-
-
-LIBAWT_CFLAGS := -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
-	$(foreach dir,$(LIBAWT_DIRS),-I$(dir))
-
-LIBAWT_FILES := \
-	gifdecoder.c \
-	imageInitIDs.c \
-	img_globals.c \
-	SurfaceData.c \
-	Region.c \
-	BufImgSurfaceData.c \
-	Disposer.c \
-	Trace.c \
-	GraphicsPrimitiveMgr.c \
-	Blit.c \
-	BlitBg.c \
-	ScaledBlit.c \
-	FillRect.c \
-	FillSpans.c \
-	FillParallelogram.c \
-	DrawParallelogram.c \
-	DrawLine.c \
-	DrawRect.c \
-	DrawPolygons.c \
-	DrawPath.c \
-	FillPath.c \
-	ProcessPath.c \
-	MaskBlit.c \
-	MaskFill.c \
-	TransformHelper.c \
-	AlphaMath.c \
-	AlphaMacros.c \
-	AnyByte.c \
-	ByteBinary1Bit.c \
-	ByteBinary2Bit.c \
-	ByteBinary4Bit.c \
-	ByteIndexed.c \
-	ByteGray.c \
-	Index8Gray.c \
-	Index12Gray.c \
-	AnyShort.c \
-	Ushort555Rgb.c \
-	Ushort565Rgb.c \
-	Ushort4444Argb.c \
-	Ushort555Rgbx.c \
-	UshortGray.c \
-	UshortIndexed.c \
-	Any3Byte.c \
-	ThreeByteBgr.c \
-	AnyInt.c \
-	IntArgb.c \
-	IntArgbPre.c \
-	IntArgbBm.c \
-	IntRgb.c \
-	IntBgr.c \
-	IntRgbx.c \
-	Any4Byte.c \
-	FourByteAbgr.c \
-	FourByteAbgrPre.c \
-	BufferedMaskBlit.c \
-	BufferedRenderPipe.c \
-	ShapeSpanIterator.c \
-	SpanClipRenderer.c \
-	awt_ImageRep.c \
-	awt_ImagingLib.c \
-	awt_Mlib.c \
-	awt_parseImage.c \
-	DataBufferNative.c \
-	dither.c \
-	debug_assert.c \
-	debug_mem.c \
-	debug_trace.c \
-	debug_util.c
-
-ifneq (,$(filter $(PLATFORM), solaris linux))
-	LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
-endif
-
-ifeq ($(PLATFORM),macosx)
-	LIBAWT_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/apple/resources
-	LIBAWT_FILES += awt_LoadLibrary.c MacOSXResourceBundle.m
-	LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
-
-	LIBAWT_MacOSXResourceBundle.m_CFLAGS := -O0
-endif
-
-ifeq ($(PLATFORM)-$(ARCH_FAMILY), solaris-sparc)
-#
-# TODO...
-#
-
-#	FILES_c += $(FILES_2D_vis)
-#	ASFLAGS += -P
-#	FILES_s += mlib_v_ImageCopy_blk.s
-#	INLINE_VIS = $(PLATFORM_SRC)/native/sun/awt/medialib/vis_$(ARCH_DATA_MODEL).il
-#	CFLAGS_sparcv9 = -DMLIB_OS64BIT
-#	CFLAGS += $(CFLAGS_$(ARCH)) -DMLIB_ADD_SUFF $(INLINE_VIS)
-else
-	LIBAWT_FILES += MapAccelFunc.c
-endif
-
-ifneq ($(PLATFORM),solaris)
-	LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
-endif
-
-LIBAWT_LANG := C
-
-ifeq ($(PLATFORM),windows)
-	LIBAWT_FILES += AccelGlyphCache.c \
-			ShaderList.c \
-			CmdIDList.cpp \
-			Hashtable.cpp \
-			GDIHashtable.cpp \
-			Devices.cpp \
-			ObjectList.cpp \
-			GDIBlitLoops.cpp \
-			GDIRenderer.cpp \
-			GDIWindowSurfaceData.cpp \
-			WindowsFlags.cpp \
-			WPrinterJob.cpp \
-			awt_%.cpp \
-			D3DBlitLoops.cpp \
-			D3DBufImgOps.cpp \
-			D3DContext.cpp \
-			D3DGlyphCache.cpp \
-			D3DGraphicsDevice.cpp \
-			D3DMaskBlit.cpp \
-			D3DMaskCache.cpp \
-			D3DMaskFill.cpp \
-			D3DPipelineManager.cpp \
-			D3DPaints.cpp \
-			D3DRenderer.cpp \
-			D3DRenderQueue.cpp \
-			D3DResourceManager.cpp \
-			D3DSurfaceData.cpp \
-			D3DTextRenderer.cpp \
-			D3DVertexCacher.cpp \
-			ShellFolder2.cpp \
-			ThemeReader.cpp \
-			ComCtl32Util.cpp \
-			DllUtil.cpp \
-			initIDs.cpp \
-			MouseInfo.cpp \
-			rect.c
-	LIBAWT_LANG := C++
-	LIBAWT_CFLAGS += $(GX_OPTION) -DUNICODE -D_UNICODE
-	ifeq ($(ARCH_DATA_MODEL), 64)
-		LIBAWT_CFLAGS += -DMLIB_OS64BIT
-	endif
-
-	ifdef OPENJDK
-		LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/windows/resource/icons"
-	else
-		LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
-	endif
-	LIBAWT_VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
-endif
-
-ifeq ($(MILESTONE), internal)
-	LIBAWT_CFLAGS += -DINTERNAL_BUILD
-endif
-
-LIBAWT_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers
-ifeq ($(PLATFORM),linux)
-	LIBAWT_MAPFILE :=
-endif
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\
-		SRC:=$(LIBAWT_DIRS),\
-		INCLUDE_FILES := $(LIBAWT_FILES),\
-		LANG:=$(LIBAWT_LANG),\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) $(LIBAWT_CFLAGS),\
-		MAPFILE := $(LIBAWT_MAPFILE), \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_windows:=advapi32.lib kernel32.lib user32.lib gdi32.lib winspool.lib \
-				 imm32.lib ole32.lib uuid.lib shell32.lib \
-				 comdlg32.lib winmm.lib comctl32.lib \
-				 shlwapi.lib delayimp.lib java.lib jvm.lib \
-				 /DELAYLOAD:user32.dll /DELAYLOAD:gdi32.dll \
-				 /DELAYLOAD:shell32.dll /DELAYLOAD:winmm.dll \
-				 /DELAYLOAD:winspool.drv /DELAYLOAD:imm32.dll \
-				 /DELAYLOAD:ole32.dll /DELAYLOAD:comdlg32.dll \
-				 /DELAYLOAD:comctl32.dll /DELAYLOAD:shlwapi.dll,\
-		LDFLAGS_macosx :=-framework Cocoa \
-				 -framework OpenGL \
-				 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
-				 -framework JavaNativeFoundation \
-				 -framework JavaRuntimeSupport \
-				 -framework ApplicationServices \
-				 -framework AudioToolbox,\
-		LDFLAGS_solaris := -R/usr/dt/lib$(ISA_DIR) -R$(OPENWIN_LIB)$(ISA_DIR),\
-		LDFLAGS_SUFFIX_posix := -ljvm $(LIBM) -ljava $(LIBDL),\
-		VERSIONINFO_RESOURCE := $(LIBAWT_VERSIONINFO_RESOURCE),\
-		RC_FLAGS := $(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
-			  /D "JDK_FNAME=awt.dll" \
-			  /D "JDK_INTERNAL_NAME=awt" \
-			  /D "JDK_FTYPE=0x2L",\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libawt,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
 ifndef OPENJDK
 
-LIBDCPR_SRC_DIRS := \
+LIBDCPR_SRC_DIRS:=\
 	$(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
 	$(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
 	$(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
 	$(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
 
-LIBDCPR_CFLAGS := $(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \
+LIBDCPR_CFLAGS:=$(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \
 	          -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\
+		LIBRARY:=dcpr,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(LIBDCPR_SRC_DIRS),\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 			$(LIBDCPR_CFLAGS), \
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) $(LIBM)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		LDFLAGS_SUFFIX_posix := $(LIBDL) -lm,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libdcpr,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)dcpr$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)dcpr$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)dcpr$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS_SUFFIX_posix:=-lm,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdcpr))
+
+$(BUILD_LIBDCPR) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBDCPR)
 
 endif
 
 ##########################################################################################
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\
+		LIBRARY:=j2pcsc,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
-                     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/smartcardio,\
+                     $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/smartcardio,\
 		LANG:=C,\
-		CFLAGS_posix:= -D__sun_jdk,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		CFLAGS_posix:=-D__sun_jdk,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
                      -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
-                     -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/smartcardio\
-                     -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/smartcardio/MUSCLE,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
+                     -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/smartcardio\
+                     -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/smartcardio/MUSCLE,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX_posix := $(LIBDL), \
-		LDFLAGS_SUFFIX_windows := winscard.lib,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libj2pcsc,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)j2pcsc$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)j2pcsc$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS_SUFFIX_posix:=$(LIBDL), \
+		LDFLAGS_SUFFIX_windows:=winscard.lib,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pcsc))
+
+BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC)
 
 ##########################################################################################
 
-ifneq ($(PLATFORM), windows)
+ifneq ($(OPENJDK_TARGET_OS), windows)
 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\
+		LIBRARY:=j2gss,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
-                     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/jgss/wrapper,\
+                     $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/jgss/wrapper,\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
                      -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
-                     -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/jgss/wrapper,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
+                     -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/jgss/wrapper,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX := $(LIBDL), \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libj2gss,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)j2gss$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)j2gss$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS_SUFFIX:=$(LIBDL), \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss))
+
+BUILD_LIBRARIES += $(BUILD_LIBJ2GSS)
 endif
 
 ##########################################################################################
 
-BUILD_LIBKRB5_NAME :=
-ifeq ($(PLATFORM), windows)
-     BUILD_LIBKRB5_NAME := w2k_lsa_auth
-     BUILD_LIBKRB5_FILES := NativeCreds.c WindowsDirectory.c
-     BUILD_LIBKRB5_SRC := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/krb5
-     BUILD_LIBKRB5_LIBS := Secur32.lib netapi32.lib \
+BUILD_LIBKRB5_NAME:=
+ifeq ($(OPENJDK_TARGET_OS), windows)
+     BUILD_LIBKRB5_NAME:=w2k_lsa_auth
+     BUILD_LIBKRB5_FILES:=NativeCreds.c WindowsDirectory.c
+     BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/krb5
+     BUILD_LIBKRB5_LIBS:=Secur32.lib netapi32.lib \
 	kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib \
 	advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib \
 	odbccp32.lib wsock32.lib
-else ifeq ($(PLATFORM), macosx)
-     BUILD_LIBKRB5_NAME := osxkrb5
-     BUILD_LIBKRB5_FILES := nativeccache.c
-     BUILD_LIBKRB5_LIBS := -framework Kerberos
+else ifeq ($(OPENJDK_TARGET_OS), macosx)
+     BUILD_LIBKRB5_NAME:=osxkrb5
+     BUILD_LIBKRB5_FILES:=nativeccache.c
+     BUILD_LIBKRB5_LIBS:=-framework Kerberos
 endif
 
 ifneq ($(BUILD_LIBKRB5_NAME),)
 $(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\
+		LIBRARY:=$(BUILD_LIBKRB5_NAME),\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
                      $(BUILD_LIBKRB5_SRC) ,\
-		INCLUDE_FILES := $(BUILD_LIBKRB5_FILES),\
+		INCLUDE_FILES:=$(BUILD_LIBKRB5_FILES),\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 		        -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
-                        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/krb5 ,\
+                        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/krb5 ,\
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX := $(BUILD_LIBKRB5_LIBS) ,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libkrb5,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)$(BUILD_LIBKRB5_NAME)$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)$(BUILD_LIBKRB5_NAME)$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS_SUFFIX:=$(BUILD_LIBKRB5_LIBS) ,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkrb5))
+
+BUILD_LIBRARIES += $(BUILD_LIBKRB5)
 endif
 
 ##########################################################################################
 
-ifeq ($(PLATFORM), windows)
+ifeq ($(OPENJDK_TARGET_OS), windows)
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\
+		LIBRARY:=sunmscapi,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/mscapi \
-		     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/mscapi,\
-		INCLUDE_FILES := security.cpp, \
+		     $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/mscapi,\
+		INCLUDE_FILES:=security.cpp, \
 		LANG:=C++,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 		        -I$(JDK_TOPDIR)/src/share/native/sun/security/mscapi \
-                        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/mscapi ,\
+                        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/mscapi ,\
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX := Crypt32.Lib advapi32.lib,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libsunmscapi,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)sunmscapi$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)sunmscapi$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS_SUFFIX:=Crypt32.Lib advapi32.lib,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunmscapi))
+
+BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI)
 endif
 
 ##########################################################################################
 
-ifneq ($(PLATFORM)-$(ARCH_DATA_MODEL), windows-64)
+ifneq ($(OPENJDK_TARGET_OS)-$(ARCH_DATA_MODEL), windows-64)
 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\
+		LIBRARY:=j2pkcs11,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
-                     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/pkcs11 \
+                     $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/pkcs11 \
                      $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
-                     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/pkcs11/wrapper,\
+                     $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/pkcs11/wrapper,\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 		        -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
-		        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/pkcs11 \
+		        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/pkcs11 \
 		        -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
-                        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/pkcs11/wrapper,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
+                        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/pkcs11/wrapper,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX_posix := $(LIBDL), \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)j2pkcs11$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)j2pkcs11$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS_SUFFIX_posix:=$(LIBDL), \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11))
+
+BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11)
 endif
 
 ##########################################################################################
@@ -2488,40 +2658,56 @@
 # TODO Set DISABLE_INTREE_EC in configure if src/share/native/sun/security/ec/impl
 #      is not present
 #
-BUILD_LIBSUNEC_FLAGS := -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B \
-                        -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
-                        -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
+BUILD_LIBSUNEC_FLAGS:= -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
+                       -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
+
+#
+# On sol-sparc...all libraries are compiled with -xregs=no%appl
+#   (set in CFLAGS_REQUIRED_sparc)
+#
+# except!!! libsunec.so
+#
+ECC_JNI_SOLSPARC_FILTER:=
+ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
+     ECC_JNI_SOLSPARC_FILTER:=-xregs=no%appl
+endif
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\
+		LIBRARY:=sunec,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \
                      $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
-		LANG := C++, \
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) $(BUILD_LIBSUNEC_FLAGS),\
-		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(CXX_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) $(BUILD_LIBSUNEC_FLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
+		LANG:=C++, \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB))\
+                        $(BUILD_LIBSUNEC_FLAGS) \
+                        -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B,\
+		CXXFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \
+                          $(BUILD_LIBSUNEC_FLAGS),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX := $(LIBCXX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libsunec,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)sunec$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)sunec$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS_SUFFIX:=$(LIBCXX),\
+                LDFLAGS_SUFFIX_solaris:=-lc ,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunec))
+
+BUILD_LIBRARIES += $(BUILD_LIBSUNEC)
 endif
 
 ##########################################################################################
 
-LIBJSOUND_SRC_DIRS := \
+LIBJSOUND_SRC_DIRS:=\
 	$(JDK_TOPDIR)/src/share/native/com/sun/media/sound \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/com/sun/media/sound
-
-LIBJSOUND_SRC_FILES := Utilities.c Platform.c
-
-LIBJSOUND_LANG := C
-LIBJSOUND_CFLAGS := $(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir))
-
-EXTRA_SOUND_JNI_LIBS := 
-
-LIBJSOUND_MIDIFILES := \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/com/sun/media/sound
+
+LIBJSOUND_SRC_FILES:=Utilities.c Platform.c
+
+LIBJSOUND_LANG:=C
+LIBJSOUND_CFLAGS:=$(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir))
+
+EXTRA_SOUND_JNI_LIBS:=
+
+LIBJSOUND_MIDIFILES:=\
 	MidiInDevice.c \
 	MidiInDeviceProvider.c \
 	MidiOutDevice.c \
@@ -2529,16 +2715,16 @@
 	PlatformMidi.c
 
 # files needed for ports
-LIBJSOUND_PORTFILES := \
+LIBJSOUND_PORTFILES:=\
 	PortMixerProvider.c \
 	PortMixer.c
 
 # files needed for direct audio
-LIBJSOUND_DAUDIOFILES := \
+LIBJSOUND_DAUDIOFILES:=\
 	DirectAudioDeviceProvider.c \
 	DirectAudioDevice.c
 
-ifeq ($(PLATFORM), windows)
+ifeq ($(OPENJDK_TARGET_OS), windows)
 	EXTRA_SOUND_JNI_LIBS += jsoundds
 	LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
                             -DUSE_PLATFORM_MIDI_OUT=TRUE \
@@ -2551,15 +2737,15 @@
 		PLATFORM_API_WinOS_Ports.c
 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
-endif # PLATFORM windows
-
-ifeq ($(PLATFORM), linux)
+endif # OPENJDK_TARGET_OS windows
+
+ifeq ($(OPENJDK_TARGET_OS), linux)
 	EXTRA_SOUND_JNI_LIBS += jsoundalsa
 	LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
-endif # PLATFORM linux
-
-ifeq ($(PLATFORM), macosx)
-	LIBJSOUND_LANG := C++
+endif # OPENJDK_TARGET_OS linux
+
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+	LIBJSOUND_LANG:=C++
 	LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
                             -DUSE_PORTS=TRUE \
                             -DUSE_DAUDIO=TRUE \
@@ -2576,9 +2762,9 @@
 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
-endif # PLATFORM macosx
-
-ifeq ($(PLATFORM), solaris)
+endif # OPENJDK_TARGET_OS macosx
+
+ifeq ($(OPENJDK_TARGET_OS), solaris)
 	LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \
                             -DUSE_PORTS=TRUE \
                             -DUSE_DAUDIO=TRUE
@@ -2589,7 +2775,7 @@
 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
-endif # PLATFORM solaris
+endif # OPENJDK_TARGET_OS solaris
 
 
 ifeq ($(JVM_VARIANT_ZERO), true)
@@ -2623,37 +2809,38 @@
 LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\
+		LIBRARY:=jsound,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(LIBJSOUND_SRC_DIRS),\
-		INCLUDE_FILES := $(LIBJSOUND_SRC_FILES),\
+		INCLUDE_FILES:=$(LIBJSOUND_SRC_FILES),\
 		LANG:=$(LIBJSOUND_LANG),\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-			$(LIBJSOUND_CFLAGS), \
-		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(CXX_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-			$(LIBJSOUND_CFLAGS), \
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
+		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_windows:=java.lib advapi32.lib winmm.lib,\
+		LDFLAGS_windows:=$(WIN_JAVA_LIB) advapi32.lib winmm.lib,\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
 		LDFLAGS_SUFFIX_solaris:=-lc ,\
-		LDFLAGS_SUFFIX_macosx := -framework CoreAudio -framework CoreFoundation \
+		LDFLAGS_SUFFIX_macosx:=-framework CoreAudio -framework CoreFoundation \
              -framework CoreServices -framework AudioUnit $(LIBCXX) \
              -framework CoreMIDI -framework AudioToolbox ,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjsound,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsound$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsound$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jsound$(SHARED_LIBRARY_SUFFIX)
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsound))
+
+$(BUILD_LIBJSOUND) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJSOUND)
 
 ##########################################################################################
 
 ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),)
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\
+		LIBRARY:=jsoundalsa,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(LIBJSOUND_SRC_DIRS),\
-		INCLUDE_FILES := Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
+		INCLUDE_FILES:=Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
                                 $(LIBJSOUND_DAUDIOFILES) \
 				PLATFORM_API_LinuxOS_ALSA_CommonUtils.c   \
 				PLATFORM_API_LinuxOS_ALSA_PCM.c     \
@@ -2662,24 +2849,23 @@
 				PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
 				PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
 				PLATFORM_API_LinuxOS_ALSA_Ports.c,\
-		LANG := C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 			$(LIBJSOUND_CFLAGS) \
 			-DUSE_DAUDIO=TRUE \
 			-DUSE_PORTS=TRUE  \
 			-DUSE_PLATFORM_MIDI_OUT=TRUE \
 			-DUSE_PLATFORM_MIDI_IN=TRUE, \
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) -lasound,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsoundalsa$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsoundalsa$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jsoundalsa$(SHARED_LIBRARY_SUFFIX)
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa))
+
+$(BUILD_LIBJSOUNDALSA) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA)
 
 endif
 
@@ -2688,104 +2874,113 @@
 ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),)
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\
+		LIBRARY:=jsoundds,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(LIBJSOUND_SRC_DIRS),\
-		INCLUDE_FILES := Utilities.c $(LIBJSOUND_DAUDIOFILES) \
+		INCLUDE_FILES:=Utilities.c $(LIBJSOUND_DAUDIOFILES) \
 				PLATFORM_API_WinOS_DirectSound.cpp, \
-		LANG := C++,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		LANG:=C++,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 			$(LIBJSOUND_CFLAGS) \
 			-DUSE_DAUDIO=TRUE, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjsoundds,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsoundds$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsoundds$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jsoundds$(SHARED_LIBRARY_SUFFIX)
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundds))
+
+$(BUILD_LIBJSOUNDDS) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS)
 
 endif
 
 ##########################################################################################
 
-ifeq ($(PLATFORM), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
 ifndef OPENJDK
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\
+		LIBRARY:=j2ucrypto,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\
-		LANG := C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 			-I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
 		LDFLAGS_SUFFIX:=$(LIBDL),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)j2ucrypto$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)j2ucrypto$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)j2ucrypto$(SHARED_LIBRARY_SUFFIX)
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto))
+
+$(BUILD_LIBJ2UCRYPTO) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO)
 
 endif
 endif
 
 ##########################################################################################
 
-ifeq ($(PLATFORM), macosx)
-
-LIBAPPLESCRIPTENGINE_FILES := \
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+
+LIBAPPLESCRIPTENGINE_FILES:=\
 	AppleScriptEngine.m \
         AppleScriptExecutionContext.m \
         AS_NS_ConversionUtils.m \
         NS_Java_ConversionUtils.m
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\
+		LIBRARY:=AppleScriptEngine,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\
-		LANG := C,\
+		LANG:=C,\
 		INCLUDE_FILES:=$(LIBAPPLESCRIPTENGINE_FILES),\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 			-I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
 			-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
                         -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
-		LDFLAGS_SUFFIX:= \
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) \
     -framework Cocoa \
     -framework Carbon \
     -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
     -framework JavaNativeFoundation, \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)AppleScriptEngine$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)AppleScriptEngine$(SHARED_LIBRARY_SUFFIX)
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine))
+
+$(BUILD_LIBAPPLESCRIPTENGINE) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE)
 
 endif
 
 ##########################################################################################
 
-ifeq ($(PLATFORM), macosx)
-
-LIBOSXAPP_FILES := \
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+
+LIBOSXAPP_FILES:=\
 	NSApplicationAWT.m \
 	QueuingApplicationDelegate.m \
 	PropertiesUtilities.m \
 	ThreadUtilities.m
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\
+		LIBRARY:=osxapp,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\
-		LANG := C,\
+		LANG:=C,\
 		INCLUDE_FILES:=$(LIBOSXAPP_FILES),\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 			-I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
                         -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
                         -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
-		LDFLAGS_SUFFIX_macosx := \
+		LDFLAGS_SUFFIX_macosx:=\
 	-framework Accelerate \
 	-framework ApplicationServices \
 	-framework AudioToolbox \
@@ -2799,18 +2994,17 @@
 	-framework OpenGL \
 	-framework IOSurface \
 	-framework QuartzCore, \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libosxapp,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxapp))
+
+BUILD_LIBRARIES += $(BUILD_LIBOSXAPP)
 
 endif
 
 ##########################################################################################
 
-ifeq ($(PLATFORM), macosx)
-
-LIBOSX_FILES := \
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+
+LIBOSX_FILES:=\
     Dispatch.m \
     CFileManager.m \
     KeystoreImpl.m \
@@ -2818,7 +3012,7 @@
     MacOSXPreferencesFile.m \
     SCDynamicStoreConfig.m
 
-LIBOSX_DIRS := \
+LIBOSX_DIRS:=\
   $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
   $(JDK_TOPDIR)/src/macosx/native/java/util \
   $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
@@ -2826,17 +3020,20 @@
   $(JDK_TOPDIR)/src/macosx/native/apple/launcher
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\
+		LIBRARY:=osx,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(LIBOSX_DIRS),\
-		LANG := C,\
+		LANG:=C,\
 		INCLUDE_FILES:=$(LIBOSX_FILES),\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
                         $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \
                         -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
                         -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
                         -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
-		LDFLAGS_SUFFIX_macosx := \
+		LDFLAGS_SUFFIX_macosx:=\
     -losxapp \
     -framework Cocoa \
     -framework ApplicationServices \
@@ -2846,24 +3043,21 @@
     -framework Security \
     -framework SystemConfiguration \
     $(LDFLAGS_JDKLIB_SUFFIX), \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libosx,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osx$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osx$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osx$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) 
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osx$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosx))
+
+BUILD_LIBRARIES += $(BUILD_LIBOSX)
+
+$(BUILD_LIBOSX) : $(BUILD_LIBOSXAPP)
+
+$(BUILD_LIBOSX) : $(BUILD_LIBJAVA)
 
 endif
 
 ##########################################################################################
 
-ifeq ($(PLATFORM), macosx)
-
-LIBAWT_LWAWT_FILES := \
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+
+LIBAWT_LWAWT_FILES:=\
         awt.m \
         ApplicationDelegate.m \
         CFRetainedResource.m \
@@ -2938,7 +3132,7 @@
         CUPSfuncs.c
 
 
-LIBAWT_LWAWT_DIRS := \
+LIBAWT_LWAWT_DIRS:=\
   $(JDK_TOPDIR)/src/macosx/native/sun/awt \
   $(JDK_TOPDIR)/src/macosx/native/sun/font \
   $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
@@ -2947,10 +3141,13 @@
   $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\
+		LIBRARY:=awt_lwawt,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(LIBAWT_LWAWT_DIRS),\
-		LANG := C,\
+		LANG:=C,\
 		INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
                         $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \
                         -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
                         -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
@@ -2964,7 +3161,7 @@
                         -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
-		LDFLAGS_SUFFIX_macosx := \
+		LDFLAGS_SUFFIX_macosx:=\
 	-lawt -lmlib_image -losxapp $(LDFLAGS_JDKLIB_SUFFIX) $(LIBM) \
 	-framework Accelerate \
 	-framework ApplicationServices \
@@ -2978,30 +3175,25 @@
 	-framework JavaRuntimeSupport \
 	-framework OpenGL \
         -framework QuartzCore ,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX) 
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)mlib_image$(SHARED_LIBRARY_SUFFIX) 
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) 
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt))
+
+BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
+
+$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBAWT) 
+
+$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBMLIB_IMAGE)
+
+$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBOSXAPP)
+
+$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBJAVA)
 
 endif
 
 ##########################################################################################
 
-ifeq ($(PLATFORM), macosx)
-
-LIBOSXUI_FILES := \
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+
+LIBOSXUI_FILES:=\
         AquaFileView.m \
         AquaLookAndFeel.m \
         AquaNativeResources.m \
@@ -3012,17 +3204,21 @@
         ScreenMenu.m
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\
+		LIBRARY:=osxui,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\
-		LANG := C,\
+		LANG:=C,\
 		INCLUDE_FILES:=$(LIBOSXUI_FILES),\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
                         -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
 			-I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
 			-I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
                         -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
-		LDFLAGS_SUFFIX_macosx := \
+		LDFLAGS_SUFFIX_macosx:=\
+    $(LDFLAGS_JDKLIB_SUFFIX) \
     -lawt -losxapp -lawt_lwawt \
     -framework Cocoa \
     -framework Carbon \
@@ -3030,22 +3226,49 @@
     -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
     -framework JavaNativeFoundation \
     -framework JavaRuntimeSupport, \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libosxui,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX) 
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) 
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) 
-
-#$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX) : \
-#  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxui))
+
+BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
+
+$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT) 
+
+$(BUILD_LIBOSXUI) : $(BUILD_LIBOSXAPP)
+
+$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT_LWAWT)
+
+#$(BUILD_LIBOSXUI) : $(BUILD_LIBJAVA)
+
+endif
+
+##########################################################################################
+
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC,\
+		LIBRARY:=JObjC,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
+                     $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=-fpascal-strings \
+                        -fobjc-gc \
+                        -gdwarf-2 \
+                        $(CFLAGS_JDKLIB) \
+                        -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+			, \
+		LDFLAGS:=-fpascal-strings \
+                         -fobjc-gc \
+                         -gdwarf-2 \
+                         $(LDFLAGS_JDKLIB)\
+			 $(call SET_SHARED_LIBRARY_ORIGIN), \
+		LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
+                                  -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+                                  -framework JavaNativeFoundation \
+                                  -lffi, \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc))
+
+BUILD_LIBRARIES += $(BUILD_LIBJOBJC)
 
 endif
 
--- a/jdk/makefiles/CopyFiles.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/CopyFiles.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -25,12 +25,12 @@
 
 INCLUDEDIR = $(JDK_OUTPUTDIR)/include
 
-PLATFORM_INCLUDE = $(INCLUDEDIR)/$(PLATFORM)
+OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/$(OPENJDK_TARGET_OS)
 
-ifeq ($(PLATFORM), windows)
-     PLATFORM_INCLUDE = $(INCLUDEDIR)/win32
-else ifeq ($(PLATFORM), macosx)
-     PLATFORM_INCLUDE = $(INCLUDEDIR)/darwin
+ifeq ($(OPENJDK_TARGET_OS), windows)
+     OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/win32
+else ifeq ($(OPENJDK_TARGET_OS), macosx)
+     OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/darwin
 endif
 
 #
@@ -42,15 +42,15 @@
 		$(INCLUDEDIR)/jvmticmlr.h		\
 		$(INCLUDEDIR)/classfile_constants.h	\
 		$(INCLUDEDIR)/jawt.h			\
-		$(PLATFORM_INCLUDE)/jni_md.h		\
-		$(PLATFORM_INCLUDE)/jawt_md.h
+		$(OPENJDK_TARGET_OS_INCLUDE)/jni_md.h		\
+		$(OPENJDK_TARGET_OS_INCLUDE)/jawt_md.h
 
 $(INCLUDEDIR)/%.h: $(JDK_TOPDIR)/src/share/javavm/export/%.h
 	$(MKDIR) -p $(@D)
 	$(RM) -f $@
 	$(CP) $< $@
 
-$(PLATFORM_INCLUDE)/%.h: $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/javavm/export/%.h
+$(OPENJDK_TARGET_OS_INCLUDE)/%.h: $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/javavm/export/%.h
 	$(MKDIR) -p $(@D)
 	$(RM) -f $@
 	$(CP) $< $@
@@ -83,6 +83,13 @@
 	$(CP) $< $@
 	$(CHMOD) 644 $@
 
+# this file has different permissions...don't know why...
+$(MGMT_LIBDIR)/jmxremote.access: $(MGMT_LIB_SRC)/jmxremote.access
+	$(MKDIR) -p $(@D)
+	$(RM) -f $@
+	$(CP) $< $@
+	$(CHMOD) 644 $@
+
 $(MGMT_LIBDIR)/%: $(MGMT_LIB_SRC)/%
 	$(MKDIR) -p $(@D)
 	$(RM) -f $@
@@ -121,9 +128,13 @@
 #
 # Copy flavormap.properties, cursor.properties and cursors gif files to LIBDIR
 #
-PLATFORM_LIB_SRC = $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/lib
+ifneq ($(OPENJDK_TARGET_OS), macosx)
+OPENJDK_TARGET_OS_LIB_SRC = $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/lib
+else
+OPENJDK_TARGET_OS_LIB_SRC = $(JDK_TOPDIR)/src/macosx/lib
+endif
 
-$(LIBDIR)/flavormap.properties: $(PLATFORM_LIB_SRC)/flavormap.properties
+$(LIBDIR)/flavormap.properties: $(OPENJDK_TARGET_OS_LIB_SRC)/flavormap.properties
 	$(MKDIR) -p $(@D)
 	$(RM) -f $@
 	$(CP) $< $@
@@ -131,9 +142,9 @@
 COPY_FILES += $(LIBDIR)/flavormap.properties
 
 CURSORS_DEST_DIR = $(LIBDIR)/images/cursors
-CURSORS_PLATFORM_LIB_SRC = $(PLATFORM_LIB_SRC)/images/cursors
+CURSORS_OPENJDK_TARGET_OS_LIB_SRC = $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/lib/images/cursors
 
-$(CURSORS_DEST_DIR)/cursors.properties: $(CURSORS_PLATFORM_LIB_SRC)/cursors.properties
+$(CURSORS_DEST_DIR)/cursors.properties: $(CURSORS_OPENJDK_TARGET_OS_LIB_SRC)/cursors.properties
 	$(MKDIR) -p $(@D)
 	$(RM) -f $@
 	$(CP) $< $@
@@ -141,11 +152,11 @@
 COPY_FILES += $(CURSORS_DEST_DIR)/cursors.properties
 
 CURSORS_LIB_SRC = $(JDK_TOPDIR)/src/share/lib/images/cursors
-ifeq ($(PLATFORM), windows)
+ifeq ($(OPENJDK_TARGET_OS), windows)
 CURSORS_SRC_FILES = $(CURSORS_LIB_SRC)/invalid32x32.gif $(wildcard $(CURSORS_LIB_SRC)/win32_*.gif)
-else # PLATFORM
+else # OPENJDK_TARGET_OS
 CURSORS_SRC_FILES = $(CURSORS_LIB_SRC)/invalid32x32.gif $(wildcard $(CURSORS_LIB_SRC)/motif_*.gif)
-endif # PLATFORM
+endif # OPENJDK_TARGET_OS
 CURSORS_TARGET_FILES =  $(subst $(CURSORS_LIB_SRC),$(CURSORS_DEST_DIR),$(CURSORS_SRC_FILES))
 
 $(CURSORS_DEST_DIR)/%: $(CURSORS_LIB_SRC)/%
@@ -157,7 +168,7 @@
 
 ##########################################################################################
 
-CONTENT_TYPES_SRC=$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/lib
+CONTENT_TYPES_SRC=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/lib
 
 $(LIBDIR)/content-types.properties: $(CONTENT_TYPES_SRC)/content-types.properties
 	$(MKDIR) -p $(@D)
@@ -179,9 +190,9 @@
 
 ##########################################################################################
 
-ifeq ($(PLATFORM),windows)
+ifeq ($(OPENJDK_TARGET_OS),windows)
 
-TZMAPPINGS_SRC := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/lib
+TZMAPPINGS_SRC := $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/lib
 
 $(LIBDIR)/tzmappings: $(TZMAPPINGS_SRC)/tzmappings
 	$(MKDIR) -p $(@D)
@@ -233,7 +244,7 @@
 #TODO: rework this to avoid hardcoding library name in the makefile
 #
 ifdef OPENJDK
-    ifeq ($(PLATFORM), windows)
+    ifeq ($(OPENJDK_TARGET_OS), windows)
         FREETYPE_LIB = $(JDK_OUTPUTDIR)/bin/$(call SHARED_LIBRARY,freetype)
     else 
         ifeq ($(USING_SYSTEM_FT_LIB), false)
@@ -243,7 +254,7 @@
 
     $(FREETYPE_LIB): $(FREETYPE2_LIB_PATH)/$(call SHARED_LIBRARY,freetype)
 	$(CP) $(FREETYPE2_LIB_PATH)/$(call SHARED_LIBRARY,freetype) $@
-    ifeq ($(BUILD_OS), windows)
+    ifeq ($(OPENJDK_BUILD_OS), windows)
 	$(CHMOD) +rx $@
     endif
 
@@ -254,7 +265,7 @@
 
 # Copy msvcr100.dll on windows
 
-ifeq ($(PLATFORM),windows)
+ifeq ($(OPENJDK_TARGET_OS),windows)
     MSVCRNN_TARGET := $(JDK_OUTPUTDIR)/bin/$(notdir $(MSVCRNN_DLL))
     $(MSVCRNN_TARGET): $(MSVCRNN_DLL)
 	$(MKDIR) -p $(@D)
@@ -286,14 +297,14 @@
     JVMCFG_ARCH := $(ARCH)
 endif
 
-ifeq ($(PLATFORM),macosx)
+ifeq ($(OPENJDK_TARGET_OS),macosx)
   ifeq ($(JVMCFG_ARCH),amd64)
       JVMCFG_ARCH := x86_64
   endif
   JVMCFG_SRC := $(JDK_TOPDIR)/src/macosx/bin/$(JVMCFG_ARCH)/jvm.cfg
   JVMCFG_DIR := $(JDK_OUTPUTDIR)/lib
 else
-  JVMCFG_SRC := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin/$(JVMCFG_ARCH)/jvm.cfg
+  JVMCFG_SRC := $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/bin/$(JVMCFG_ARCH)/jvm.cfg
   JVMCFG_DIR := $(JDK_OUTPUTDIR)/lib/$(LIBARCH)
 endif
 
@@ -353,15 +364,15 @@
 PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security
 PROPS_DST := $(JDK_OUTPUTDIR)/lib/security/java.security
 
-ifeq ($(PLATFORM), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
 	PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security-solaris
 endif
 
-ifeq ($(PLATFORM), windows)
+ifeq ($(OPENJDK_TARGET_OS), windows)
 	PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security-windows
 endif
 
-ifeq ($(PLATFORM), macosx)
+ifeq ($(OPENJDK_TARGET_OS), macosx)
 	PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security-macosx
 endif
 
@@ -453,7 +464,7 @@
 
 COPY_FILES += $(SHARED_FONTS_DST) $(SHARED_FONTS_DST_DIR)/fonts.dir
 
-ifeq ($(PLATFORM), linux)
+ifeq ($(OPENJDK_TARGET_OS), linux)
 
 # The oblique fonts are only needed/wanted on Linux.
 
@@ -532,11 +543,13 @@
 	$(MKDIR) -p $(@D)
 	$(RM) $@
 	$(CP) $< $@
+	$(CHMOD) 755 $@
 
 $(JDK_OUTPUTDIR)/lib/$(LIBARCH)/libjdgaSUNW%.so: $(JDK_TOPDIR)/src/closed/solaris/lib/$(ARCH)/libjdgaSUNW%.so
 	$(MKDIR) -p $(@D)
 	$(RM) $@
 	$(CP) $< $@
+	$(CHMOD) 755 $@
 
 $(JDK_OUTPUTDIR)/lib/$(LIBARCH)/libjdgaSUNWafb.so: $(JDK_OUTPUTDIR)/lib/$(LIBARCH)/libjdgaSUNWffb.so
 	$(MKDIR) -p $(@D)
@@ -549,7 +562,7 @@
 
 ##########################################################################################
 
-ifeq ($(PLATFORM), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
 
 SUNPKCS11_CFG_SRC := $(JDK_TOPDIR)/src/share/lib/security/sunpkcs11-solaris.cfg
 SUNPKCS11_CFG_DST := $(JDK_OUTPUTDIR)/lib/security/sunpkcs11-solaris.cfg
@@ -566,7 +579,7 @@
 ##########################################################################################
 
 ifndef OPENJDK
-ifeq ($(PLATFORM), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
 
 UCRYPTO_CFG_SRC := $(JDK_TOPDIR)/src/closed/share/lib/security/ucrypto-solaris.cfg
 UCRYPTO_CFG_DST := $(JDK_OUTPUTDIR)/lib/security/ucrypto-solaris.cfg
--- a/jdk/makefiles/CopyIntoClasses.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/CopyIntoClasses.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -133,7 +133,7 @@
   $(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/icons/ocean/*.png) \
   $(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/sounds/*.wav)
 
-ifneq ($(PLATFORM), windows)
+ifneq ($(OPENJDK_TARGET_OS), windows)
   # Only copy GTK resources on Solaris/Linux
   SWING_PLAF_GTK_RESOURCES_DIR = $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/gtk
   COPY_FILES += \
@@ -174,11 +174,11 @@
 $(shell $(MKDIR) -p $(JDK_OUTPUTDIR)/classes/META-INF/services)
 # Find all META-INF/services/* files
 ALL_META-INF_DIRS_share:=$(shell $(FIND) $(JDK_TOPDIR)/src/share/classes -type d -a -name META-INF)
-ALL_META-INF_DIRS_hostapi:=$(shell $(FIND) $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes -type d -a -name META-INF)
+ALL_META-INF_DIRS_targetapi:=$(shell $(FIND) $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes -type d -a -name META-INF)
 # Platform specific overrides shared
-ifneq ($(ALL_META-INF_DIRS_hostapi),)
-    ALL_META-INF_DIRS:=$(ALL_META-INF_DIRS_hostapi) \
-	$(filter-out %$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes%,%,$(ALL_META-INF_DIRS_hostapi)),\
+ifneq ($(ALL_META-INF_DIRS_targetapi),)
+    ALL_META-INF_DIRS:=$(ALL_META-INF_DIRS_targetapi) \
+	$(filter-out %$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes%,%,$(ALL_META-INF_DIRS_targetapi)),\
 		$(ALL_META-INF_DIRS_share))
 else
     ALL_META-INF_DIRS:=$(ALL_META-INF_DIRS_share)
@@ -189,7 +189,7 @@
 endif
 
 ifndef OPENJDK
-ifneq ($(PLATFORM), macosx)
+ifneq ($(OPENJDK_TARGET_OS), macosx)
     ALL_META-INF_DIRS += $(JDK_TOPDIR)/src/closed/share/classes/sun/jdbc/odbc/META-INF
 endif
 endif
@@ -216,9 +216,9 @@
 	$(shell $(PRINTF) "$(SRC_SERVICES_FILES)\n" | $(SED) -e 's|/[^ ]*/META-INF/services/||g'))
 OUT_SERVICES_FILES_COLON:=$(addsuffix :,$(OUT_SERVICES_FILES))
 # Exception handling for print services with no META-INF directory
-SRC_SERVICES_FILES_PRINT = $(wildcard $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/sun/print/services/*)
+SRC_SERVICES_FILES_PRINT = $(wildcard $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes/sun/print/services/*)
 OUT_SERVICES_FILES_PRINT = $(addprefix $(JDK_OUTPUTDIR)/classes/META-INF/services/,\
-	$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/sun/print/services/%,%,\
+	$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes/sun/print/services/%,%,\
 		$(SRC_SERVICES_FILES_PRINT)))
 OUT_SERVICES_FILES_PRINT_COLON = $(addsuffix :,$(OUT_SERVICES_FILES_PRINT))
 RULES_SERVICES_PRINT = $(join $(OUT_SERVICES_FILES_PRINT_COLON),$(SRC_SERVICES_FILES_PRINT))
@@ -229,7 +229,7 @@
 define addto_meta-inf_services
 $1
 	echo Installing META-INF/services/$$(@F) 
-	$(CAT) $$< | $(SED) -e "s/^#\[$(PLATFORM)\]//" > $$@
+	$(CAT) $$< | $(SED) -e "s/^#\[$(OPENJDK_TARGET_OS)\]//" > $$@
 endef
 $(foreach i,$(META-INF_RULES_SERVICES),$(eval $(call addto_meta-inf_services,$i)))
 # Here is the generic rule, whose receipt the above rules will trigger.
@@ -261,13 +261,13 @@
 
 COPY_EXTRA += $(foreach F,$(notdir $(JAVAX_SOUND_SRC_FILES)),$(JDK_OUTPUTDIR)/classes/META-INF/services/${F})
 
-ifeq ($(PLATFORM)-$(ARCH),windows-ia64)
+ifeq ($(OPENJDK_TARGET_OS)-$(ARCH),windows-ia64)
 	JAVAX_SOUND_SRC_FILES += windows-ia64/javax.sound.sampled.spi.MixerProvider
 	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
-else ifeq ($(PLATFORM),windows)
+else ifeq ($(OPENJDK_TARGET_OS),windows)
 	JAVAX_SOUND_SRC_FILES += windows-i586/javax.sound.sampled.spi.MixerProvider
 	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
-else ifeq ($(PLATFORM)-$(ARCH),linux-i586)
+else ifeq ($(OPENJDK_TARGET_OS)-$(ARCH),linux-i586)
 	JAVAX_SOUND_SRC_FILES += linux-i586/javax.sound.sampled.spi.MixerProvider
 	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
 else
--- a/jdk/makefiles/CopySamples.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/CopySamples.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -46,7 +46,7 @@
     SAMPLE_TARGET += $(SAMPLE_CLOSED_TARGET)
 endif
 
-ifneq (, $(filter $(PLATFORM), solaris macosx))
+ifneq (, $(filter $(OPENJDK_TARGET_OS), solaris macosx))
     SAMPLE_SOLARIS_SOURCE := $(shell $(FIND) $(SAMPLE_SOLARIS_SOURCE_DIR) -type f -print)
     SAMPLE_SOLARIS_TARGET := $(subst $(SAMPLE_SOLARIS_SOURCE_DIR),$(SAMPLE_TARGET_DIR),$(SAMPLE_SOLARIS_SOURCE))
     SAMPLE_TARGET += $(SAMPLE_SOLARIS_TARGET)
@@ -72,4 +72,3 @@
 all: $(COPY_FILES) 
 
 .PHONY: all
-
--- a/jdk/makefiles/CreateJars.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/CreateJars.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -32,6 +32,10 @@
 
 include Tools.gmk
 
+#
+# This makefile...so that altering will trigger rebuilding include/exclude-lists => jars
+#
+MAKEFILE=$(JDK_TOPDIR)/makefiles/CreateJars.gmk
 
 MAINMANIFEST := $(JDK_TOPDIR)/make/tools/manifest.mf
 BEANMANIFEST := $(JDK_TOPDIR)/make/javax/swing/beaninfo/manifest
@@ -46,7 +50,7 @@
 
 $(eval $(call SetupArchive,BUILD_JCONSOLE_JAR,$(JCONSOLE_JAR_DEPS),\
 		SRCS:=$(JDK_OUTPUTDIR)/classes,\
-		SUFFIXES:=.class .gif .png,\
+		SUFFIXES:=.class .gif .png .properties,\
 		INCLUDES:=sun/tools/jconsole com/sun/tools/jconsole,\
 		JARMAIN:=sun.tools.jconsole.JConsole,\
 		JAR:=$(JDK_OUTPUTDIR)/lib/jconsole.jar,\
@@ -242,12 +246,35 @@
 	sun/swing/BeanInfoUtils.class \
 	$(LOCALEDATA_INCLUDES)
 
-ifndef OPENJDK
-ifndef JAVASE_EMBEDDED
+# These files should never be put into rt.jar
+# but due to a misstake...some are put there if embedded
+#
+ifneq ($(JAVASE_EMBEDDED), true)
+# normal (correct) case
 RT_JAR_EXCLUDES += \
 	com/oracle/jrockit/jfr \
 	oracle/jrockit/jfr
+else
+# embedded (broken) case
+RT_JAR_EXCLUDES += \
+  oracle/jrockit/jfr/parser \
+  oracle/jrockit/jfr/tools \
+  oracle/jrockit/jfr/NativeOptions.class \
+  oracle/jrockit/jfr/RepositoryChunkHandler.class
 endif
+
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+        RT_JAR_EXCLUDES += com/sun/nio/sctp \
+                           sun/nio/ch/sctp \
+                           sun/jdbc \
+                           sun/nio/ch/DevPollArrayWrapper\$$$$Updator.class \
+                           sun/nio/ch/DevPollArrayWrapper.class \
+                           sun/nio/ch/DevPollSelectorImpl.class \
+                           sun/nio/ch/DevPollSelectorProvider.class \
+                           sun/nio/ch/EPollArrayWrapper\$$$$Updator.class \
+                           sun/nio/ch/EPollArrayWrapper.class \
+                           sun/nio/ch/EPollSelectorImpl.class \
+                           sun/nio/ch/EPollSelectorProvider.class
 endif
 
 # Find all files in the classes dir to use as dependencies. This could be more fine granular.
@@ -271,12 +298,19 @@
 	       -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \
 	       $(MAINMANIFEST) >> $@
 
-$(JDK_OUTPUTDIR)/lib/_the.jars.exclude:
+$(JDK_OUTPUTDIR)/lib/_the.jars.exclude: $(MAKEFILE)
 	$(MKDIR) -p $(@D)
 	$(call ListPathsSafely,RT_JAR_EXCLUDES,\n, >> $@)
 
+$(JDK_OUTPUTDIR)/lib/classlist : $(JDK_TOPDIR)/make/tools/sharing/classlist.$(OPENJDK_TARGET_OS) \
+  $(MAKEFILE)
+	$(MKDIR) -p $(@D)
+	$(RM) -f $@.temp
+	$(TOOL_ADDJSUM) $< $@.temp
+	$(MV) $@.temp $@
+
 $(JDK_OUTPUTDIR)/lib/_the.jars.contents: $(BUILD_TOOLS) $(JDK_OUTPUTDIR)/lib/_the.jars.exclude \
-					 $(ALL_FILES_IN_CLASSES)
+					 $(ALL_FILES_IN_CLASSES) $(JDK_OUTPUTDIR)/lib/classlist
 	$(MKDIR) -p $(@D)
 	$(RM) $@.temp
 	($(CD) $(JDK_OUTPUTDIR)/classes && \
@@ -290,17 +324,22 @@
 $(JDK_OUTPUTDIR)/lib/_the.resources.jar.contents: $(JDK_OUTPUTDIR)/lib/_the.jars.contents
 	$(GREP) -v -e '\.class$$' -e '/_the\.*' -e '^_the\.*' $(JDK_OUTPUTDIR)/lib/_the.jars.contents > $@
 
+RT_JAR_CREATE_OPTIONS := c0fm
+ifeq ($(COMPRESS_JARS), true)
+    RT_JAR_CREATE_OPTIONS := cfm
+endif
+
 $(JDK_OUTPUTDIR)/lib/rt.jar: $(JDK_OUTPUTDIR)/lib/_the.rt.jar.contents $(RT_JAR_MANIFEST_FILE)
 	$(ECHO) Creating rt.jar
 	$(CD) $(JDK_OUTPUTDIR)/classes && \
-	    $(JAR) cfm $@ $(RT_JAR_MANIFEST_FILE) \
+	    $(JAR) $(RT_JAR_CREATE_OPTIONS) $@ $(RT_JAR_MANIFEST_FILE) \
 	        @$(JDK_OUTPUTDIR)/lib/_the.rt.jar.contents
 
 $(JDK_OUTPUTDIR)/lib/resources.jar: $(JDK_OUTPUTDIR)/lib/_the.resources.jar.contents \
 				    $(RESOURCE_JAR_MANIFEST_FILE)
 	$(ECHO) Creating resources.jar
 	$(CD) $(JDK_OUTPUTDIR)/classes && \
-	    $(JAR) cfm $@ $(RESOURCE_JAR_MANIFEST_FILE) \
+	    $(JAR) $(RT_JAR_CREATE_OPTIONS) $@ $(RESOURCE_JAR_MANIFEST_FILE) \
 	        @$(JDK_OUTPUTDIR)/lib/_the.resources.jar.contents
 
 JARS+=$(JDK_OUTPUTDIR)/lib/rt.jar $(JDK_OUTPUTDIR)/lib/resources.jar
@@ -309,7 +348,7 @@
 
 CHARSETS_JAR_DEPS :=
 
-ifneq ($(HOST_OS), windows)
+ifneq ($(OPENJDK_TARGET_OS), windows)
     CHARSETS_EXTRA_FILES:=sun/awt/motif/X11GBK.class \
                           sun/awt/motif/X11GB2312\$$$$Decoder.class \
                           sun/awt/motif/X11GB2312.class \
@@ -328,20 +367,22 @@
 			       $(CHARSETS_EXTRA_FILES) \
                                META-INF/services/java.nio.charset.spi.CharsetProvider, \
 		JAR:=$(JDK_OUTPUTDIR)/lib/charsets.jar, \
-		SKIP_METAINF := true))
+		SKIP_METAINF := true, \
+                CHECK_COMPRESS_JAR:=true))
 
 JARS+=$(JDK_OUTPUTDIR)/lib/charsets.jar
 
 ##########################################################################################
 
-ifndef OPENJDK
+ifeq ($(ENABLE_JFR), true)
     $(eval $(call SetupArchive,BUILD_JFR_JAR,,\
 		SRCS:=$(JDK_OUTPUTDIR)/classes,\
 		INCLUDES:=com/oracle/jrockit/jfr \
 			  oracle/jrockit/jfr,\
 		JAR:=$(JDK_OUTPUTDIR)/lib/jfr.jar,\
 		SKIP_METAINF:=true,\
-		MANIFEST:=$(MAINMANIFEST)))
+		MANIFEST:=$(MAINMANIFEST), \
+                CHECK_COMPRESS_JAR:=true))
 
     JARS+=$(JDK_OUTPUTDIR)/lib/jfr.jar
 endif
@@ -356,13 +397,14 @@
 			  com/sun/net/ssl/internal/ssl,\
 		JAR:=$(JDK_OUTPUTDIR)/lib/jsse.jar,\
 		SKIP_METAINF:=true,\
-		MANIFEST:=$(MAINMANIFEST)))
+		MANIFEST:=$(MAINMANIFEST), \
+                CHECK_COMPRESS_JAR:=true))
 
 JARS+=$(JDK_OUTPUTDIR)/lib/jsse.jar
 
 ##########################################################################################
 
-ifneq ($(PLATFORM)-$(ARCH_DATA_MODEL),windows-64)
+ifneq ($(OPENJDK_TARGET_OS)-$(ARCH_DATA_MODEL),windows-64)
     SUNPKCS11_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/sunpkcs11.jar
 
     ifndef OPENJDK
@@ -544,7 +586,7 @@
 
 ##########################################################################################
 
-ifeq ($(PLATFORM),windows)
+ifeq ($(OPENJDK_TARGET_OS),windows)
 
 SUNMSCAPI_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/sunmscapi.jar
 
@@ -574,7 +616,7 @@
 
 ##########################################################################################
 
-ifeq ($(PLATFORM),solaris)
+ifeq ($(OPENJDK_TARGET_OS),solaris)
 ifndef OPENJDK
 
 UCRYPTO_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/ucrypto.jar
@@ -661,7 +703,8 @@
 			     META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \
 			     META-INF/services/com.sun.tools.internal.xjc.Plugin,\
 		JAR:=$(JDK_OUTPUTDIR)/lib/tools.jar,\
-		SKIP_METAINF:=true))
+		SKIP_METAINF:=true, \
+                CHECK_COMPRESS_JAR:=true))
 
 JARS+=$(JDK_OUTPUTDIR)/lib/tools.jar
 
@@ -696,6 +739,7 @@
                         com.oracle.nio
 
 $(IMAGES_OUTPUTDIR)/symbols/_the.symbols: $(JDK_OUTPUTDIR)/lib/rt.jar
+	$(RM) -rf $(IMAGES_OUTPUTDIR)/symbols/META-INF/sym
 	$(MKDIR) -p $(IMAGES_OUTPUTDIR)/symbols/META-INF/sym
 	$(JAVA) \
 		-Xbootclasspath/a:$(JDK_OUTPUTDIR)/classes \
@@ -711,7 +755,8 @@
 $(eval $(call SetupArchive,BUILD_CT_SYM,$(IMAGES_OUTPUTDIR)/symbols/_the.symbols,\
 		SRCS:=$(IMAGES_OUTPUTDIR)/symbols,\
 		INCLUDES:=META-INF/sym,\
-		JAR:=$(JDK_OUTPUTDIR)/lib/ct.sym))
+		JAR:=$(JDK_OUTPUTDIR)/lib/ct.sym, \
+		CHECK_COMPRESS_JAR:=true))
 
 JARS+=$(JDK_OUTPUTDIR)/lib/ct.sym
 
@@ -765,7 +810,7 @@
 	org/xml/sax			\
 	sunw
 
-SRC_ZIP_SRCS = $(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes
+SRC_ZIP_SRCS = $(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes
 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/gensrc
 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/impsrc
 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/gendocsrc_rmic
@@ -776,16 +821,16 @@
 # Need to copy launcher src files into desired directory structure
 # before zipping the sources.
 LAUNCHER_SRC_FILES := $(wildcard $(JDK_TOPDIR)/src/share/bin/*) \
-                      $(wildcard $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin/java_md*)
+                      $(wildcard $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/bin/java_md*)
 LAUNCHER_ZIP_SRC := $(patsubst $(JDK_TOPDIR)/src/share/bin/%,$(IMAGES_OUTPUTDIR)/src/launcher/%,\
-		    $(patsubst $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin/%,$(IMAGES_OUTPUTDIR)/src/launcher/%,\
+		    $(patsubst $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/bin/%,$(IMAGES_OUTPUTDIR)/src/launcher/%,\
 			$(LAUNCHER_SRC_FILES)))
 
 $(IMAGES_OUTPUTDIR)/src/launcher/%: $(JDK_TOPDIR)/src/share/bin/%
 	$(MKDIR) -p $(@D)
 	$(CP) $< $@
 
-$(IMAGES_OUTPUTDIR)/src/launcher/%: $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin/%
+$(IMAGES_OUTPUTDIR)/src/launcher/%: $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/bin/%
 	$(MKDIR) -p $(@D)
 	$(CP) $< $@
 
--- a/jdk/makefiles/GendataBreakIterator.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/GendataBreakIterator.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -35,10 +35,10 @@
 #
 TEXT_SRCDIR = $(JDK_TOPDIR)/src/share/classes
 TEXT_PKG  = sun/text/resources
-TEXT_SOURCES = 	%$(TEXT_PKG)/BreakIteratorRules.java \
-		%$(TEXT_PKG)/BreakIteratorInfo.java \
-		%$(TEXT_PKG)/BreakIteratorRules_th.java \
-		%$(TEXT_PKG)/BreakIteratorInfo_th.java
+TEXT_SOURCES = 	$(TEXT_PKG)/BreakIteratorRules.java \
+		$(TEXT_PKG)/BreakIteratorInfo.java \
+		$(TEXT_PKG)/BreakIteratorRules_th.java \
+		$(TEXT_PKG)/BreakIteratorInfo_th.java
 
 # Generate BreakIteratorData
 BREAK_ITERATOR_DIR = $(JDK_OUTPUTDIR)/break_iterator
--- a/jdk/makefiles/GendataFontConfig.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/GendataFontConfig.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -25,13 +25,13 @@
 
 GENDATA_FONT_CONFIG_DST := $(JDK_OUTPUTDIR)/lib
 
-ifeq ($(PLATFORM), windows)
+ifeq ($(OPENJDK_TARGET_OS), windows)
 GENDATA_FONT_CONFIG_SRC_DIR    := $(JDK_TOPDIR)/src/windows/classes/sun/awt/windows
 GENDATA_FONT_CONFIG_SRC_FILES  := fontconfig.properties
 GENDATA_FONT_CONFIG_SRC_PREFIX := 
 endif
 
-ifeq ($(PLATFORM), linux)
+ifeq ($(OPENJDK_TARGET_OS), linux)
 GENDATA_FONT_CONFIG_SRC_PREFIX := linux.
 ifdef OPENJDK
 GENDATA_FONT_CONFIG_SRC_DIR   := $(JDK_TOPDIR)/src/solaris/classes/sun/awt/fontconfigs
@@ -52,27 +52,29 @@
 endif
 endif
 
-ifeq ($(PLATFORM), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
 GENDATA_FONT_CONFIG_SRC_DIR    := $(JDK_TOPDIR)/src/solaris/classes/sun/awt/fontconfigs
 GENDATA_FONT_CONFIG_SRC_FILES  := fontconfig.properties
 GENDATA_FONT_CONFIG_SRC_PREFIX := solaris.
 endif
 
-ifeq ($(PLATFORM), macosx)
+ifeq ($(OPENJDK_TARGET_OS), macosx)
 GENDATA_FONT_CONFIG_SRC_DIR    := $(JDK_TOPDIR)/src/macosx/classes/sun/awt/fontconfigs
 GENDATA_FONT_CONFIG_SRC_FILES  := fontconfig.properties
 GENDATA_FONT_CONFIG_SRC_PREFIX := macosx.
-endif # PLATFORM
+endif # OPENJDK_TARGET_OS
 
 ###
 
 $(GENDATA_FONT_CONFIG_DST)/%.src : $(GENDATA_FONT_CONFIG_SRC_DIR)/$(GENDATA_FONT_CONFIG_SRC_PREFIX)%
 	$(MKDIR) -p $(@D)
 	$(CP) $< $@
+	$(CHMOD) 644 $@
 
 $(GENDATA_FONT_CONFIG_DST)/%.bfc : $(GENDATA_FONT_CONFIG_SRC_DIR)/$(GENDATA_FONT_CONFIG_SRC_PREFIX)%.properties
 	$(MKDIR) -p $(@D)
 	$(TOOL_COMPILEFONTCONFIG) $< $@
+	$(CHMOD) 444 $@
 
 ###
 
--- a/jdk/makefiles/GendataHtml32dtd.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/GendataHtml32dtd.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -32,5 +32,4 @@
 	$(RM) $@
 	($(TOOL_DTDBUILDER) html32 > $@) || exit 1
 
-GENDATA_HTML32DTD += $(HTML32DTD)
-
+GENDATA_HTML32DTD += $(HTML32DTD)
\ No newline at end of file
--- a/jdk/makefiles/GenerateClasses.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/GenerateClasses.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -27,7 +27,13 @@
 
 include $(SPEC)
 include MakeBase.gmk
-include RMICompile.gmk
+include RMICompilation.gmk
+
+# To ensure the latest stub generator files are picked up from corba repo
+# when available, we need to run with latest rmic version available. 
+ifeq ($(CROSS_COMPILE_ARCH),)
+    RMIC := $(UNCYGDRIVE) $(JDK_OUTPUTDIR)/bin/rmic
+endif  
 
 CLASSES_DIR := $(JDK_OUTPUTDIR)/classes
 # NOTE: If the smart javac dependency management is reintroduced, these classes risk 
--- a/jdk/makefiles/GenerateData.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/GenerateData.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -69,6 +69,7 @@
 	$(RM) $@
 	$(TOOL_GENERATECURRENCYDATA) -o $@.temp < $<
 	$(MV) $@.temp $@
+	$(CHMOD) 444 $@
 
 GENDATA += $(GENDATA_CURDATA)
 
--- a/jdk/makefiles/GenerateJavaSources.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/GenerateJavaSources.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -65,7 +65,7 @@
 include GensrcExceptions.gmk
 GENSRC += $(GENSRC_EXCEPTIONS)
 
-ifneq ($(HOST_OS),windows)
+ifneq ($(OPENJDK_TARGET_OS),windows)
 include GensrcIcons.gmk
 GENSRC += $(GENSRC_ICONS)
 
@@ -78,6 +78,11 @@
   GENSRC += $(GENSRC_SWING_NIMBUS)
 endif
 
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+     include GensrcJObjC.gmk
+     GENSRC += $(GENSRC_JOBJC)
+endif
+
 $(GENSRC) : $(BUILD_TOOLS)
 
 # The exception handling of swing beaninfo
@@ -100,7 +105,10 @@
 		$(MKDIR) -p gensrc/javax/swing/plaf && \
 		$(CP) -rp gensrc_swing/javax/swing/plaf/* gensrc/javax/swing/plaf) \
 	fi
-ifneq ($(HOST_OS),windows)
+	if [ -d $(JDK_OUTPUTDIR)/gensrc_jobjc ] ; then \
+		(cd $(JDK_OUTPUTDIR) && cp -rp gensrc_jobjc/src/* gensrc) \
+	fi
+ifneq ($(OPENJDK_TARGET_OS),windows)
 	(cd $(JDK_OUTPUTDIR) && \
 		$(CP) -rp gensrc_icons/* gensrc && \
 		$(CP) -rp gensrc_x11wrappers/classes/* gensrc)
--- a/jdk/makefiles/GensrcBuffer.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/GensrcBuffer.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -198,6 +198,7 @@
 	$(if $(12),$1_$(strip $(12)))
 	$(if $(13),$1_$(strip $(13)))
 	$(if $(14),$1_$(strip $(14)))
+	$(if $(15),$(error Internal makefile error: Too many arguments to SetupGenBuffer, please update GensrcBuffer.gmk))
 
 	$(call fixRw,$1,$$($1_RW))
 	$(call typesAndBits,$1,$$($1_type),$$($1_BO))
--- a/jdk/makefiles/GensrcIcons.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/GensrcIcons.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -29,7 +29,7 @@
 GENSRC_ICONS_DST := $(GENSRC_ICONS_TMP)/sun/awt/X11
 
 ifdef OPENJDK
-	ICONS_PATH_PREFIX := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)
+	ICONS_PATH_PREFIX := $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)
 else
 	ICONS_PATH_PREFIX := $(JDK_TOPDIR)/src/closed/solaris
 endif
@@ -41,7 +41,7 @@
     $(ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon48.png
 
 
-ICONPATH := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/sun/awt/X11
+ICONPATH := $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes/sun/awt/X11
 
 GENSRC_ICONS_SRC += \
    $(ICONPATH)/security-icon-bw16.png \
@@ -86,7 +86,7 @@
 	$(ECHO) "public class $$($1_NAME32) {" >> $$@.tmp
 	$(ECHO) "public static int[] $$($1_SHORTNAME) = { " >> $$@.tmp
 # TODO FIX FIX FIX
-ifneq ($(PLATFORM),macosx)
+ifneq ($(OPENJDK_TARGET_OS),macosx)
 	$(CAT) $$< | $(TOOL_TOBIN) >> $$@.tmp
 endif
 	$(ECHO) "}; }" >> $$@.tmp
@@ -100,7 +100,7 @@
 	$(ECHO) "public class $$($1_NAME64) {" >> $$@.tmp
 	$(ECHO) "public static long[] $$($1_SHORTNAME) = { " >> $$@.tmp
 # TODO FIX FIX FIX
-ifneq ($(PLATFORM),macosx)
+ifneq ($(OPENJDK_TARGET_OS),macosx)
 	$(CAT) $$< | $(TOOL_TOBIN) >> $$@.tmp
 endif
 	$(ECHO) "}; }" >> $$@.tmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/makefiles/GensrcJObjC.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -0,0 +1,80 @@
+#
+# Copyright (c) 2011, 2012, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+
+GENSRC_JOBJC :=
+
+JOBJC_FRAMEWORKS := Foundation CoreFoundation AppKit
+FRAMEWORKS_DIR := /System/Library/Frameworks
+GBM := /usr/bin/gen_bridge_metadata
+
+JOBJC_SRC := $(JDK_TOPDIR)/src/macosx/native/jobjc
+JOBJC_TMP := $(JDK_OUTPUTDIR)/gensrc_jobjc
+JOBJC_DST := $(JDK_OUTPUTDIR)/gensrc_jobjc/src
+
+#
+# Build generator
+#
+$(eval $(call SetupJavaCompilation,BUILD_JOBJC_PRIMITIVE_CODER,\
+		SETUP:=GENERATE_OLDBYTECODE,\
+		INCLUDES:=core/java \
+                          com/apple,\
+                HEADERS :=$(JOBJC_DST)/jni_headers/core ,\
+		SRC:=$(JOBJC_SRC)/src \
+                     $(JOBJC_SRC)/src/generator/java, \
+		BIN:=$(JOBJC_TMP)/bin))
+
+GENSRC_JOBJC += $(JOBJC_TMP)/bin/_the.batch
+
+#
+# Generate bridge support
+#
+BRIDGESUPPORT := $(addprefix $(JOBJC_TMP)/bridge/,$(addsuffix Full.bridgesupport,$(JOBJC_FRAMEWORKS)))
+
+$(JOBJC_TMP)/bridge/%Full.bridgesupport : $(FRAMEWORKS_DIR)/%.framework/Headers/*.h
+	$(MKDIR) -p $(@D)
+	if [ -f $(FRAMEWORKS_DIR)/$*.framework/Resources/BridgeSupport/$(@F) ]; then \
+		cp $(FRAMEWORKS_DIR)/$*.framework/Resources/BridgeSupport/$(@F) $@ ;\
+	else \
+		$(GBM) -F complete --framework $* -o $@ ; \
+	fi
+
+#
+# Find Xbootclasspath
+#
+$(JOBJC_TMP)/_the.generator_bootclasspath : $(JOBJC_TMP)/bin/_the.batch
+	$(JAVA) -cp $(JOBJC_TMP)/bin com.apple.internal.jobjc.generator.BootClassPathMinus JObjC.jar > $@.tmp
+	$(MV) $@.tmp $@
+
+
+#
+# Run generator
+#
+TOOL_JOBJC := $(JAVA) -cp $(JOBJC_TMP)/bin -ea com.apple.internal.jobjc.generator.Generator
+
+$(JOBJC_TMP)/_the.generator : $(JOBJC_TMP)/bin/_the.batch $(JOBJC_TMP)/_the.generator_bootclasspath $(BRIDGESUPPORT)
+	$(JAVA) -d64 -Xbootclasspath:`$(CAT) $(JOBJC_TMP)/_the.generator_bootclasspath` -cp $(JOBJC_TMP)/bin -ea com.apple.internal.jobjc.generator.Generator dst=$(JOBJC_DST) frameworks=$(JOBJC_TMP)/bridge
+	$(TOUCH) $@
+
+GENSRC_JOBJC += $(JOBJC_TMP)/_the.generator
--- a/jdk/makefiles/GensrcMisc.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/GensrcMisc.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -53,9 +53,9 @@
 
 ##########################################################################################
 
-ifeq ($(HOST_OS_API),posix)
-    UPSUFFIX:=$(PLATFORM)
-    ifeq ($(PLATFORM),macosx)
+ifeq ($(OPENJDK_TARGET_OS_API),posix)
+    UPSUFFIX:=$(OPENJDK_TARGET_OS)
+    ifeq ($(OPENJDK_TARGET_OS),macosx)
         UPSUFFIX:=bsd
     endif
     # UNIXProcess.java is different for solaris and linux. We need to copy
@@ -64,7 +64,7 @@
     $(JDK_OUTPUTDIR)/gensrc_misc/java/lang/UNIXProcess.java : \
               $(JDK_TOPDIR)/src/solaris/classes/java/lang/UNIXProcess.java.$(UPSUFFIX)
 	$(MKDIR) -p $(@D)
-	$(ECHO) Copying UNIXProcess.java.$(PLATFORM) to java/lang/UNIXProcess.java
+	$(ECHO) Copying UNIXProcess.java.$(OPENJDK_TARGET_OS) to java/lang/UNIXProcess.java
 	$(CP) $< $@
 	$(CHMOD) u+rw $@
 
@@ -74,8 +74,8 @@
 ##########################################################################################
 
 ifndef OPENJDK
-ifneq ($(PLATFORM), windows)
-ifneq ($(PLATFORM), macosx)
+ifneq ($(OPENJDK_TARGET_OS), windows)
+ifneq ($(OPENJDK_TARGET_OS), macosx)
     # These file(s) are needed for building fake .so libs on !windows for jdbcodbc
 
     $(JDK_OUTPUTDIR)/gensrc_c/libjdbcodbc/dummyodbc1.c : 
@@ -101,85 +101,98 @@
 
 GENSRC_SOR_SRC := $(JDK_TOPDIR)/src/share/native/sun/nio/ch
 GENSRC_SOR_SRC_FILE := genSocketOptionRegistry.c
-GENSRC_SOR_BIN := $(JDK_OUTPUTDIR)/objs/gensrc/genSocketOptionRegistry
-GENSRC_SOR_EXE := $(GENSRC_SOR_BIN)/genSocketOptionRegistry$(EXE_SUFFIX)
+GENSRC_SOR_BIN := $(JDK_OUTPUTDIR)/gensrc_misc/genSocketOptionRegistry
 
 SOR_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_SOR_SRC)/$(GENSRC_SOR_SRC_FILE) | \
 	$(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }') 
 
-$(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/ch/SocketOptionRegistry.java : $(GENSRC_SOR_EXE)
-	$(MKDIR) -p $(@D)
-	NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/makefiles/scripts/addNotices.sh "$(SOR_COPYRIGHT_YEARS)" > $@.tmp
-	$(GENSRC_SOR_EXE) >> $@.tmp
-	$(MV) $@.tmp $@
-
-
 $(eval $(call SetupNativeCompilation,BUILD_GENSRC_SOR_EXE,\
 		SRC:=$(GENSRC_SOR_SRC),\
 		INCLUDE_FILES:=$(GENSRC_SOR_SRC_FILE),\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB),\
-		BIN:=$(GENSRC_SOR_BIN),\
-		EXE:=$(GENSRC_SOR_EXE)))
+		CC:=$(HOST_CC),\
+		LDEXE:=$(HOST_LD),\
+		OBJECT_DIR:=$(GENSRC_SOR_BIN),\
+		OUTPUT_DIR:=$(GENSRC_SOR_BIN),\
+                PROGRAM:=genSocketOptionRegistry))
+
+ifneq ($(JAVASE_EMBEDDED), true)
+$(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/ch/SocketOptionRegistry.java : $(BUILD_GENSRC_SOR_EXE)
+	$(MKDIR) -p $(@D)
+	NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/makefiles/scripts/addNotices.sh "$(SOR_COPYRIGHT_YEARS)" > $@.tmp
+	$(BUILD_GENSRC_SOR_EXE) >> $@.tmp
+	$(MV) $@.tmp $@
+else
+$(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/ch/SocketOptionRegistry.java : $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/ch/SocketOptionRegistry-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java
+	$(MKDIR) -p $(@D)
+	$(CP) $< $@
+endif
 
 ##########################################################################################
 
-ifneq ($(PLATFORM),windows)
+ifneq ($(OPENJDK_TARGET_OS),windows)
 
 GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/fs/UnixConstants.java
 
-GENSRC_UC_SRC := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/nio/fs
+GENSRC_UC_SRC := $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/nio/fs
 GENSRC_UC_SRC_FILE := genUnixConstants.c
-GENSRC_UC_BIN := $(JDK_OUTPUTDIR)/objs/gensrc/genUnixConstants
-GENSRC_UC_EXE := $(GENSRC_UC_BIN)/genUnixConstants$(EXE_SUFFIX)
+GENSRC_UC_BIN := $(JDK_OUTPUTDIR)/gensrc_misc/genUnixConstants
 
 UC_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_UC_SRC)/$(GENSRC_UC_SRC_FILE) | \
 	$(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }') 
 
-$(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/fs/UnixConstants.java : $(GENSRC_UC_EXE)
-	$(MKDIR) -p $(@D)
-	NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/makefiles/scripts/addNotices.sh "$(UC_COPYRIGHT_YEARS)" > $@.tmp
-	$(GENSRC_UC_EXE) >> $@.tmp
-	$(MV) $@.tmp $@
-
-
 $(eval $(call SetupNativeCompilation,BUILD_GENSRC_UC_EXE,\
 		SRC:=$(GENSRC_UC_SRC),\
 		INCLUDE_FILES:=$(GENSRC_UC_SRC_FILE),\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB),\
-		BIN:=$(GENSRC_UC_BIN),\
-		EXE:=$(GENSRC_UC_EXE)))
+		CC:=$(HOST_CC),\
+		LDEXE:=$(HOST_CC),\
+		OBJECT_DIR:=$(GENSRC_UC_BIN),\
+                OUTPUT_DIR:=$(GENSRC_UC_BIN),\
+		PROGRAM:=genUnixConstants))
+
+ifneq ($(JAVASE_EMBEDDED), true)
+$(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/fs/UnixConstants.java : $(BUILD_GENSRC_UC_EXE)
+	$(MKDIR) -p $(@D)
+	NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/makefiles/scripts/addNotices.sh "$(UC_COPYRIGHT_YEARS)" > $@.tmp
+	$(BUILD_GENSRC_UC_EXE) >> $@.tmp
+	$(MV) $@.tmp $@
+else
+$(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/fs/UnixConstants.java : $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/fs/UnixConstants-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java
+	$(MKDIR) -p $(@D)
+	$(CP) $< $@
+endif
 
 endif
 
 ##########################################################################################
 
-ifeq ($(PLATFORM),solaris)
+ifeq ($(OPENJDK_TARGET_OS),solaris)
 
 GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/fs/SolarisConstants.java
 
-GENSRC_SOL_SRC := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/nio/fs
+GENSRC_SOL_SRC := $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/nio/fs
 GENSRC_SOL_SRC_FILE := genSolarisConstants.c
-GENSRC_SOL_BIN := $(JDK_OUTPUTDIR)/objs/gensrc/genSolarisConstants
-GENSRC_SOL_EXE := $(GENSRC_SOL_BIN)/genSolarisConstants$(EXE_SUFFIX)
+GENSRC_SOL_BIN := $(JDK_OUTPUTDIR)/gensrc_misc/genSolarisConstants
 
 SOL_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_SOL_SRC)/$(GENSRC_SOL_SRC_FILE) | \
 	$(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }') 
 
-$(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/fs/SolarisConstants.java : $(GENSRC_SOL_EXE)
-	$(MKDIR) -p $(@D)
-	NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/makefiles/scripts/addNotices.sh "$(SOL_COPYRIGHT_YEARS)" > $@.tmp
-	$(GENSRC_SOL_EXE) >> $@.tmp
-	$(MV) $@.tmp $@
-
-
 $(eval $(call SetupNativeCompilation,BUILD_GENSRC_SOL_EXE,\
 		SRC:=$(GENSRC_SOL_SRC),\
 		INCLUDE_FILES:=$(GENSRC_SOL_SRC_FILE),\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB),\
-		BIN:=$(GENSRC_SOL_BIN),\
-		EXE:=$(GENSRC_SOL_EXE)))
+		CC:=$(HOST_CC),\
+		LDEXE:=$(HOST_CC),\
+		OBJECT_DIR:=$(GENSRC_SOL_BIN),\
+		OUTPUT_DIR:=$(GENSRC_SOL_BIN),\
+		PROGRAM:=genSolarisConstants))
+
+$(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/fs/SolarisConstants.java : $(BUILD_GENSRC_SOL_EXE)
+	$(MKDIR) -p $(@D)
+	NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/makefiles/scripts/addNotices.sh "$(SOL_COPYRIGHT_YEARS)" > $@.tmp
+	$(BUILD_GENSRC_SOL_EXE) >> $@.tmp
+	$(MV) $@.tmp $@
+
 
 endif
--- a/jdk/makefiles/GensrcProperties.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/GensrcProperties.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -46,7 +46,7 @@
 
   # Strip away prefix and suffix,
   # leaving for example: sun/util/resources/CurrencyNames_sv
-  $1_PROPPATHS:=$$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/%.properties,%,\
+  $1_PROPPATHS:=$$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes/%.properties,%,\
                 $$(patsubst $(JDK_TOPDIR)/src/share/classes/%.properties,%,$2))
 
   # Apply optional name transformation, example: hz_TW -> hz_HK
@@ -75,7 +75,7 @@
 
   # Strip away prefix and suffix,
   # leaving for example: sun/util/resources/CurrencyNames_sv
-  $1_PROPPATHS:=$$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/%.properties,%,\
+  $1_PROPPATHS:=$$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes/%.properties,%,\
                 $$(patsubst $(JDK_TOPDIR)/src/share/classes/%.properties,%,$2))
 
   # Apply optional name transformation, example: hz_TW -> hz_HK
@@ -124,7 +124,7 @@
 $(eval $(call add_properties_to_clean,COM_SUN_IMAGEIO,\
 	$(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/imageio -name "*.properties")))
 #com/sun/java/swing/plaf/gtk/resources
-ifneq ($(PLATFORM), windows)
+ifneq ($(OPENJDK_TARGET_OS), windows)
 # Only compile GTK resource bundles on Solaris/Linux
 $(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_GTK,\
 	$(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/gtk/resources -name "*.properties"),\
@@ -264,6 +264,10 @@
 $(eval $(call add_properties_to_clean,SUN_TOOLS_SERIALVER,\
 	$(shell find $(JDK_TOPDIR)/src/share/classes/sun/tools/javac/resources -name "javac.properties")))
 
+#sun/tools/jconsole/resources
+$(eval $(call add_properties_to_clean,SUN_TOOLS_JCONSOLE,\
+	$(shell find $(JDK_TOPDIR)/src/share/classes/sun/tools/jconsole/resources -name "*.properties")))
+
 #sun/tools/serialver
 $(eval $(call add_properties_to_clean,SUN_TOOLS_SERIALVER,\
 	$(shell find $(JDK_TOPDIR)/src/share/classes/sun/tools/serialver -name "*.properties"),,,resources))
--- a/jdk/makefiles/GensrcX11Wrappers.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/GensrcX11Wrappers.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -30,10 +30,10 @@
 
 GENSRC_SIZES :=
 
-ifeq ($(PLATFORM)-$(LIBARCH), solaris-i386)
+ifeq ($(OPENJDK_TARGET_OS)-$(LIBARCH), solaris-i386)
 GENSRC_SIZES := sizes.32 sizes.64
-else ifeq ($(PLATFORM), solaris)
-isalist:=$(shell $(ISAINFO))
+else ifeq ($(OPENJDK_TARGET_OS), solaris)
+isalist:=$(shell isainfo)
 ifneq (,$(findstring sparcv9, $(isalist)))
 # On sparcv9 we generate both 32 and 64-bit sizers in spite of ARCH_DATA_MODEL.
 GENSRC_SIZES := sizes.32 sizes.64
@@ -46,7 +46,7 @@
 endif # amd64
 endif # sparcv9
 else # !solaris
-ifeq ($(PLATFORM), macosx)
+ifeq ($(OPENJDK_TARGET_OS), macosx)
 GENSRC_SIZES := sizes.32 sizes.64
 else # !macosx
 GENSRC_SIZES := sizes.$(ARCH_DATA_MODEL)
@@ -62,18 +62,23 @@
 	$(TOOL_WRAPPERGENERATOR) $(@D) $< "sizer" $*
 
 $(GENSRC_X11WRAPPERS_TMP)/sizer/sizer.%.exe : $(GENSRC_X11WRAPPERS_TMP)/sizer/sizer.%.c
-	(cd $(@D) && $(CC) -m$* -o $@ $< $(CFLAGS_JDKLIB) \
+	(cd $(@D) && $(HOST_CC) -m$* -o $@ $< \
+              -I$(JDK_OUTPUTDIR)/include \
+              -I$(JDK_TOPDIR)/src/share/javavm/export \
+              -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/javavm/export \
+              -I$(JDK_TOPDIR)//src/share/native/common \
+              -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/common \
               -I$(JDK_TOPDIR)/src/solaris/native/sun/awt \
 	      -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
 	      -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils -lc)
 
-ifeq ($(PLATFORM)-$(LIBARCH), solaris-i386)
+ifeq ($(OPENJDK_TARGET_OS)-$(LIBARCH), solaris-i386)
 
 $(GENSRC_X11WRAPPERS_TMP)/sizer/sizes.32 : $(GENSRC_X11WRAPPERS_TMP)/sizer/sizer.32.exe
 	$< > $@.tmp
 	$(MV) $@.tmp $@
 
-$(GENSRC_X11WRAPPERS_TMP)/sizer/sizes.64 : $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/sun/awt/X11/generator/sizes.64-$(PLATFORM)-$(LIBARCH)
+$(GENSRC_X11WRAPPERS_TMP)/sizer/sizes.64 : $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes/sun/awt/X11/generator/sizes.64-$(OPENJDK_TARGET_OS)-$(LIBARCH)
 	$(MKDIR) -p $(@D)
 	$(CP) $< $@
 else
@@ -88,9 +93,9 @@
 	$(MKDIR) -p $(@D)/sun/awt/X11
 	$(RM) $(@D)/sun/awt/X11/*
 	$(TOOL_WRAPPERGENERATOR) $(@D)/sun/awt/X11 $(GENSRC_SIZER_SRC)/xlibtypes.txt "gen" $(GENSRC_X11WRAPPERS_TMP)/sizer/sizes
-ifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64)
-	$(ECHO) COMPARING $@ and $(GENSRC_SIZER_SRC)/sizes.64-$(PLATFORM)-i386
-	$(DIFF) $(GENSRC_X11WRAPPERS_TMP)/sizes.64 $(GENSRC_SIZER_SRC)/sizes.64-$(PLATFORM)-i386
+ifeq ($(OPENJDK_TARGET_OS)-$(LIBARCH), solaris-amd64)
+	$(ECHO) COMPARING $(GENSRC_X11WRAPPERS_TMP)/sizer/sizes.64 and $(GENSRC_SIZER_SRC)/sizes.64-$(OPENJDK_TARGET_OS)-i386
+	$(DIFF) $(GENSRC_X11WRAPPERS_TMP)/sizer/sizes.64 $(GENSRC_SIZER_SRC)/sizes.64-$(OPENJDK_TARGET_OS)-i386
 endif
 	$(TOUCH) $@
 
--- a/jdk/makefiles/Images.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/Images.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -34,15 +34,20 @@
 
 images: jre-image jdk-image
 
-ifeq ($(HOST_OS),solaris)
+ifeq ($(OPENJDK_TARGET_OS),solaris)
 define install-file
 	$(MKDIR) -p $(@D)
-	$(CP) -r -P '$<' '$(@D)'
+	$(CP) -f -r -P '$<' '$(@D)'
+endef
+else ifeq ($(OPENJDK_TARGET_OS),macosx)
+define install-file
+	$(MKDIR) -p $(@D)
+	$(CP) -fpRP '$<' '$@'
 endef
 else
 define install-file
 	$(MKDIR) -p $(@D)
-	$(CP) -P '$<' '$@'
+	$(CP) -fP '$<' '$@'
 endef
 endif
 
@@ -67,7 +72,7 @@
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(install-file)
 
-NOT_JRE_BIN_FILES = \
+NOT_JRE_BIN_FILES := \
 	appletviewer$(EXE_SUFFIX) \
 	extcheck$(EXE_SUFFIX) \
 	idlj$(EXE_SUFFIX) \
@@ -107,7 +112,12 @@
 
 # Find all files in bin dir
 ALL_BIN_LIST := $(shell $(FIND) $(JDK_OUTPUTDIR)/bin -type f)
-ifeq ($(HOST_OS),windows)
+
+# For unknown reason the debuginfo files for binaries are not put into images
+# e.g filter them out
+ALL_BIN_LIST := $(filter-out %.debuginfo %.diz, $(ALL_BIN_LIST))
+
+ifeq ($(OPENJDK_TARGET_OS),windows)
     JDK_BIN_LIST := $(filter $(addprefix %,$(WINDOWS_JDK_BIN_FILES)), $(ALL_BIN_LIST))
 else
     JDK_BIN_LIST := $(ALL_BIN_LIST)
@@ -147,7 +157,7 @@
 	ct.sym
 
 JDK_LIB_FILES := $(NOT_JRE_LIB_FILES)
-ifeq ($(HOST_OS), linux)
+ifeq ($(OPENJDK_TARGET_OS), linux)
     JDK_LIB_FILES += jexec
 endif
 
@@ -236,14 +246,21 @@
         wsimport.1         \
         xjc.1
 
-ifeq ($(HOST_OS), linux)
+ifeq ($(OPENJDK_TARGET_OS), linux)
     MAN_SRC_DIR:=$(JDK_TOPDIR)/src/linux/doc
     MAN1_SUBDIR:=man
 endif
-ifeq ($(HOST_OS), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
     MAN_SRC_DIR:=$(JDK_TOPDIR)/src/solaris/doc
     MAN1_SUBDIR:=sun/man/man1
 endif
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+    MAN_SRC_DIR:=$(JDK_TOPDIR)/src/bsd/doc
+    MAN1_SUBDIR:=man
+    JDK_MAN_PAGES := $(filter-out jcmd.1, $(JDK_MAN_PAGES))
+    JDK_MAN_PAGES := $(filter-out jvisualvm.1, $(JDK_MAN_PAGES))
+endif
+
 
 $(JRE_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/%
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
@@ -286,7 +303,7 @@
 	$(ECHO) Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(call install-ja-manpage,PCK)
 
-ifeq ($(HOST_OS), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
     $(JRE_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
 	$(ECHO) Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(install-file)
@@ -302,7 +319,17 @@
 	$(MKDIR) -p $(@D)
 	$(TOUCH) $@
 
-ifeq ($(HOST_OS), linux)
+ifeq ($(OPENJDK_TARGET_OS), linux)
+    $(JRE_IMAGE_DIR)/man/ja:
+	$(ECHO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
+	$(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
+
+    $(JDK_IMAGE_DIR)/man/ja:
+	$(ECHO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
+	$(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
+endif
+
+ifeq ($(OPENJDK_TARGET_OS), macosx)
     $(JRE_IMAGE_DIR)/man/ja:
 	$(ECHO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
@@ -312,7 +339,7 @@
 	$(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
 endif
 
-ifeq ($(HOST_OS), linux)
+ifeq ($(OPENJDK_TARGET_OS), linux)
     JRE_MAN_PAGE_LIST := $(addprefix $(JRE_IMAGE_DIR)/man/man1/,$(JRE_MAN_PAGES)) \
 			 $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/,$(JRE_MAN_PAGES)) \
 			 $(JRE_IMAGE_DIR)/man/ja
@@ -322,7 +349,7 @@
 			 $(JDK_IMAGE_DIR)/man/ja
 endif
 
-ifeq ($(HOST_OS), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
     JRE_MAN_PAGE_LIST := $(addprefix $(JRE_IMAGE_DIR)/man/man1/,$(JRE_MAN_PAGES)) \
 			 $(addprefix $(JRE_IMAGE_DIR)/man/ja/man1/,$(JRE_MAN_PAGES)) \
 			 $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/,$(JRE_MAN_PAGES)) \
@@ -334,6 +361,16 @@
 			 $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/,$(JDK_MAN_PAGES))
 endif
 
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+    JRE_MAN_PAGE_LIST := $(addprefix $(JRE_IMAGE_DIR)/man/man1/,$(JRE_MAN_PAGES)) \
+			 $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/,$(JRE_MAN_PAGES)) \
+			 $(JRE_IMAGE_DIR)/man/ja
+
+    JDK_MAN_PAGE_LIST := $(addprefix $(JDK_IMAGE_DIR)/man/man1/,$(JDK_MAN_PAGES)) \
+			 $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/,$(JDK_MAN_PAGES)) \
+			 $(JDK_IMAGE_DIR)/man/ja
+endif
+
 ################################################################################
 # /demo dir
 
@@ -383,6 +420,7 @@
     $(JDK_IMAGE_DIR)/db/README-JDK.html: $(JDK_TOPDIR)/src/closed/share/db/README-JDK.html
 	$(ECHO) Copying '$(patsubst $(OUTPUT_ROOT)/%,%,$@)'
 	$(install-file)
+	$(CHMOD) 644 $(@)
 
     JDK_DB_TARGETS := $(patsubst $(JDK_TOPDIR)/src/closed/share/db/%,$(IMAGES_OUTPUTDIR)/_unzip/%.unzipped,\
 			$(shell $(FIND) $(JDK_TOPDIR)/src/closed/share/db -name "*.zip" ! -name "*demo*")) \
@@ -411,7 +449,7 @@
 else
     JRE_DOC_FILES := COPYRIGHT Welcome.html LICENSE THIRDPARTYLICENSEREADME.txt
     JDK_DOC_FILES := COPYRIGHT README.html  LICENSE THIRDPARTYLICENSEREADME.txt
-    ifeq ($(HOST_OS), windows)
+    ifeq ($(OPENJDK_TARGET_OS), windows)
         JRE_DOC_FILES += README.txt
     else
         JRE_DOC_FILES += README
@@ -432,32 +470,39 @@
 $(JRE_IMAGE_DIR)/%: $(JRE_DOC_LOCATION)/%
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(install-file)
+	$(CHMOD) 444 $(@)
 
 $(JDK_IMAGE_DIR)/jre/%: $(JRE_DOC_LOCATION)/%
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(install-file)
+	$(CHMOD) 444 $(@)
 
 $(JRE_IMAGE_DIR)/README.txt: $(JRE_DOC_LOCATION)/README
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(MKDIR) -p $(@D)
 	$(CP) $< $@
+	$(CHMOD) 444 $(@)
 
 $(JDK_IMAGE_DIR)/jre/README.txt: $(JRE_DOC_LOCATION)/README
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(MKDIR) -p $(@D)
 	$(CP) $< $@
+	$(CHMOD) 444 $(@)
 
 $(JDK_IMAGE_DIR)/%: $(JDK_DOC_LOCATION)/%
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(install-file)
+	$(CHMOD) 444 $(@)
 
 $(JDK_IMAGE_DIR)/demo/%: $(JDK_DOC_LOCATION)/%
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(install-file)
+	$(CHMOD) 444 $(@)
 
 $(JDK_IMAGE_DIR)/sample/%: $(JDK_DOC_LOCATION)/%
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(install-file)
+	$(CHMOD) 444 $(@)
 
 JRE_INFO_FILE := $(JRE_IMAGE_DIR)/release
 JDK_INFO_FILE := $(JDK_IMAGE_DIR)/release
@@ -500,7 +545,7 @@
 # Post processing (strip etc)
 
 ifneq ($(POST_STRIP_CMD),)
-    ifeq ($(HOST_OS), windows)
+    ifeq ($(OPENJDK_TARGET_OS), windows)
         EXEC_LIST:=$(shell $(FIND) $(JDK_OUTPUTDIR)/bin -type f -name \*.exe \
 		-o -name \*.dll | $(EGREP) -v -i "$(MSVCRNN_DLL)")
     else
@@ -510,17 +555,43 @@
 		| $(EGREP) 'ELF' | $(CUT) -d':' -f1)
     endif
     # Filter out non JRE files and convert to unique touch files to depend on
-    JRE_EXEC_TOUCH_LIST:=$(patsubst $(JDK_OUTPUTDIR)/%,$(IMAGES_OUTPUTDIR)/_strip/%.stripped,\
+    JRE_EXEC_TOUCH_LIST:=$(patsubst $(JDK_OUTPUTDIR)/%,$(IMAGES_OUTPUTDIR)/_strip_jre/%.stripped,\
+			$(filter-out $(addprefix %,$(NOT_JRE_BIN_FILES) $(NOT_JRE_LIB_FILES)), $(EXEC_LIST)))
+
+    JDK_JRE_EXEC_TOUCH_LIST:=$(patsubst $(JDK_OUTPUTDIR)/%, \
+                        $(IMAGES_OUTPUTDIR)/_strip_jdk/jre/%.stripped, \
 			$(filter-out $(addprefix %,$(NOT_JRE_BIN_FILES) $(NOT_JRE_LIB_FILES)), $(EXEC_LIST)))
 
+    JDK_BIN_EXEC_TOUCH_LIST := $(patsubst $(JDK_OUTPUTDIR)/%, \
+                          $(IMAGES_OUTPUTDIR)/_strip_jdk/%.stripped, \
+                          $(filter-out $(JDK_OUTPUTDIR)/lib/%, $(EXEC_LIST)))
+
     # Setup a rule for stripping files based on touch files
-    $(IMAGES_OUTPUTDIR)/_strip/%.stripped: $(JRE_IMAGE_DIR)/%
+    $(IMAGES_OUTPUTDIR)/_strip_jre/%.stripped: $(JRE_IMAGE_DIR)/%
 	$(ECHO) Stripping $(patsubst $(OUTPUT_ROOT)/%,%,$<)
 	$(CHMOD) u+w $<
 	$(POST_STRIP_CMD) $<
 	$(CHMOD) go-w $<
 	$(MKDIR) -p $(@D)
 	$(TOUCH) $@
+
+    $(IMAGES_OUTPUTDIR)/_strip_jdk/bin/%.stripped: $(JDK_IMAGE_DIR)/bin/%
+	$(ECHO) Stripping $(patsubst $(OUTPUT_ROOT)/%,%,$<)
+	$(CHMOD) u+w $<
+	$(POST_STRIP_CMD) $<
+	$(CHMOD) go-w $<
+	$(MKDIR) -p $(@D)
+	$(TOUCH) $@
+
+    # Setup a rule for stripping files based on touch files
+    $(IMAGES_OUTPUTDIR)/_strip_jdk/jre/%.stripped: $(JDK_IMAGE_DIR)/jre/%
+	$(ECHO) Stripping $(patsubst $(OUTPUT_ROOT)/%,%,$<)
+	$(CHMOD) u+w $<
+	$(POST_STRIP_CMD) $<
+	$(CHMOD) go-w $<
+	$(MKDIR) -p $(@D)
+	$(TOUCH) $@
+
 endif
 
 ################################################################################
@@ -538,7 +609,8 @@
 	$(JDK_MAN_PAGE_LIST) $(JDK_SAMPLE_TARGETS) \
 	$(JDK_DB_TARGETS) $(JDK_INCLUDE_TARGETS) \
 	$(JDKJRE_DOC_TARGETS) $(JDK_DOC_TARGETS) \
-	$(JDK_INFO_FILE) $(JDK_IMAGE_DIR)/src.zip
+	$(JDK_INFO_FILE) $(JDK_JRE_EXEC_TOUCH_LIST) $(JDK_BIN_EXEC_TOUCH_LIST) \
+        $(JDK_IMAGE_DIR)/src.zip
 
 ################################################################################
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/makefiles/Import.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -0,0 +1,243 @@
+#
+# Copyright (c) 2012, 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.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# 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.
+#
+
+default: all
+
+include $(SPEC)
+include MakeBase.gmk
+
+#######
+
+IMPORT_TARGET_FILES :=
+
+IMPORT_CLASSES := CORBA JAXP JAXWS LANGTOOLS
+IMPORT_SOURCES := CORBA JAXP JAXWS LANGTOOLS
+# Only Corba has binaries
+IMPORT_BINARIES := CORBA
+
+#######
+
+# Put the libraries here. Different locations for different target apis.
+ifeq ($(OPENJDK_TARGET_OS_API),posix)
+    ifneq ($(OPENJDK_TARGET_OS),macosx)
+        INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/lib/$(LIBARCH)
+    else
+        INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/lib
+    endif
+    HOTSPOT_LIB_DIR:=$(HOTSPOT_DIST)/jre/lib/$(LIBARCH)
+else
+    INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/bin
+    HOTSPOT_LIB_DIR:=$(HOTSPOT_DIST)/jre/bin
+endif
+
+#######
+
+#
+# jar xf/unzip fails when executing them all in parallel
+#   introduce artificial dependency (_DEP) buuhhh 
+
+define ImportClasses
+$1_CLASSES_DEP := $$(IMPORT_TARGET_CLASSES)
+IMPORT_TARGET_CLASSES += $(JDK_OUTPUTDIR)/classes/_the.$1.classes.imported
+
+$(JDK_OUTPUTDIR)/classes/_the.$1.classes.imported : $$($1_DIST)/lib/classes.jar $$($1_CLASSES_DEP)
+	$(ECHO) Importing $1 classes.jar
+	$(MKDIR) -p $$(@D)
+	($(CD) $$(@D) && $(JAR) xvf $$< > $$@.tmp)
+	$(MV) $$@.tmp $$@
+endef
+
+define ImportSources
+$1_SOURCES_DEP := $$(IMPORT_TARGET_SOURCES)
+IMPORT_TARGET_SOURCES += $(JDK_OUTPUTDIR)/impsrc/_the.$1.src.imported
+
+$(JDK_OUTPUTDIR)/impsrc/_the.$1.src.imported : $$($1_DIST)/lib/src.zip $$($1_SOURCES_DEP)
+	$(ECHO) Importing $1 src.zip
+	$(MKDIR) -p $$(@D)
+	($(CD) $$(@D) && $(JAR) xvf $$< > $$@.tmp)
+	$(MV) $$@.tmp $$@
+endef
+
+define ImportBinaries
+$1_BINARIES_DEP := $$(IMPORT_TARGET_BINARIES)
+IMPORT_TARGET_BINARIES += $(JDK_OUTPUTDIR)/_the.$1.binaries.imported
+
+$(JDK_OUTPUTDIR)/_the.$1.binaries.imported : $$($1_DIST)/lib/bin.zip $$($1_BINARIES_DEP)
+	$(ECHO) Importing $1 bin.zip
+	$(MKDIR) -p $$(@D)
+	($(CD) $$(@D) && $(JAR) xvf $$< > $$@.tmp)
+	$(MV) $$@.tmp $$@
+endef
+
+#######
+
+$(foreach I,$(IMPORT_CLASSES), $(eval $(call ImportClasses,$I)))
+$(foreach I,$(IMPORT_SOURCES), $(eval $(call ImportSources,$I)))
+$(foreach I,$(IMPORT_BINARIES), $(eval $(call ImportBinaries,$I)))
+
+IMPORT_TARGET_FILES += $(IMPORT_TARGET_CLASSES) $(IMPORT_TARGET_SOURCES) $(IMPORT_TARGET_BINARIES)
+
+#######
+
+ifeq ($(OPENJDK_TARGET_OS),solaris)
+define do-install-file
+	$(MKDIR) -p $$(@D)
+	$(CP) -r -P '$$<' '$$(@D)'
+endef
+else ifeq ($(OPENJDK_TARGET_OS),macosx)
+define do-install-file
+	$(MKDIR) -p $$(@D)
+	$(CP) -pRP '$$<' '$$@'
+endef
+else
+define do-install-file
+	$(MKDIR) -p $$(@D)
+	$(CP) -P '$$<' '$$@'
+endef
+endif
+
+define CopyDir
+        $1_SRC_FILES := $(shell $(FIND) $2 -type f)
+        $1_DST_FILES := $$(patsubst $2/%,$3/%,$$($1_SRC_FILES))
+        IMPORT_TARGET_FILES += $$($1_DST_FILES)
+$3/% : $2/%
+	$(ECHO) Copying $$(@F)
+	$(do-install-file)
+endef
+
+#######
+
+#
+# Import hotspot
+#
+
+$(eval $(call CopyDir,HOTSPOT0, $(HOTSPOT_LIB_DIR), $(INSTALL_LIBRARIES_HERE)))
+$(eval $(call CopyDir,HOTSPOT1, $(HOTSPOT_DIST)/lib, $(JDK_OUTPUTDIR)/lib))
+
+JSIG_DEBUGINFO := $(wildcard $(HOTSPOT_DIST)/jre/lib/$(LIBARCH)/libjsig.debuginfo) \
+                  $(wildcard $(HOTSPOT_DIST)/jre/lib/$(LIBARCH)/libjsig.diz)
+
+ifneq ($(OPENJDK_TARGET_OS), windows)
+    ifeq ($(JVM_VARIANT_SERVER), true)
+        IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/server/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
+        ifneq (,$(JSIG_DEBUGINFO))
+            IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/server/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
+        endif
+    endif
+    ifeq ($(JVM_VARIANT_CLIENT), true)
+        IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/client/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
+        ifneq (,$(JSIG_DEBUGINFO))
+            IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/client/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
+        endif
+    endif
+endif
+
+$(INSTALL_LIBRARIES_HERE)/server/%$(SHARED_LIBRARY_SUFFIX) : $(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX)
+	$(RM) -f $@
+	$(LN) -s ../$(@F) $@
+
+$(INSTALL_LIBRARIES_HERE)/server/%.debuginfo : $(INSTALL_LIBRARIES_HERE)/%.debuginfo
+	$(RM) -f $@
+	$(LN) -s ../$(@F) $@
+
+$(INSTALL_LIBRARIES_HERE)/server/%.diz : $(INSTALL_LIBRARIES_HERE)/%.diz
+	$(RM) -f $@
+ifeq (REALLY_WEIRD,1)
+	$(LN) -s ../$(@F) $@
+else
+#
+# TODO: Check if this is what they really want...a zip containing a symlink
+#
+	$(RM) -f $(basename $@).debuginfo
+	$(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo
+	$(ZIP) -q -y $@ $(basename $@).debuginfo
+	$(RM) -f $(basename $@).debuginfo
+endif
+
+$(INSTALL_LIBRARIES_HERE)/client/%$(SHARED_LIBRARY_SUFFIX) : $(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX)
+	$(RM) -f $@
+	$(LN) -s ../$(@F) $@
+
+$(INSTALL_LIBRARIES_HERE)/client/%.debuginfo : $(INSTALL_LIBRARIES_HERE)/%.debuginfo
+	$(RM) -f $@
+	$(LN) -s ../$(@F) $@
+
+$(INSTALL_LIBRARIES_HERE)/client/%.diz : $(INSTALL_LIBRARIES_HERE)/%.diz
+	$(RM) -f $@
+ifeq (REALLY_WEIRD,1)
+	$(LN) -s ../$(@F) $@
+else
+#
+# TODO: Check if this is what they really want...a zip containing a symlink
+#
+	$(RM) -f $(basename $@).debuginfo
+	$(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo
+	$(ZIP) -q -y $@ $(basename $@).debuginfo
+	$(RM) -f $(basename $@).debuginfo
+endif
+
+#######
+
+ifeq ($(OPENJDK_TARGET_OS),solaris)
+define install-file
+	$(MKDIR) -p $(@D)
+	$(CP) -r -P '$<' '$(@D)'
+endef
+else ifeq ($(OPENJDK_TARGET_OS),macosx)
+define install-file
+	$(MKDIR) -p $(@D)
+	$(CP) -pRP '$<' '$@'
+endef
+else
+define install-file
+	$(MKDIR) -p $(@D)
+	$(CP) -P '$<' '$@'
+endef
+endif
+
+ifndef OPENJDK
+
+IMPORT_TARGET_FILES += \
+            $(JDK_OUTPUTDIR)/lib/security/US_export_policy.jar \
+            $(JDK_OUTPUTDIR)/lib/security/local_policy.jar \
+            $(JDK_OUTPUTDIR)/lib/jce.jar
+
+$(JDK_OUTPUTDIR)/lib/jce.jar : $(JDK_TOPDIR)/make/closed/tools/crypto/jce/jce.jar
+	$(ECHO) Copying $(@F)
+	$(install-file)
+
+$(JDK_OUTPUTDIR)/lib/security/local_policy.jar: $(JDK_TOPDIR)/make/closed/tools/crypto/jce/local_policy.jar
+	$(ECHO) Copying $(@F)
+	$(install-file)
+
+$(JDK_OUTPUTDIR)/lib/security/US_export_policy.jar: $(JDK_TOPDIR)/make/closed/tools/crypto/jce/US_export_policy.jar
+	$(ECHO) Copying $(@F)
+	$(install-file)
+
+endif # OPENJDK
+
+#######
+
+all: $(IMPORT_TARGET_FILES)
--- a/jdk/makefiles/LegacyMakefiles.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-#
-# Copyright (c) 2011, 2012, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-include $(SPEC)
-include MakeBase.gmk
-
-all: $(JDK_OUTPUTDIR)/_the.legacy_make
-
-DEPS:=	$(shell $(FIND) $(JDK_TOPDIR)/makefiles/java -type f) \
-		$(shell $(FIND) $(JDK_TOPDIR)/makefiles/javax -type f) \
-		$(shell $(FIND) $(JDK_TOPDIR)/makefiles/sun -type f) \
-		$(shell $(FIND) $(JDK_TOPDIR)/makefiles/com -type f)
-
-$(JDK_OUTPUTDIR)/_the.legacy_make: $(DEPS)
-	(echo Building single threaded Java subdir && \
-        $(MAKE) -j1 -C java all && \
-	touch $@)
-
-.PHONY: all
-
--- a/jdk/makefiles/Makefile	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/Makefile	Tue Jul 03 16:10:44 2012 -0700
@@ -38,21 +38,21 @@
 include Tools.gmk
 
 all: $(BUILD_TOOLS)
+#       Import (corba jaxp jaxws langtools hotspot)
+	+$(MAKE) -f Import.gmk
+#
 	+$(MAKE) -f GenerateJavaSources.gmk
-#       Drop back to the old makefiles for
-#       packages/libs that have not yet been converted.
-	+$(MAKE) -f LegacyMakefiles.gmk
 #       Ok, now gensrc is fully populated.
 	+$(MAKE) -f GenerateData.gmk
 	+$(MAKE) -f CompileJavaClasses.gmk
-#	The classes have been built, now generate
-#	classes that have other sources.
-	+$(MAKE) -f GenerateClasses.gmk
 #       The classes are now built and
 #       any javah files have now been generated.
 	+$(MAKE) -f CompileNativeLibraries.gmk
 #       Finally compile the launchers.
 	+$(MAKE) -f CompileLaunchers.gmk
+#	Generate classes that have other sources. Needs
+#       to execute launchers.
+	+$(MAKE) -f GenerateClasses.gmk
 #       Now we have a complete jdk, which you can run.
 #       It is not yet wrapped up as an installed image.
 #       The demos are compiled against this jdk.
@@ -64,16 +64,11 @@
 	+$(MAKE) -f CopySamples.gmk
 endif
 
-# Create the final jdk and jre images in the old way. Kept for reference
-# until conversion is fully done.
-old-images:
-	+$(MAKE) $(IMAGES_MAKE_ARGS) -f OldImages.gmk 
-
 # Create the final jdk and jre images, to be wrapped up
 # into packages, or installed.
 images:
 	+$(MAKE) -f CreateJars.gmk
-	+$(MAKE) $(IMAGES_MAKE_ARGS) -f Images.gmk 
+	+$(MAKE) -f Images.gmk 
 
 
 BINARIES:=$(shell if test -d $(IMAGES_OUTPUTDIR)/j2sdk-image/bin; then cd $(IMAGES_OUTPUTDIR)/j2sdk-image/bin && $(LS) ; fi)
@@ -90,9 +85,4 @@
 	$(RM) $(addprefix $(INSTALL_PREFIX)/bin/,$(BINARIES))
 	$(foreach b,$(BINARIES),$(LN) -s $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)/bin/$b $(INSTALL_PREFIX)/bin/$b &&) true
 
-# Create the deb,rpm,tgz,zip, packages.
-packages: images
-	echo Creating packages...well, in the future.
-	$(MKDIR) -p $(OUTPUT_ROOT)/packages
-
 .PHONY: all install images
--- a/jdk/makefiles/OldImages.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +0,0 @@
-#
-# Copyright (c) 2011, 2012, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-include $(SPEC)
-include MakeBase.gmk
-include JavaCompilation.gmk
-include Setup.gmk
-
-default: $(IMAGES_OUTPUTDIR)/_the.images
-
-include Tools.gmk
-
-JARS:=
-
-##########################################################################################
-
-JCONSOLE_JAR_DEPS := \
-  $(shell $(FIND) $(JDK_OUTPUTDIR)/newclasses/sun/tools/jconsole/ -name "_the.package") \
-  $(shell $(FIND) $(JDK_OUTPUTDIR)/newclasses/com/sun/tools/jconsole/ -name "_the.package")
-
-$(eval $(call SetupArchive,BUILD_JCONSOLE_JAR,$(JCONSOLE_JAR_DEPS),\
-		SRCS:=$(JDK_OUTPUTDIR)/newclasses,\
-		SUFFIXES:=.class .gif .png,\
-		INCLUDES:=sun/tools/jconsole com/sun/tools/jconsole,\
-		JARMAIN:=sun.tools.jconsole.JConsole,\
-		JAR:=$(JDK_OUTPUTDIR)/lib/jconsole.jar,\
-		SKIP_METAINF:=true))
-
-JARS+=$(JDK_OUTPUTDIR)/lib/jconsole.jar
-
-##########################################################################################
-
-CHARSETS_JAR_DEPS :=
-
-$(eval $(call SetupArchive,BUILD_CHARSETS_JAR,$(CHARSETS_JAR_DEPS),\
-		SRCS:=$(JDK_OUTPUTDIR)/newclasses, \
-		SUFFIXES:=.class .dat,\
-		INCLUDES:=sun/nio/cs/ext,\
-		EXTRA_FILES := sun/awt/HKSCS.class \
-                               sun/awt/motif/X11GBK.class \
-                               'sun/awt/motif/X11GB2312$$$$Decoder.class' \
-                               sun/awt/motif/X11GB2312.class \
-                               'sun/awt/motif/X11KSC5601$$$$Decoder.class' \
-                               'sun/awt/motif/X11KSC5601$$$$Encoder.class' \
-                               'sun/awt/motif/X11GB2312$$$$Encoder.class' \
-                               'sun/awt/motif/X11GBK$$$$Encoder.class' \
-                               sun/awt/motif/X11KSC5601.class \
-                               META-INF/services/java.nio.charset.spi.CharsetProvider, \
-		JAR:=$(JDK_OUTPUTDIR)/lib/charsets.jar, \
-		JARMAIN := NONE, \
-		SKIP_METAINF := true))
-
-JARS+=$(JDK_OUTPUTDIR)/lib/charsets.jar
-
-##########################################################################################
-
-SUNPKCS11_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/sunpkcs11.jar
-
-ifndef OPENJDK
-
-SUNPKCS11_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/pkcs11/sunpkcs11.jar
-
-$(SUNPKCS11_JAR_DST) : $(SUNPKCS11_JAR_SRC)
-	@$(ECHO) "\n>>>Installing prebuilt SunPKCS11 provider..."
-	$(RM) $@
-	$(CP) $< $@
-
-else
-
-$(eval $(call SetupArchive,BUILD_SUNPKCS11_JAR,$(SUNPKCS11_JAR_DEPS),\
-		SRCS:=$(JDK_OUTPUTDIR)/newclasses, \
-		SUFFIXES:=.class,\
-		INCLUDES:=sun/security/pkcs11,\
-		JAR:=$(SUNPKCS11_JAR_DST), \
-		JARMAIN := NONE, \
-		SKIP_METAINF := true))
-
-endif
-
-JARS += $(SUNPKCS11_JAR_DST)
-
-##########################################################################################
-
-SUNEC_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/sunec.jar
-
-ifndef OPENJDK
-
-SUNEC_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/ec/sunec.jar
-
-$(SUNEC_JAR_DST) : $(SUNEC_JAR_SRC)
-	@$(ECHO) "\n>>>Installing prebuilt SunEC provider..."
-	$(RM) $@
-	$(CP) $< $@
-
-else
-
-$(eval $(call SetupArchive,BUILD_SUNEC_JAR,$(SUNEC_JAR_DEPS),\
-		SRCS:=$(JDK_OUTPUTDIR)/newclasses, \
-		SUFFIXES:=.class,\
-		INCLUDES:=sun/security/ec,\
-		EXCLUDE_FILES := \
-			sun/security/ec/ECKeyFactory.class \
-			sun/security/ec/ECParameters.class \
-			sun/security/ec/ECPrivateKeyImpl.class \
-			sun/security/ec/ECPublicKeyImpl.class \
-			sun/security/ec/NamedCurve.class \
-			'sun/security/ec/ECKeyFactory$$$$1.class' \
-			'sun/security/ec/ECKeyFactory$$$$2.class' ,\
-		JAR:=$(SUNEC_JAR_DST), \
-		JARMAIN := NONE, \
-		SKIP_METAINF := true))
-
-endif
-
-JARS += $(SUNEC_JAR_DST)
-
-##########################################################################################
-
-# TODO: deps?
-$(eval $(call SetupArchive,BUILD_SWINGBEANS_JAR,$(SWINGBEANS_JAR_DEPS),\
-		SRCS:=$(JDK_OUTPUTDIR)/newclasses,\
-		SUFFIXES:=BeanInfo.class .gif,\
-		INCLUDES:=javax/swing sun/swing,\
-		EXCLUDES:=javax/swing/plaf,\
-		EXTRA_FILES:=javax/swing/SwingBeanInfoBase.class sun/swing/BeanInfoUtils.class,\
-		JAR:=$(JDK_OUTPUTDIR)/lib/dt.jar,\
-		JARMAIN:=NONE,\
-		SKIP_METAINF:=true))
-
-JARS+=$(JDK_OUTPUTDIR)/lib/dt.jar
-
-##########################################################################################
-
-# Need to define BUILDDIR for Release.gmk to work
-BUILDDIR=$(JDK_TOPDIR)/makefiles
-include common/Defs.gmk
-include common/Release.gmk
-
-# A rudimentary attempt at band-aiding the dependency tracking.
-DEPS:=	$(shell $(FIND) $(JDK_OUTPUTDIR)/newclasses -name "*.class" -type f) \
-	$(shell $(FIND) $(JDK_OUTPUTDIR)/bin -type f) \
-	$(shell $(FIND) $(JDK_OUTPUTDIR)/lib -type f) 
-
-$(IMAGES_OUTPUTDIR)/_the.images : $(DEPS) $(JARS)
-	$(MKDIR) -p $(@D)
-# 	Restart this makefile, ugly, but since double colon (::) rules
-# 	have been used in Release.gmk, it is impossible to craft on
-# 	dependencies on these. I.e. -do-not-use- :: rules!!!!!
-#       Repeat after me: -do-not-use- :: rules!!!!!
-	$(MAKE) -j1 -f OldImages.gmk $(IMAGES_MAKE_ARGS) images
-	$(TOUCH) $@
-
-.PHONY: default
--- a/jdk/makefiles/Tools.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/Tools.gmk	Tue Jul 03 16:10:44 2012 -0700
@@ -123,3 +123,27 @@
 
 TOOL_TOBIN=$(JAVA) -Djava.awt.headless=true -cp $(JDK_OUTPUTDIR)/btclasses \
 	sun.awt.X11.ToBin
+
+##########################################################################################
+
+# Tools needed on solaris because OBJCOPY is broken.
+
+$(eval $(call SetupNativeCompilation,ADD_GNU_DEBUGLINK,\
+		SRC:=$(JDK_TOPDIR)/make/tools/add_gnu_debuglink,\
+		LANG:=C,\
+		CC:=$(HOST_CC),\
+		LDEXE:=$(HOST_LD),\
+		LDFLAGS:=-lelf,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/add_gnu_debuglink,\
+		OUTPUT_DIR:=$(JDK_OUTPUTDIR)/btbin,\
+                PROGRAM:=add_gnu_debuglink))
+
+$(eval $(call SetupNativeCompilation,FIX_EMPTY_SEC_HDR_FLAGS,\
+		SRC:=$(JDK_TOPDIR)/make/tools/fix_empty_sec_hdr_flags,\
+		LANG:=C,\
+		CC:=$(HOST_CC),\
+		LDEXE:=$(HOST_LD),\
+		LDFLAGS:=-lelf,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/fix_empty_sec_hdr_flags,\
+		OUTPUT_DIR:=$(JDK_OUTPUTDIR)/btbin,\
+                PROGRAM:=fix_empty_sec_hdr_flags))
--- a/jdk/makefiles/com/sun/crypto/provider/Makefile	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,275 +0,0 @@
-#
-# Copyright (c) 2007, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Makefile for building sunjce_provider.jar.
-#
-# This file was derived from make/javax/crypto/Makefile.
-#
-
-#
-# (The terms "OpenJDK" and "JDK" below refer to OpenJDK and Sun JDK builds
-# respectively.)
-#
-# JCE builds are very different between OpenJDK and JDK.  The OpenJDK JCE
-# jar files do not require signing, but those for JDK do.  If an unsigned
-# jar file is installed into JDK, things will break when the crypto
-# routines are called.
-#
-# This Makefile does the "real" build of the JCE files.  There are some
-# javac options currently specific to JCE, so we recompile now to make
-# sure any implicit compilations didn't use any incorrect flags.
-#
-# For OpenJDK, the jar files built here are installed directly into the
-# OpenJDK.
-#
-# For JDK, the binaries use pre-built/pre-signed binary files stored in
-# the closed workspace that are not shipped in the OpenJDK workspaces.
-# We still build the JDK files here to verify the files compile, and in
-# preparation for possible signing.  Developers working on JCE in JDK
-# must sign the JCE files before testing.  The JCE signing key is kept
-# separate from the JDK workspace to prevent its disclosure.
-# 
-# SPECIAL NOTE TO JCE/JDK developers:  The source files must eventually
-# be built and signed, and the resulting jar files MUST BE CHECKED INTO
-# THE CLOSED PART OF THE WORKSPACE*.  This separate step *MUST NOT BE
-# FORGOTTEN*, otherwise a bug fixed in the source code will not be
-# reflected in the shipped binaries.  The "release" target should be
-# used to generate the required files.
-#
-# There are a number of targets to help both JDK/OpenJDK developers.
-#
-# Main Targets (JDK/OPENJDK):
-#
-#     all/clobber/clean        The usual.
-#                                  If OpenJDK, installs sunjce_provider.jar.
-#                                  If JDK, installs prebuilt
-#                                      sunjce_provider.jar.
-#
-#     jar                      Builds/installs sunjce_provider.jar
-#                                  If OpenJDK, does not sign.
-#                                  If JDK, tries to sign.
-#
-# Other lesser-used Targets (JDK/OPENJDK):
-#
-#     build-jar                Builds sunjce_provider.jar
-#                                  (does not sign/install)
-#
-#     install-jar              Alias for "jar" above.
-#
-# Other targets (JDK only):
-#
-#     sign                     Alias for sign-jar
-#         sign-jar             Builds/signs sunjce_provider.jar (no install)
-#
-#     release                  Builds all targets in preparation
-#                              for workspace integration.
-#
-#     install-prebuilt         Installs the pre-built jar files
-#
-# This makefile was written to support parallel target execution.
-#
-
-BUILDDIR = ../../../..
-PACKAGE = com.sun.crypto.provider
-PRODUCT = sun
-
-#
-# The following is for when we need to do postprocessing
-# (signing) against a read-only build.  If the OUTPUTDIR
-# isn't writable, the build currently crashes out.
-#
-ifndef OPENJDK
-  ifdef ALT_JCE_BUILD_DIR
-    # =====================================================
-    # Where to place the output, in case we're building from a read-only
-    # build area.  (e.g. a release engineering build.)
-    JCE_BUILD_DIR=${ALT_JCE_BUILD_DIR}
-    IGNORE_WRITABLE_OUTPUTDIR_TEST=true
-  else
-    JCE_BUILD_DIR=${TEMPDIR}
-  endif
-endif
-
-JAVAC_MAX_WARNINGS = false
-JAVAC_LINT_OPTIONS = -Xlint:all,-deprecation
-JAVAC_WARNINGS_FATAL = true
-include $(BUILDDIR)/common/Defs.gmk
-
-#
-# Location for the newly built classfiles.
-#
-CLASSDESTDIR = $(TEMPDIR)/classes
-
-#
-# Subdirectories of these are automatically included.
-#
-AUTO_FILES_JAVA_DIRS = \
-    com/sun/crypto/provider
-
-include $(BUILDDIR)/common/Classes.gmk
-
-#
-# Rules
-#
-
-#
-# Some licensees do not get the security sources, but we still need to
-# be able to build "all" for them.  Check here to see if the sources were
-# available.  If not, then we don't need to continue this rule.
-#
-
-ifdef OPENJDK
-all: build-jar install-jar
-else  # OPENJDK
-ifeq ($(strip $(FILES_java)),)
-all: install-prebuilt
-	$(no-source-warning)
-else  # FILES_java available
-all: build-jar install-prebuilt
-	$(build-warning)
-endif # $(FILES_java) available
-endif # OPENJDK
-
-#
-# We use a variety of subdirectories in the $(TEMPDIR) depending on what
-# part of the build we're doing.  Both OPENJDK/JDK builds are initially
-# done in the unsigned area.  When files are signed in JDK, they will be
-# placed in the appropriate areas.
-#
-UNSIGNED_DIR = $(TEMPDIR)/unsigned
-
-include $(BUILDDIR)/javax/crypto/Defs-jce.gmk
-
-
-# =====================================================
-# Build the unsigned sunjce_provider.jar file.
-#
-
-JAR_DESTFILE = $(EXTDIR)/sunjce_provider.jar
-
-#
-# The sunjce_provider.jar needs to be in the extension class directory,
-# therefore none of its classes should appear in $(CLASSBINDIR).
-# Currently no one is using any of the SunJCE internals, so these files
-# should not have been built.
-#
-
-#
-# Since the -C option to jar is used below, each directory entry must be
-# preceded with the appropriate directory to "cd" into.
-#
-JAR_DIRS = $(patsubst %, -C $(CLASSDESTDIR) %, $(AUTO_FILES_JAVA_DIRS))
-
-build-jar: $(UNSIGNED_DIR)/sunjce_provider.jar
-
-#
-# Build sunjce_provider.jar.
-#
-$(UNSIGNED_DIR)/sunjce_provider.jar: build $(JCE_MANIFEST_FILE)
-	$(prep-target)
-	$(BOOT_JAR_CMD) cmf $(JCE_MANIFEST_FILE) $@ $(JAR_DIRS) \
-	    $(BOOT_JAR_JFLAGS)
-	@$(java-vm-cleanup)
-
-
-ifndef OPENJDK
-# =====================================================
-# Sign the provider jar file.  Not needed for OpenJDK.
-#
-
-SIGNED_DIR = $(JCE_BUILD_DIR)/signed
-
-sign: sign-jar
-
-sign-jar: $(SIGNED_DIR)/sunjce_provider.jar
-
-ifndef ALT_JCE_BUILD_DIR
-$(SIGNED_DIR)/sunjce_provider.jar: $(UNSIGNED_DIR)/sunjce_provider.jar
-else
-#
-# We have to remove the build dependency, otherwise, we'll try to rebuild it
-# which we can't do on a read-only filesystem.
-#
-$(SIGNED_DIR)/sunjce_provider.jar:
-	@if [ ! -r $(UNSIGNED_DIR)/sunjce_provider.jar ] ; then \
-	    $(ECHO) "Couldn't find $(UNSIGNED_DIR)/sunjce_provider.jar"; \
-	    exit 1; \
-	fi
-endif
-	$(call sign-file, $(UNSIGNED_DIR)/sunjce_provider.jar)
-
-
-# =====================================================
-# Create the Release Engineering files.  Signed builds, etc.
-#
-
-release: $(SIGNED_DIR)/sunjce_provider.jar
-	$(RM) $(JCE_BUILD_DIR)/release/sunjce_provider.jar
-	$(MKDIR) -p $(JCE_BUILD_DIR)/release
-	$(CP) $(SIGNED_DIR)/sunjce_provider.jar $(JCE_BUILD_DIR)/release
-	$(release-warning)
-
-endif # OPENJDK
-
-
-# =====================================================
-# Install routines.
-#
-
-#
-# Install sunjce_provider.jar, depending on which type is requested.
-#
-install-jar jar: $(JAR_DESTFILE)
-ifndef OPENJDK
-	$(release-warning)
-endif
-
-ifdef OPENJDK
-$(JAR_DESTFILE): $(UNSIGNED_DIR)/sunjce_provider.jar
-else
-$(JAR_DESTFILE): $(SIGNED_DIR)/sunjce_provider.jar
-endif
-	$(install-file)
-
-ifndef OPENJDK
-install-prebuilt:
-	@$(ECHO) "\n>>>Installing prebuilt SunJCE provider..."
-	$(RM) $(JAR_DESTFILE)
-	$(CP) $(PREBUILT_DIR)/jce/sunjce_provider.jar $(JAR_DESTFILE)
-endif
-
-
-# =====================================================
-# Support routines.
-#
-
-clobber clean::
-	$(RM) -r $(JAR_DESTFILE) $(TEMPDIR) $(JCE_BUILD_DIR)
-
-.PHONY: build-jar jar install-jar
-ifndef OPENJDK
-.PHONY: sign sign-jar release install-prebuilt
-endif
--- a/jdk/makefiles/common/Classes.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-#
-# Copyright (c) 1995, 2005, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-# WARNING: This file is shared with other workspaces.
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
-include $(JDK_TOPDIR)/makefiles/common/Rules.gmk
-
-#
-# Say you built classes into $(ALT_CLASSBINDIR) and then at the end of
-# the build you might want to copy them over to $(ALT_CLASSDESTDIR);
-# this rule takes care of that.  No one should really set these
-# variables except the bootstrap/recompile stage of the java compiler.
-#
-ifdef ALT_CLASSBINDIR
-
-# By default post-processing is copying.  Suppose you want to build
-# a jar file then set ALT_CLASSES_DISPOSITION to '../../dest/nameof.jar'
-# before including this file.
-ifndef ALT_CLASSES_DISPOSITION
-ALT_CLASSES_DISPOSITION = copy-classes
-endif
-
-build : $(ALT_CLASSES_DISPOSITION)
-
-copy-classes: 
-ifneq ($(ALT_CLASSBINDIR), $(ALT_CLASSDESTDIR))
-	@if [ -s $(TEMPDIR)/.classes.list ]; then \
-	  mkdir -p $(ALT_CLASSDESTDIR); \
-	  echo "Copying $(ALT_CLASSBINDIR)..."; \
-	  echo "(cd $(ALT_CLASSBINDIR); tar cf - .) | \
-			(cd $(ALT_CLASSDESTDIR); tar xf -)"; \
-	  (cd $(ALT_CLASSBINDIR); tar cf - .) | \
-			(cd $(ALT_CLASSDESTDIR); tar xf -); \
-	fi
-else # ALT_CLASSBINDIR
-	@if [ -s $(TEMPDIR)/.classes.list ]; then \
-	  echo "Copy source and destination are the same: $(ALT_CLASSBINDIR) -- Copy skipped..."; \
-	fi
-endif # ALT_CLASSBINDIR
-
-.PHONY: copy-classes
-endif # ALT_CLASSBINDIR
-
--- a/jdk/makefiles/common/Cscope.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-#
-# Copyright (c) 1998, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# The cscope.out file is made in the current directory and spans the entire
-# source tree.
-#
-# Things to note:
-#	1. We use relative names for cscope.
-#	2. We *don't* remove the old cscope.out file, because cscope is smart
-#	   enough to only build what has changed.  It can be confused, however,
-#	   if files are renamed or removed, so it may be necessary to manually
-#	   remove cscope.out if a lot of reorganization has occurred.
-#
-CSDIRS	= $(JDK_TOPDIR)/src $(JDK_TOPDIR)/build
-CSINCS	= $(CSDIRS:%=-I%)
-
-#
-# Set CSFLAGS env variable to -b when using fast cscope to build the fast
-# (but large) cscope data bases.
-#
-CSCOPE	= cscope-fast
-ifeq ($(CSCOPE), cscope-fast)
-CSFLAGS	= -b
-endif
-
-#
-# Adding .java files pushes the file count of a full workspace up about 2500
-# files, which slows database lookup.  Thus allow these files to be added from
-# the environment (CSCLASSES=yes).
-#
-ifdef	CSCLASSES
-ADDCLASSES=	-o -name '*.java'
-endif
-
-#
-# Adding CClassHeaders also pushes the file count of a full workspace up about
-# 200 files (these files also don't exist in a new workspace, and thus will
-# cause the recreation of the database as they get created, which might seem
-# A little confusing).  Thus allow these files to be added from the environment
-# (CSHEADERS=yes).
-#
-ifndef	CSHEADERS
-RMCCHEADERS=	-o -name CClassHeaders
-endif
-
-
-.PRECIOUS:	cscope.out
-
-cscope.out: cscope.files FRC
-	$(CSCOPE) $(CSFLAGS)
-
-#
-# What files should we include?  A simple rule might be just those files under
-# SCM control, however this would miss files we create like the opcodes and
-# CClassHeaders.  The following attempts to find everything that is *useful*.
-# (demo directories contain many .java files
-# that probably aren't useful for development, and the pkgarchive may contain
-# duplicates of files within the source hierarchy).  The ordering of the .raw
-# file is an attempt to make cscope display the most relevant files first.
-#
-cscope.files: FRC
-	@-$(RM) cscope.files cscope.files.raw
-	echo "$(CSINCS)" > cscope.files
-	-find $(CSDIRS) $(SCM_DIRS_prune) -o -type d \( -name '.del-*' -o \
-	    -name '*demo' -o -name pkgarchive $(RMCCHEADERS) \) -prune -o \
-	    -type f \( -name '*.[Ccshlxy]' -o -name '*.il' -o -name '*.cc' -o \
-	    -name 'Makefile*' -o -name GNUmakefile -o -name '*.gmk' -o \
-	    -name '*.cpp' $(ADDCLASSES) \) -print > cscope.files.raw
-	-egrep -v "\.java|\/build\/"	cscope.files.raw >> cscope.files
-	-fgrep ".java"			cscope.files.raw >> cscope.files
-	-fgrep "/build/"		cscope.files.raw >> cscope.files
-	@-$(RM) cscope.files.raw
-
-cscope.clean:
-	-$(RM) cscope.files cscope.files.raw cscope.out
-
-FRC:
--- a/jdk/makefiles/common/Defs-embedded.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-#
-# Copyright (c) 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Variable definitions for SE Embedded builds.  This file should
-# not contain rules.
-#
-ifdef JAVASE_EMBEDDED
-
-# Compress jar files
-COMPRESS_JARS = true
-
-# Don't mmap zip files
-LIBZIP_CAN_USE_MMAP = false
-
-# Disable ALSA version check
-REQUIRED_ALSA_VERSION =
-
-# Compilation settings
-OTHER_CPPFLAGS += -DJAVASE_EMBEDDED
-
-# Product naming
-PRODUCT_SUFFIX = SE Runtime Environment for Embedded
-RUNTIME_NAME = $(PRODUCT_NAME) $(PRODUCT_SUFFIX)
-
-# Reduced JRE locations
-JRE_REDUCED_HEADLESS_IMAGE_DIR = $(ABS_OUTPUTDIR)/j2re-reduced-headless-image
-JRE_REDUCED_IMAGE_DIR = $(ABS_OUTPUTDIR)/j2re-reduced-image
-
-# Override on linux to further reduce binary/lib sizes in product build
-ifeq ($(PLATFORM), linux)
-  ifeq ($(VARIANT), OPT)
-    ifneq ($(NO_STRIP), true)
-      ifneq ($(DEBUG_BINARIES), true)
-        POST_STRIP_PROCESS = $(STRIP) --strip-unneeded
-      endif
-    endif
-  endif
-endif
-
-# NIO Platform specific source file location
-ifdef CROSS_COMPILE_ARCH
-  NIO_PLATFORM_CLASSES_ROOT_DIR = $(CLOSED_PLATFORM_SRC)/classes/
-endif
-
-# For ARM sflt we need to link to a library with improved FP accuracy
-# and it must be linked after fdlibm - this places it at the end after libc
-# -z muldefs avoids linker errors for duplicate symbols.
-ifeq ($(CROSS_COMPILE_ARCH), arm)
-  EXTRA_LIBS +=  $(EXT_LIBS_PATH)/sflt_glibc_jdk.a -Xlinker -z -Xlinker muldefs
-endif
-
-endif # JAVASE_EMBEDDED
-
--- a/jdk/makefiles/common/Defs-linux.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,430 +0,0 @@
-#
-# Copyright (c) 1999, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Makefile to specify compiler flags for programs and libraries
-# targeted to Linux.  Should not contain any rules.
-#
-# WARNING: This file is shared with other workspaces. 
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
-# Warning: the following variables are overriden by Defs.gmk. Set
-# values will be silently ignored:
-#   CFLAGS        (set $(OTHER_CFLAGS) instead)
-#   CPPFLAGS      (set $(OTHER_CPPFLAGS) instead)
-#   CXXFLAGS      (set $(OTHER_CXXFLAGS) instead)
-#   LDFLAGS       (set $(OTHER_LDFAGS) instead)
-#   LDLIBS        (set $(EXTRA_LIBS) instead)
-#   LDLIBS_COMMON (set $(EXTRA_LIBS) instead)
-
-# Get shared JDK settings
-include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
-
-# Part of INCREMENTAL_BUILD mechanism.
-#   Compiler emits things like:  path/file.o: file.h
-#   We want something like: relative_path/file.o relative_path/file.d: file.h
-CC_DEPEND	 = -MM
-CC_DEPEND_FILTER = $(SED) -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)& $(dir $@)$*.$(DEPEND_SUFFIX)!g'
-
-ifndef PLATFORM_SRC
-  PLATFORM_SRC = $(BUILDDIR)/../src/solaris
-endif # PLATFORM_SRC
-
-# Platform specific closed sources
-ifndef OPENJDK
-  ifndef CLOSED_PLATFORM_SRC
-    CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/solaris
-  endif
-endif
-
-# platform specific include files
-PLATFORM_INCLUDE_NAME = $(PLATFORM)
-PLATFORM_INCLUDE      = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
-
-# suffix used for make dependencies files.
-DEPEND_SUFFIX = d
-# The suffix applied to the library name for FDLIBM
-FDDLIBM_SUFFIX = a
-# The suffix applied to scripts (.bat for windows, nothing for unix)
-SCRIPT_SUFFIX =
-# CC compiler object code output directive flag value
-CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
-
-# Default OBJCOPY comes from GNU Binutils on Linux:
-DEF_OBJCOPY=/usr/bin/objcopy
-ifdef CROSS_COMPILE_ARCH
-  # don't try to generate .debuginfo files when cross compiling
-  _JUNK_ := $(shell \
-    echo >&2 "INFO: cross compiling for ARCH $(CROSS_COMPILE_ARCH)," \
-      "skipping .debuginfo generation.")
-  OBJCOPY=
-else
-  OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
-  ifneq ($(ALT_OBJCOPY),)
-    _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
-    # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
-    OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
-  endif
-endif
-
-ifdef LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS
-# The setting of OBJCOPY above enables the JDK build to import
-# .debuginfo files from the HotSpot build. However, adding FDS
-# support to the JDK build will occur in phases so a different
-# make variable is used to indicate that a particular library
-# supports FDS.
-
-ifeq ($(OBJCOPY),)
-  _JUNK_ := $(shell \
-    echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.")
-else
-  _JUNK_ := $(shell \
-    echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
-
-  # Library stripping policies for .debuginfo configs:
-  #   all_strip - strips everything from the library
-  #   min_strip - strips most stuff from the library; leaves minimum symbols
-  #   no_strip  - does not strip the library at all
-  #
-  # Oracle security policy requires "all_strip". A waiver was granted on
-  # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
-  #
-  DEF_STRIP_POLICY="min_strip"
-  ifeq ($(ALT_STRIP_POLICY),)
-    STRIP_POLICY=$(DEF_STRIP_POLICY)
-  else
-    STRIP_POLICY=$(ALT_STRIP_POLICY)
-  endif
-
-  _JUNK_ := $(shell \
-    echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
-endif
-endif
-
-#
-# Default optimization
-#
-
-ifndef OPTIMIZATION_LEVEL
-  ifeq ($(PRODUCT), java)
-    OPTIMIZATION_LEVEL = HIGHER
-  else
-    OPTIMIZATION_LEVEL = LOWER
-  endif
-endif
-ifndef FASTDEBUG_OPTIMIZATION_LEVEL
-  FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
-endif
-
-CC_OPT/NONE     = 
-CC_OPT/LOWER    = -O2
-CC_OPT/HIGHER   = -O3
-CC_OPT/HIGHEST  = -O3
-
-CC_OPT          = $(CC_OPT/$(OPTIMIZATION_LEVEL))
-
-# For all platforms, do not omit the frame pointer register usage. 
-#    We need this frame pointer to make it easy to walk the stacks.
-#    This should be the default on X86, but ia64 and amd64 may not have this
-#    as the default.
-CFLAGS_REQUIRED_amd64   += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
-CFLAGS_REQUIRED_i586    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
-CFLAGS_REQUIRED_ia64    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
-CFLAGS_REQUIRED_sparcv9 += -m64 -mcpu=v9
-LDFLAGS_COMMON_sparcv9  += -m64 -mcpu=v9
-CFLAGS_REQUIRED_sparc   += -m32 -mcpu=v9
-LDFLAGS_COMMON_sparc    += -m32 -mcpu=v9
-CFLAGS_REQUIRED_arm     += -fsigned-char -D_LITTLE_ENDIAN
-CFLAGS_REQUIRED_ppc     += -fsigned-char -D_BIG_ENDIAN
-ifeq ($(ZERO_BUILD), true)
-  CFLAGS_REQUIRED       =  $(ZERO_ARCHFLAG)
-  ifeq ($(ZERO_ENDIANNESS), little)
-    CFLAGS_REQUIRED     += -D_LITTLE_ENDIAN
-  endif
-  LDFLAGS_COMMON        += $(ZERO_ARCHFLAG)
-else
-  CFLAGS_REQUIRED       =  $(CFLAGS_REQUIRED_$(ARCH))
-  LDFLAGS_COMMON        += $(LDFLAGS_COMMON_$(ARCH))
-endif
-
-# If this is a --hash-style=gnu system, use --hash-style=both
-#   The gnu .hash section won't work on some Linux systems like SuSE 10.
-_HAS_HASH_STYLE_GNU:=$(shell $(CC) -dumpspecs | $(GREP) -- '--hash-style=gnu')
-ifneq ($(_HAS_HASH_STYLE_GNU),)
-  LDFLAGS_HASH_STYLE = -Wl,--hash-style=both
-endif
-LDFLAGS_COMMON          += $(LDFLAGS_HASH_STYLE)
-
-#
-# Selection of warning messages
-#
-GCC_INHIBIT	= -Wno-unused -Wno-parentheses
-GCC_STYLE	= 
-GCC_WARNINGS	= -W -Wall $(GCC_STYLE) $(GCC_INHIBIT)
-
-#
-# Treat compiler warnings as errors, if warnings not allowed
-#
-ifeq ($(COMPILER_WARNINGS_FATAL),true)
-  GCC_WARNINGS += -Werror
-endif
-
-#
-# Misc compiler options
-#
-ifneq ($(ARCH),ppc)
-  CFLAGS_COMMON   = -fno-strict-aliasing
-endif 
-PIC_CODE_LARGE = -fPIC
-PIC_CODE_SMALL = -fpic
-GLOBAL_KPIC = $(PIC_CODE_LARGE)
-CFLAGS_COMMON   += $(GLOBAL_KPIC) $(GCC_WARNINGS)
-ifeq ($(ARCH), amd64)
- CFLAGS_COMMON += -pipe
-endif
-
-# Linux 64bit machines use Dwarf2, which can be HUGE, have fastdebug use -g1
-DEBUG_FLAG = -g
-ifeq ($(FASTDEBUG), true)
-  ifeq ($(ARCH_DATA_MODEL), 64)
-    DEBUG_FLAG = -g1
-  endif
-endif
-
-# DEBUG_BINARIES overrides everything, use full -g debug information
-ifeq ($(DEBUG_BINARIES), true)
-  DEBUG_FLAG = -g
-  CFLAGS_REQUIRED += $(DEBUG_FLAG)
-endif
-
-CFLAGS_OPT      = $(CC_OPT)
-CFLAGS_DBG      = $(DEBUG_FLAG)
-CFLAGS_COMMON += $(CFLAGS_REQUIRED)
-
-CXXFLAGS_COMMON = $(GLOBAL_KPIC) -DCC_NOEX $(GCC_WARNINGS)
-CXXFLAGS_OPT	= $(CC_OPT)
-CXXFLAGS_DBG	= $(DEBUG_FLAG)
-CXXFLAGS_COMMON += $(CFLAGS_REQUIRED)
-
-# FASTDEBUG: Optimize the code in the -g versions, gives us a faster debug java
-ifeq ($(FASTDEBUG), true)
-  CFLAGS_DBG    += $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
-  CXXFLAGS_DBG	+= $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
-endif
-
-CPP_ARCH_FLAGS = -DARCH='"$(ARCH)"'
-
-# Alpha arch does not like "alpha" defined (potential general arch cleanup issue here)
-ifneq ($(ARCH),alpha)
-  CPP_ARCH_FLAGS += -D$(ARCH)
-else
-  CPP_ARCH_FLAGS += -D_$(ARCH)_
-endif
-
-CPPFLAGS_COMMON = $(CPP_ARCH_FLAGS) -DLINUX $(VERSION_DEFINES) \
-		  -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT
-
-ifeq ($(ARCH_DATA_MODEL), 64)
-CPPFLAGS_COMMON += -D_LP64=1
-endif
-
-CPPFLAGS_OPT    = -DNDEBUG
-CPPFLAGS_DBG    = -DDEBUG
-ifneq ($(PRODUCT), java)
-  CPPFLAGS_DBG    += -DLOGGING 
-endif
-
-ifdef LIBRARY
-  # Libraries need to locate other libraries at runtime, and you can tell
-  #   a library where to look by way of the dynamic runpaths (RPATH or RUNPATH)
-  #   buried inside the .so. The $ORIGIN says to look relative to where
-  #   the library itself is and it can be followed with relative paths from
-  #   that. By default we always look in $ORIGIN, optionally we add relative
-  #   paths if the Makefile sets LD_RUNPATH_EXTRAS to those relative paths.
-  #   On Linux we add a flag -z origin, not sure if this is necessary, but 
-  #   doesn't seem to hurt.
-  #   The environment variable LD_LIBRARY_PATH will over-ride these runpaths.
-  #   Try: 'readelf -d lib*.so' to see these settings in a library.
-  #
-  Z_ORIGIN_FLAG/sparc = -Xlinker -z -Xlinker origin
-  Z_ORIGIN_FLAG/i586  = -Xlinker -z -Xlinker origin
-  Z_ORIGIN_FLAG/amd64 = -Xlinker -z -Xlinker origin 
-  Z_ORIGIN_FLAG/ia64  = -Xlinker -z -Xlinker origin
-  Z_ORIGIN_FLAG/arm   = 
-  Z_ORIGIN_FLAG/ppc   =
-  Z_ORIGIN_FLAG/zero  = -Xlinker -z -Xlinker origin
-
-  LDFLAG_Z_ORIGIN = $(Z_ORIGIN_FLAG/$(ARCH_FAMILY))
-
-  LDFLAGS_COMMON += $(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN
-  LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=$(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN/%)
-
-endif
-
-EXTRA_LIBS += -lc
-
-LDFLAGS_DEFS_OPTION  = -Xlinker -z -Xlinker defs
-#LDFLAGS_COMMON  += $(LDFLAGS_DEFS_OPTION)
-
-#
-# -L paths for finding and -ljava
-#
-LDFLAGS_OPT     = -Xlinker -O1
-LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
-LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
-
-#
-# -static-libgcc is a gcc-3 flag to statically link libgcc, gcc-2.9x always
-# statically link libgcc but will print a warning with the flag. We don't 
-# want the warning, so check gcc version first.
-#
-ifeq ($(CC_MAJORVER),3)
-  OTHER_LDFLAGS  += -static-libgcc
-endif
-
-# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
-#   (See Rules.gmk) The gcc 5 compiler might have an option for this?
-AUTOMATIC_PCH_OPTION = 
-
-#
-# Post Processing of libraries/executables
-#
-ifeq ($(VARIANT), OPT)
-  ifneq ($(NO_STRIP), true)
-    ifneq ($(DEBUG_BINARIES), true)
-      # Debug 'strip -g' leaves local function Elf symbols (better stack
-      # traces)
-      POST_STRIP_PROCESS = $(STRIP) -g
-    endif
-  endif
-endif
-
-#
-# Use: ld $(LD_MAPFILE_FLAG) mapfile *.o
-#
-LD_MAPFILE_FLAG = -Xlinker --version-script -Xlinker
-
-#
-# Support for Quantify.
-#
-ifdef QUANTIFY
-QUANTIFY_CMD = quantify
-QUANTIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes
-LINK_PRE_CMD = $(QUANTIFY_CMD) $(QUANTIFY_OPTIONS)
-endif
-
-#
-# Path and option to link against the VM, if you have to.  Note that
-# there are libraries that link against only -ljava, but they do get
-# -L to the -ljvm, this is because -ljava depends on -ljvm, whereas
-# the library itself should not.
-#
-VM_NAME         = server
-# First try to link against server, if that does not exist link against client.
-JVMLIB          = -L$(LIBDIR)/$(LIBARCH)/server -L$(LIBDIR)/$(LIBARCH)/client -ljvm
-JAVALIB         = -ljava $(JVMLIB)
-
-#
-# We want to privatize JVM symbols on Solaris. This is so the user can
-# write a function called FindClass and this should not override the 
-# FindClass that is inside the JVM. At this point in time we are not
-# concerned with other JNI libraries because we hope that there will
-# not be as many clashes there.
-#
-PRIVATIZE_JVM_SYMBOLS = false
-
-USE_PTHREADS = true
-override ALT_CODESET_KEY         = _NL_CTYPE_CODESET_NAME
-override AWT_RUNPATH             =
-override HAVE_ALTZONE            = false
-override HAVE_FILIOH             = false
-override HAVE_GETHRTIME          = false
-override HAVE_GETHRVTIME         = false
-override HAVE_SIGIGNORE          = true
-override LEX_LIBRARY             = -lfl
-ifeq ($(STATIC_CXX),true)
-override LIBCXX                  = -Wl,-Bstatic -lstdc++ -lgcc -Wl,-Bdynamic
-else
-override LIBCXX                  = -lstdc++
-endif
-override LIBPOSIX4               =
-override LIBSOCKET               =
-override LIBNSL                  =
-override LIBSCF                  =
-override LIBTHREAD               =
-override LIBDL                   = -ldl
-override MOOT_PRIORITIES         = true
-override NO_INTERRUPTIBLE_IO     = true
-ifeq ($(ARCH), amd64)
-override OPENWIN_LIB             = $(OPENWIN_HOME)/lib64
-else
-override OPENWIN_LIB             = $(OPENWIN_HOME)/lib
-endif
-override OTHER_M4FLAGS           = -D__GLIBC__ -DGNU_ASSEMBLER
-override SUN_CMM_SUBDIR          =
-override THREADS_FLAG            = native
-override USE_GNU_M4              = true
-override USING_GNU_TAR           = true
-override WRITE_LIBVERSION        = false
-
-# USE_EXECNAME forces the launcher to look up argv[0] on $PATH, and put the
-# resulting resolved absolute name of the executable in the environment
-# variable EXECNAME.  That executable name is then used that to locate the
-# installation area.
-override USE_EXECNAME            = true
-
-# If your platform has DPS, it will have Type1 fonts too, in which case
-# it is best to enable DPS support until such time as 2D's rasteriser
-# can fully handle Type1 fonts in all cases. Default is "yes".
-# HAVE_DPS should only be "no" if the platform has no DPS headers or libs
-# DPS (Displayable PostScript) is available on Solaris machines
-HAVE_DPS = no
-
-#
-# Japanese manpages
-#
-JA_SOURCE_ENCODING = eucJP
-JA_TARGET_ENCODINGS = UTF-8
-
-# Settings for the JDI - Serviceability Agent binding.
-HOTSPOT_SALIB_PATH   = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
-SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
-SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo
-
-# The JDI - Serviceability Agent binding is not currently supported
-# on Linux-ia64.
-ifeq ($(ARCH), ia64)
-  INCLUDE_SA = false
-else
-  INCLUDE_SA = true
-endif
-
-ifdef CROSS_COMPILE_ARCH
-  # X11 headers are not under /usr/include
-  OTHER_CFLAGS += -I$(OPENWIN_HOME)/include
-  OTHER_CXXFLAGS += -I$(OPENWIN_HOME)/include
-  OTHER_CPPFLAGS += -I$(OPENWIN_HOME)/include
-endif
--- a/jdk/makefiles/common/Defs-macosx.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,402 +0,0 @@
-#
-# Copyright (c) 1999, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Makefile to specify compiler flags for programs and libraries
-# targeted to MACOSX.  Should not contain any rules.
-#
-# WARNING: This file is shared with other workspaces. 
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
-# Warning: the following variables are overriden by Defs.gmk. Set
-# values will be silently ignored:
-#   CFLAGS        (set $(OTHER_CFLAGS) instead)
-#   CPPFLAGS      (set $(OTHER_CPPFLAGS) instead)
-#   CXXFLAGS      (set $(OTHER_CXXFLAGS) instead)
-#   LDFLAGS       (set $(OTHER_LDFAGS) instead)
-#   LDLIBS        (set $(EXTRA_LIBS) instead)
-#   LDLIBS_COMMON (set $(EXTRA_LIBS) instead)
-
-# Get shared JDK settings
-include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
-
-# Part of INCREMENTAL_BUILD mechanism.
-#   Compiler emits things like:  path/file.o: file.h
-#   We want something like: relative_path/file.o relative_path/file.d: file.h
-CC_DEPEND	 = -MM
-CC_DEPEND_FILTER = $(SED) -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)& $(dir $@)$*.$(DEPEND_SUFFIX)!g'
-
-ifndef PLATFORM_SRC
-  PLATFORM_SRC = $(BUILDDIR)/../src/solaris
-endif # PLATFORM_SRC
-
-PLATFORM_SRC_MACOS = $(BUILDDIR)/../src/macosx
-
-# BSD build pulls its platform sources from the solaris tree.
-JAVA_SRCDIR_LIST = src/$(PLATFORM) src/solaris src/share
-NATIVE_SRCDIR_LIST = src/$(PLATFORM) src/solaris src/share
-
-# Platform specific closed sources
-ifndef OPENJDK
-  ifndef CLOSED_PLATFORM_SRC
-    CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/solaris
-  endif
-endif
-
-# platform specific include files
-PLATFORM_INCLUDE_NAME = $(OS_NAME)
-PLATFORM_INCLUDE      = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
-
-# suffix used for make dependencies files.
-DEPEND_SUFFIX = d
-# The suffix applied to the library name for FDLIBM
-FDDLIBM_SUFFIX = a
-# The suffix applied to scripts (.bat for windows, nothing for unix)
-SCRIPT_SUFFIX =
-# CC compiler object code output directive flag value
-CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
-CC_PROGRAM_OUTPUT_FLAG = -o #trailing blank required!
-
-#
-# Default optimization
-#
-
-ifndef OPTIMIZATION_LEVEL
-  ifeq ($(PRODUCT), java)
-    OPTIMIZATION_LEVEL = HIGHER
-  else
-    OPTIMIZATION_LEVEL = LOWER
-  endif
-endif
-ifndef FASTDEBUG_OPTIMIZATION_LEVEL
-  FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
-endif
-
-# For macosx use -Os by default, unless -O3 can be proved to be worth the cost, as per policy
-# <http://wikis.sun.com/display/OpenJDK/Mac+OS+X+Port+Compilers>
-CC_OPT/NONE     = 
-CC_OPT/LOWER    = -Os
-CC_OPT/HIGHER   = -Os
-CC_OPT/HIGHEST  = -Os
-
-CC_OPT          = $(CC_OPT/$(OPTIMIZATION_LEVEL))
-
-# For all platforms, do not omit the frame pointer register usage. 
-#    We need this frame pointer to make it easy to walk the stacks.
-#    This should be the default on X86, but ia64, and x86_64
-#    may not have this as the default.
-CFLAGS_REQUIRED_x86_64  += -m64 -fno-omit-frame-pointer -D_LITTLE_ENDIAN
-LDFLAGS_COMMON_x86_64   += -m64
-CFLAGS_REQUIRED_i586    += -m32 -fno-omit-frame-pointer -D_LITTLE_ENDIAN
-LDFLAGS_COMMON_i586     += -m32
-CFLAGS_REQUIRED_ia64    += -m64 -fno-omit-frame-pointer -D_LITTLE_ENDIAN
-CFLAGS_REQUIRED_sparcv9 += -m64 -mcpu=v9
-LDFLAGS_COMMON_sparcv9  += -m64 -mcpu=v9
-CFLAGS_REQUIRED_sparc   += -m32 -mcpu=v9
-LDFLAGS_COMMON_sparc    += -m32 -mcpu=v9
-CFLAGS_REQUIRED_arm     += -fsigned-char -D_LITTLE_ENDIAN
-CFLAGS_REQUIRED_ppc     += -fsigned-char -D_BIG_ENDIAN
-ifeq ($(ZERO_BUILD), true)
-  CFLAGS_REQUIRED       =  $(ZERO_ARCHFLAG)
-  ifeq ($(ZERO_ENDIANNESS), little)
-    CFLAGS_REQUIRED     += -D_LITTLE_ENDIAN
-  endif
-  LDFLAGS_COMMON        += $(ZERO_ARCHFLAG)
-else ifeq ($(ARCH), universal)
-  CFLAGS_REQUIRED       += -arch i386 -arch x86_64 -D_LITTLE_ENDIAN
-  LDFLAGS_COMMON        += -arch i386 -arch x86_64
-else
-  CFLAGS_REQUIRED       =  $(CFLAGS_REQUIRED_$(ARCH))
-  LDFLAGS_COMMON        += $(LDFLAGS_COMMON_$(ARCH))
-endif
-# 16-byte stack re-alignment on 32-bit Darwin
-CFLAGS_REQUIRED_i586 += -mstackrealign
-
-OTHER_CFLAGS = \
-         -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
-	     -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks
-
-#
-# Selection of warning messages
-#
-GCC_INHIBIT	= -Wno-unused -Wno-parentheses
-GCC_STYLE	= 
-GCC_WARNINGS	= -W -Wall $(GCC_STYLE) $(GCC_INHIBIT)
-
-#
-# Treat compiler warnings as errors, if warnings not allowed
-#
-ifeq ($(COMPILER_WARNINGS_FATAL),true)
-  GCC_WARNINGS += -Werror
-endif
-
-#
-# Misc compiler options
-#
-ifneq ($(ARCH),ppc)
-  CFLAGS_COMMON   = -fno-strict-aliasing
-endif 
-PIC_CODE_LARGE = -fPIC
-PIC_CODE_SMALL = -fpic
-GLOBAL_KPIC = $(PIC_CODE_LARGE)
-CFLAGS_COMMON   += $(GLOBAL_KPIC) $(GCC_WARNINGS)
-ifeq ($(ARCH), x86_64)
- CFLAGS_COMMON += -pipe
-endif
-
-# BSD 64bit machines use Dwarf2, which can be HUGE, have fastdebug use -g1
-DEBUG_FLAG = -g
-ifeq ($(FASTDEBUG), true)
-  ifeq ($(ARCH_DATA_MODEL), 64)
-    DEBUG_FLAG = -g1
-  endif
-endif
-
-# DEBUG_BINARIES overrides everything, use full -g debug information
-ifeq ($(DEBUG_BINARIES), true)
-  DEBUG_FLAG = -g
-  CFLAGS_REQUIRED += $(DEBUG_FLAG)
-endif
-
-CFLAGS_OPT      = $(CC_OPT)
-CFLAGS_DBG      = $(DEBUG_FLAG)
-CFLAGS_COMMON += $(CFLAGS_REQUIRED)
-
-CXXFLAGS_COMMON = $(GLOBAL_KPIC) -DCC_NOEX $(GCC_WARNINGS)
-CXXFLAGS_OPT	= $(CC_OPT)
-CXXFLAGS_DBG	= $(DEBUG_FLAG)
-CXXFLAGS_COMMON += $(CFLAGS_REQUIRED)
-
-# FASTDEBUG: Optimize the code in the -g versions, gives us a faster debug java
-ifeq ($(FASTDEBUG), true)
-  CFLAGS_DBG    += $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
-  CXXFLAGS_DBG	+= $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
-endif
-
-CPP_ARCH_FLAGS = -DARCH='"$(ARCH)"'
-
-# Alpha arch does not like "alpha" defined (potential general arch cleanup issue here)
-ifneq ($(ARCH),alpha)
-  CPP_ARCH_FLAGS += -D$(ARCH)
-else
-  CPP_ARCH_FLAGS += -D_$(ARCH)_
-endif
-CPPFLAGS_COMMON = $(CPP_ARCH_FLAGS) -D_ALLBSD_SOURCE $(VERSION_DEFINES) \
-		  -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT
-
-CPPFLAGS_COMMON += -DMACOSX
-
-ifeq ($(ARCH_DATA_MODEL), 64)
-CPPFLAGS_COMMON += -D_LP64=1
-endif
-
-CPPFLAGS_OPT    = -DNDEBUG
-CPPFLAGS_DBG    = -DDEBUG
-ifneq ($(PRODUCT), java)
-  CPPFLAGS_DBG    += -DLOGGING 
-endif
-
-# Libraries need to locate other libraries at runtime, and you can tell
-#   a library where to look by way of the dynamic runpaths (RPATH or RUNPATH)
-#   buried inside the .{so,dylib}. The {$ORIGIN,@loader_path/} says to look
-#   relative to where the library itself is and it can be followed
-#   with relative paths from that. By default we always look in
-#   {$ORIGIN,@loader_path/}, optionally we add relative paths if the Makefile
-#   sets LD_RUNPATH_EXTRAS to those relative paths.
-#   Except on MacOS X we add a flag -z origin, not sure if this is necessary,
-#   but doesn't seem to hurt.
-#   The environment variable LD_LIBRARY_PATH will over-ride these runpaths.
-#   See 'man {dyld,rtld}' for more information.
-#   Try: 'readelf -d lib*.so' to see these settings in a library.
-#
-LDFLAGS_COMMON += -Xlinker -rpath -Xlinker @loader_path/.
-LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=-Xlinker -rpath -Xlinker @loader_path/%)
-LDFLAGS_COMMON += -Xlinker -install_name -Xlinker @rpath/$(@F)
-
-#
-# -L paths for finding and -ljava
-#
-LDFLAGS_COMMON += -L$(LIBDIR)
-
-#
-# -static-libgcc is a gcc-3 flag to statically link libgcc, gcc-2.9x always
-# statically link libgcc but will print a warning with the flag. We don't 
-# want the warning, so check gcc version first.
-#
-ifeq ($(CC_MAJORVER),3)
-  OTHER_LDFLAGS  += -static-libgcc
-endif
-
-# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
-#   (See Rules.gmk) The gcc 5 compiler might have an option for this?
-AUTOMATIC_PCH_OPTION = 
-
-#
-# Post Processing of libraries/executables
-#
-ifeq ($(VARIANT), OPT)
-  ifneq ($(NO_STRIP), true)
-    ifneq ($(DEBUG_BINARIES), true)
-      # Debug 'strip -S' leaves local function Elf symbols (better stack
-      # traces)
-      POST_STRIP_PROCESS = $(STRIP) -S
-    endif
-  endif
-endif
-
-#
-# Use: ld $(LD_MAPFILE_FLAG) mapfile *.o
-#
-LD_MAPFILE_FLAG = -Xlinker --version-script -Xlinker
-
-#
-# Support for Quantify.
-#
-ifdef QUANTIFY
-QUANTIFY_CMD = quantify
-QUANTIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes
-LINK_PRE_CMD = $(QUANTIFY_CMD) $(QUANTIFY_OPTIONS)
-endif
-
-# Darwin does not support linker map files.
-LDNOMAP=true
-
-#
-# Path and option to link against the VM, if you have to.  Note that
-# there are libraries that link against only -ljava, but they do get
-# -L to the -ljvm, this is because -ljava depends on -ljvm, whereas
-# the library itself should not.
-#
-VM_NAME         = server
-JVMLIB          = -L$(LIBDIR)/server -L$(LIBDIR)/client -ljvm
-JAVALIB         = -ljava $(JVMLIB)
-
-#
-# We want to privatize JVM symbols on Solaris. This is so the user can
-# write a function called FindClass and this should not override the 
-# FindClass that is inside the JVM. At this point in time we are not
-# concerned with other JNI libraries because we hope that there will
-# not be as many clashes there.
-#
-PRIVATIZE_JVM_SYMBOLS = false
-
-USE_PTHREADS = true
-override ALT_CODESET_KEY         = _NL_CTYPE_CODESET_NAME
-override AWT_RUNPATH             =
-override HAVE_ALTZONE            = false
-override HAVE_FILIOH             = false
-override HAVE_GETHRTIME          = false
-override HAVE_GETHRVTIME         = false
-override HAVE_SIGIGNORE          = true
-override LEX_LIBRARY             = -lfl
-ifeq ($(STATIC_CXX),true)
-override LIBCXX                  = -Wl,-Bstatic -lstdc++ -lgcc -Wl,-Bdynamic
-else
-override LIBCXX                  = -lstdc++
-endif
-override LIBPOSIX4               =
-override LIBSOCKET               =
-override LIBNSL                  =
-override LIBTHREAD               =
-override LIBDL                   =
-override MOOT_PRIORITIES         = true
-override NO_INTERRUPTIBLE_IO     = true
-override OPENWIN_HOME            = $(X11_PATH)
-override OPENWIN_LIB             = $(OPENWIN_HOME)/lib
-override OTHER_M4FLAGS           = -D__GLIBC__ -DGNU_ASSEMBLER
-override SUN_CMM_SUBDIR          =
-override THREADS_FLAG            = native
-override USE_GNU_M4              = true
-override USING_GNU_TAR           = true
-override WRITE_LIBVERSION        = false
-
-ifdef ALT_X11_PATH
-  X11_PATH = $(ALT_X11_PATH)
-else
-  X11_PATH = /usr/X11R6
-endif
-
-ifdef ALT_PACKAGE_PATH
-  PACKAGE_PATH = $(ALT_PACKAGE_PATH)
-else
-  PACKAGE_PATH = /opt/local
-endif
-
-# ALSA
-ifdef ALT_ALSA_LIB_PATH
-  ALSA_LIB_PATH = $(ALT_ALSA_LIB_PATH)
-else
-  ALSA_LIB_PATH = $(PACKAGE_PATH)/lib
-endif
-
-ifdef ALT_ALSA_HEADERS_PATH
-  ALSA_HEADERS_PATH = $(ALT_ALSA_HEADERS_PATH)
-else
-  ALSA_HEADERS_PATH = $(PACKAGE_PATH)/include
-endif
-
-# USE_EXECNAME forces the launcher to look up argv[0] on $PATH, and put the
-# resulting resolved absolute name of the executable in the environment
-# variable EXECNAME.  That executable name is then used that to locate the
-# installation area.
-override USE_EXECNAME            = true
-
-# If your platform has DPS, it will have Type1 fonts too, in which case
-# it is best to enable DPS support until such time as 2D's rasteriser
-# can fully handle Type1 fonts in all cases. Default is "yes".
-# HAVE_DPS should only be "no" if the platform has no DPS headers or libs
-# DPS (Displayable PostScript) is available on Solaris machines
-HAVE_DPS = no
-
-SYSTEM_ZLIB = true
-
-#
-# Japanese manpages
-#
-JA_SOURCE_ENCODING = eucJP
-JA_TARGET_ENCODINGS = UTF-8
-
-# Settings for the JDI - Serviceability Agent binding.
-
-HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
-SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
-
-# The JDI - Serviceability Agent binding is not currently supported
-# on ia64.
-ifeq ($(ARCH), ia64)
-  INCLUDE_SA = false
-else
-  INCLUDE_SA = true
-endif
-
-ifdef CROSS_COMPILE_ARCH
-  # X11 headers are not under /usr/include
-  OTHER_CFLAGS += -I$(OPENWIN_HOME)/include
-  OTHER_CXXFLAGS += -I$(OPENWIN_HOME)/include
-  OTHER_CPPFLAGS += -I$(OPENWIN_HOME)/include
-endif
-
-LIB_LOCATION ?= $(LIBDIR)
--- a/jdk/makefiles/common/Defs-solaris.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,757 +0,0 @@
-#
-# Copyright (c) 1995, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Makefile to specify compiler flags for programs and libraries
-# targeted to Solaris.  Should not contain any rules.
-#
-# WARNING: This file is shared with other workspaces. 
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
-# Warning: the following variables are overridden by Defs.gmk. Set
-# values will be silently ignored:
-#   CFLAGS        (set $(OTHER_CFLAGS) instead)
-#   CPPFLAGS      (set $(OTHER_CPPFLAGS) instead)
-#   CXXFLAGS      (set $(OTHER_CXXFLAGS) instead)
-#   LDFLAGS       (set $(OTHER_LDFAGS) instead)
-#   LDLIBS        (set $(EXTRA_LIBS) instead)
-#   LDLIBS_COMMON (set $(EXTRA_LIBS) instead)
-#   LINTFLAGS     (set $(OTHER_LINTFLAGS) instead)
-#
-# Note: CPPFLAGS are used in C and C++ compiles.
-#
-
-# Get shared JDK settings
-include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
-
-ifndef PLATFORM_SRC
-PLATFORM_SRC = $(BUILDDIR)/../src/solaris
-endif # PLATFORM_SRC
-
-# Platform specific closed sources
-ifndef OPENJDK
-  ifndef CLOSED_PLATFORM_SRC
-    CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/solaris
-  endif
-endif
-
-# platform specific include files
-PLATFORM_INCLUDE_NAME = $(PLATFORM)
-PLATFORM_INCLUDE      = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
-
-# suffix used for make dependencies files
-DEPEND_SUFFIX = d
-# suffix used for lint files
-LINT_SUFFIX = ln
-# The suffix applied to the library name for FDLIBM
-FDDLIBM_SUFFIX = a
-# The suffix applied to scripts (.bat for windows, nothing for unix)
-SCRIPT_SUFFIX =
-# CC compiler object code output directive flag value
-CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
-
-ifdef ENABLE_FULL_DEBUG_SYMBOLS
-# Only check for Full Debug Symbols support on Solaris if it is
-# specifically enabled. Hopefully, it can be enabled by default
-# once the .debuginfo size issues are worked out.
-
-# Default OBJCOPY comes from the SUNWbinutils package:
-DEF_OBJCOPY=/usr/sfw/bin/gobjcopy
-ifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64)
-  # On Solaris AMD64/X64, gobjcopy is not happy and fails:
-  #
-  # usr/sfw/bin/gobjcopy --add-gnu-debuglink=<lib>.debuginfo <lib>.so
-  # BFD: stKPaiop: Not enough room for program headers, try linking with -N
-  # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
-  # BFD: stKPaiop: Not enough room for program headers, try linking with -N
-  # /usr/sfw/bin/gobjcopy: libsaproc.debuginfo: Bad value
-  # BFD: stKPaiop: Not enough room for program headers, try linking with -N
-  # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
-  _JUNK_ := $(shell \
-    echo >&2 "INFO: $(DEF_OBJCOPY) is not working on Solaris AMD64/X64")
-  OBJCOPY=
-else
-  OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
-  ifneq ($(ALT_OBJCOPY),)
-    _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
-    # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
-    OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
-  endif
-endif
-
-ifdef LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS
-# The setting of OBJCOPY above enables the JDK build to import
-# .debuginfo files from the HotSpot build. However, adding FDS
-# support to the JDK build will occur in phases so a different
-# make variable is used to indicate that a particular library
-# supports FDS.
-
-ifeq ($(OBJCOPY),)
-  _JUNK_ := $(shell \
-    echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.")
-else
-  _JUNK_ := $(shell \
-    echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
-
-  # Library stripping policies for .debuginfo configs:
-  #   all_strip - strips everything from the library
-  #   min_strip - strips most stuff from the library; leaves minimum symbols
-  #   no_strip  - does not strip the library at all
-  #
-  # Oracle security policy requires "all_strip". A waiver was granted on
-  # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
-  #
-  DEF_STRIP_POLICY="min_strip"
-  ifeq ($(ALT_STRIP_POLICY),)
-    STRIP_POLICY=$(DEF_STRIP_POLICY)
-  else
-    STRIP_POLICY=$(ALT_STRIP_POLICY)
-  endif
-  _JUNK_ := $(shell \
-    echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
-endif
-endif
-endif
-
-#
-# Java default optimization (-x04/-O2) etc.  Applies to the VM.
-#
-ifndef OPTIMIZATION_LEVEL
-  ifeq ($(PRODUCT), java)
-    OPTIMIZATION_LEVEL = HIGHER
-  else
-    OPTIMIZATION_LEVEL = LOWER
-  endif
-endif
-ifndef FASTDEBUG_OPTIMIZATION_LEVEL
-  FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
-endif
-
-#
-# If -Xa is in CFLAGS_COMMON it will end up ahead of $(CC_OPT) for the
-# optimized build, and that ordering of the flags completely freaks
-# out cc.  Hence, -Xa is instead in each CFLAGS variant.
-#
-# The more unusual options to the Sun C compiler:
-#	-v		Stricter type checking, more error checking
-#			(To turn ALL warnings into fatals, use -errwarn=%all)
-#	-xstrconst	Place string literals and constants in read-only area
-#			(means you can't write on your string literals)
-#	-xs		Force debug information (stabs) into the .so or a.out
-#			(makes the library/executable debuggable without the
-#			.o files needing to be around, but at a space cost)
-#	-g & -O		If you add the -g option to the optimized compiles
-#			you will get better stack retraces, the code is
-#			still optimized. This includes a space cost too.
-#       -xc99=%none     Do NOT allow for c99 extensions to be used.
-#                       e.g. declarations must precede statements
-#       -xCC            Allow the C++ style of comments in C: //
-#                       Required with many of the source files.
-#       -mt             Assume multi-threaded (important)
-#
-# The more unusual options to the Sun C compiler:
-#       +w              Print more warnings
-#       +w2             Maximum warnings
-#
-
-#
-# Debug flag for C and C++ compiler
-#
-CFLAGS_DEBUG_OPTION    = -g $(CC_OPT/NONE)
-CXXFLAGS_DEBUG_OPTION  = -g $(CXX_OPT/NONE)
-
-# Turn off -g if we are doing tcov build
-ifdef TCOV_BUILD
-  CFLAGS_DEBUG_OPTION=
-  CXXFLAGS_DEBUG_OPTION=
-endif
-
-# FASTDEBUG: Optimize the -g builds, gives us a faster debug java
-#        If true adds -O to the debug compiles. This allows for any assert
-#        tests to remain and debug checking. The resulting code is faster
-#        but less debuggable.  Stack traces are still valid, although only
-#        approximate line numbers are given. Printing of local variables
-#        during a debugging session is not possible, but stepping and
-#        printing of global or static variables should be possible.
-#        Performance/size of files should be about the same, maybe smaller.
-#
-ifeq ($(FASTDEBUG), true)
-  CFLAGS_DEBUG_OPTION    = -g  $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
-  CXXFLAGS_DEBUG_OPTION  = -g0 $(CXX_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
-endif
-
-CFLAGS_COMMON   = -L$(OBJDIR)
-
-# Do not allow C99 language features like declarations in code etc.
-CFLAGS_COMMON  += -xc99=%none
-
-# Allow C++ comments in C code
-CFLAGS_COMMON  += -xCC
-
-# Show error message tags on errors
-CFLAGS_COMMON   += -errshort=tags
-CXXFLAGS_COMMON += -errtags=yes
-
-# Optimization flags
-CFLAGS_OPT      = $(CC_OPT)
-
-# Debug version flags
-CFLAGS_DBG      = $(CFLAGS_DEBUG_OPTION)
-
-# Required C compiler flags
-CFLAGS_COMMON  += -Xa $(CFLAGS_REQUIRED)
-
-# Maximum warnings all the time
-CXXFLAGS_COMMON += +w
-CFLAGS_COMMON   += -v
-
-# Assume MT behavior all the time (important)
-CXXFLAGS_COMMON += -mt
-CFLAGS_COMMON   += -mt
-
-# Assume no C++ exceptions are used
-CXXFLAGS_COMMON += -features=no%except -DCC_NOEX
-
-# For C++, these options tell it to assume nothing about locating libraries
-#    either at compile time, or at runtime. Use of these options will likely
-#    require the use of -L and -R options to indicate where libraries will
-#    be found at compile time (-L) and at runtime (-R).
-#    The /usr/lib location comes for free, so no need to specify that one.
-#    Note: C is much simplier and there is no need for these options. This
-#          is mostly needed to avoid dependencies on libraries in the
-#          Compiler install area, also see LIBCXX and LIBM.
-CXXFLAGS_COMMON += -norunpath -xnolib
-
-#
-# Treat compiler warnings as errors, if requested
-#
-ifeq ($(COMPILER_WARNINGS_FATAL),true)
-  CFLAGS_COMMON += -errwarn=%all
-  CXXFLAGS_COMMON += -errwarn=%all
-endif
-
-CXXFLAGS_OPT	= $(CXX_OPT)
-CXXFLAGS_DBG	= $(CXXFLAGS_DEBUG_OPTION)
-CXXFLAGS_COMMON += $(CFLAGS_REQUIRED)
-
-# Add -xstrconst to the library compiles. This forces all string
-#  literals into the read-only data section, which prevents them from
-#  being written to and increases the runtime pages shared on the system.
-#
-ifdef LIBRARY
-  CFLAGS_COMMON +=-xstrconst
-endif
-
-# Source browser database
-#
-# COMPILE_WITH_SB    
-#        If defined adds -xsb to compiles and creates a
-#        source browsing database during compilation.
-#
-ifdef COMPILE_WITH_SB
-  ifeq ($(LIBRARY), java)
-    CFLAGS_DBG +=   -xsb
-  endif
-endif
-
-# Lint Flags:
-#	-Xa			ANSI C plus K&R, favor ANSI rules
-#	-fd			report on old style func defs
-#	-errchk=structarg	report on 64bit struct args by value
-#	-errchk=longptr64	report on 64bit to 32bit issues (ignores casts)
-#	-errchk=parentheses	report on suggested use of extra parens
-#	-v 			suppress unused args
-#	-x			suppress unused externs
-#	-u			suppress extern func/vars used/defined
-#	-errfmt=simple		use one line errors with position info
-#       $(LINT_XARCH_OPTION)    See Compiler-sun.gwk
-
-LINTFLAGS_COMMON  = -Xa
-LINTFLAGS_COMMON += -fd 
-LINTFLAGS_COMMON += -errchk=structarg,longptr64,parentheses
-LINTFLAGS_COMMON += -v
-LINTFLAGS_COMMON += -x 
-LINTFLAGS_COMMON += -u
-LINTFLAGS_COMMON += -errfmt=simple 
-LINTFLAGS_OPT   = 
-LINTFLAGS_DBG   =
-
-# The -W0,-noglobal tells the compiler to NOT generate mangled global
-#    ELF data symbols for file local static data.
-#    This can break fix&continue, but we'd rather do the same compilations
-#    for deliverable bits as we do for non-deliverable bits
-#    Tell the compilers to never generate globalized names, all the time.
-CFLAGS_COMMON += -W0,-noglobal
-
-# If we have a specific arch value to use, add it
-CFLAGS_COMMON    += $(XARCH_OPTION)
-CXXFLAGS_COMMON  += $(XARCH_OPTION)
-ASFLAGS_COMMON   += $(AS_XARCH_OPTION)
-EXTRA_LIBS       += $(XARCH_OPTION)
-LINTFLAGS_COMMON += $(LINT_XARCH_OPTION)
-
-#
-# uncomment the following to build with PERTURBALOT set
-#
-# OTHER_CFLAGS += -DPERTURBALOT
-#
-
-CPPFLAGS_COMMON = -D__solaris__  -D$(ARCH_FAMILY)
-CPPFLAGS_OPT    = -DNDEBUG
-CPPFLAGS_DBG    = -DDEBUG
-
-ifneq ($(PRODUCT), java)
-  CPPFLAGS_DBG    += -DLOGGING -DDBINFO
-endif
-
-ifeq ($(ARCH_FAMILY), i586)
-  # The macro _LITTLE_ENDIAN needs to be defined the same to avoid the
-  #   Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN
-  #   (The Solaris X86 system defines this in file /usr/include/sys/isa_defs.h).
-  #   Note: -Dmacro         is the same as    #define macro 1
-  #         -Dmacro=	    is the same as    #define macro
-  #
-  CPPFLAGS_COMMON +=  -DcpuIntel -D_LITTLE_ENDIAN= -D$(LIBARCH)
-  # Turn off a superfluous compiler error message on Intel
-  CFLAGS_COMMON += -erroff=E_BAD_PRAGMA_PACK_VALUE
-endif
-
-# Java memory management is based on memory mapping by default, but a
-# system only assuming malloc/free can be built by adding -DUSE_MALLOC 
-
-CPPFLAGS_COMMON	+= -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS
-CPPFLAGS_OPT	+= -DTRIMMED
-
-LDFLAGS_DEFS_OPTION  = -z defs
-LDFLAGS_COMMON  += $(LDFLAGS_DEFS_OPTION)
-
-#
-# -L paths for finding and -ljava
-#
-LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
-LDFLAGS_OPT     =
-LDFLAGS_DBG     =
-
-#
-# We never really want the incremental linker, ever
-#    The -xildoff option tells Sun's compilers to NOT use incremental linker
-#
-LDFLAGS_COMMON  += -xildoff
-
-ifdef LIBRARY
-  # Libraries need to locate other libraries at runtime, and you can tell
-  #   a library where to look by way of the dynamic runpaths (RPATH or RUNPATH)
-  #   buried inside the .so. The $ORIGIN says to look relative to where
-  #   the library itself is and it can be followed with relative paths from
-  #   that. By default we always look in $ORIGIN, optionally we add relative
-  #   paths if the Makefile sets LD_RUNPATH_EXTRAS to those relative paths.
-  #   The environment variable LD_LIBRARY_PATH will over-ride these runpaths.
-  #   Try: 'dump -Lv lib*.so' to see these settings in a library.
-  #
-  LDFLAGS_COMMON += -R\$$ORIGIN
-  LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=-R\$$ORIGIN/%)
-endif
-
-EXTRA_LIBS += -lc
-
-# Postprocessing is done on the images directories only
-#
-ifeq ($(VARIANT), OPT)
-  ifeq ($(PARTIAL_GPROF), true)
-    NO_STRIP = true
-  endif
-  ifeq ($(GPROF), true)
-    NO_STRIP = true
-  endif
-  ifneq ($(NO_STRIP), true)
-    # Debug 'strip -x' leaves local function Elf symbols (better stack traces)
-    POST_STRIP_PROCESS = $(STRIP) -x
-  endif
-endif
-POST_MCS_PROCESS=$(MCS) -d -a "JDK $(FULL_VERSION)"
-
-#
-# Sun C compiler will take -M and pass it on to ld.
-# Usage: ld $(LD_MAPFILE_FLAG) mapfile *.o
-#
-ifeq ($(CC_VERSION),gcc)
-LD_MAPFILE_FLAG = -Xlinker -M -Xlinker
-else
-LD_MAPFILE_FLAG = -M
-endif
-
-#
-# Variables globally settable from the make command line (default
-# values in brackets):
-#	GPROF (false)
-# Eg: 	% gnumake GPROF=true
-GPROF = false
-ifeq ($(GPROF), true)
-    CFLAGS_COMMON += -DGPROF -xpg
-    EXTRA_LIBS += -xpg
-endif
-
-# PARTIAL_GPROF is to be used ONLY during compilation - it should not
-# appear during linking of libraries or programs.  It also should
-# prevent linking with -z defs to allow a symbol to remain undefined.
-#
-PARTIAL_GPROF = false
-ifeq ($(PARTIAL_GPROF), true)
-  CFLAGS_GPROF += -xpg
-  LDFLAGS_DEFS_OPTION  = -z nodefs
-endif
-
-#
-# For a TCOV build we add in the TCOV_OPTION
-#
-ifdef TCOV_BUILD
-  TCOV_OPTION		= -xprofile=tcov
-  LDFLAGS_COMMON 	+= $(TCOV_OPTION) -Kpic
-  CFLAGS_COMMON  	+= $(TCOV_OPTION)
-  CXXFLAGS_COMMON 	+= $(TCOV_OPTION)
-  EXTRA_LIBS 	+= $(TCOV_OPTION)
-  LDNOMAP=true
-endif
-
-#
-# Solaris only uses native threads. 
-#
-THREADS_FLAG=	native
-THREADS_DIR=	threads
-
-#
-# Support for Quantify.
-#
-ifdef QUANTIFY
-  QUANTIFY_CMD = quantify
-  QUANTIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes
-  LINK_PRE_CMD = $(QUANTIFY_CMD) $(QUANTIFY_OPTIONS)
-  ifdef LIBRARY
-    CFLAGS_COMMON += -K PIC
-  endif
-endif
-
-#
-# Support for Purify.
-#
-ifdef PURIFY
-  PURIFY_CMD = /net/suntools.eng/export/tools/sparc/bin/purify
-  PURIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes
-  LINK_PRE_CMD = $(PURIFY_CMD) $(PURIFY_OPTIONS)
-  ifdef LIBRARY
-    CFLAGS_COMMON += -K PIC
-  endif
-endif
-
-#
-# Different "levels" of optimization.
-#
-ifeq ($(CC_VERSION),gcc)
-  
-  CC_OPT/NONE     =
-  CC_OPT/LOWER    = -O2
-  CC_OPT/HIGHER   = -O3
-  CC_OPT/HIGHEST  = -O3
-
-  CXX_OPT/NONE    =
-  CXX_OPT/LOWER   = -O2
-  CXX_OPT/HIGHER  = -O3
-  CXX_OPT/HIGHEST = -O3
-
-  CFLAGS_REQUIRED_i586  += -fno-omit-frame-pointer
-  CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer
-  
-  # Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
-  #   (See Rules.gmk) May need to wait for gcc 5?
-  AUTOMATIC_PCH_OPTION = 
-
-else
-  
-  # Highest could be -xO5, but indications are that -xO5 should be reserved
-  #    for a per-file use, on sources with known performance impacts.
-  OPT_LEVEL/LOWER    = 2
-  OPT_LEVEL/HIGHER   = 4
-  OPT_LEVEL/HIGHEST  = 4
-  
-  CC_OPT/NONE     =
-  CC_OPT/LOWER    = $(OPT_LEVEL/LOWER:%=-xO%)
-  CC_OPT/HIGHER   = $(OPT_LEVEL/HIGHER:%=-xO%)
-  CC_OPT/HIGHEST  = $(OPT_LEVEL/HIGHEST:%=-xO%)
-  
-  CXX_OPT/NONE    =
-  CXX_OPT/LOWER   = $(OPT_LEVEL/LOWER:%=-xO%)
-  CXX_OPT/HIGHER  = $(OPT_LEVEL/HIGHER:%=-xO%)
-  CXX_OPT/HIGHEST = $(OPT_LEVEL/HIGHEST:%=-xO%)
-    
-  # We need stack frames at all times
-  USE_XKEEPFRAME_OPTION = false
-  ifeq ($(USE_XKEEPFRAME_OPTION),true)
-    
-    # Unknown spelling on this option at this time (Maybe in SS13?)
-    CC_XKEEPFRAME_OPTIONS  = -xkeepframe
-    CXX_XKEEPFRAME_OPTIONS = -xkeepframe
-  
-  else
-  
-    # On X86, make sure tail call optimization is off
-    #    The z and y are the tail call optimizations.
-    ifeq ($(ARCH_FAMILY), i586)
-      CC_NEWER_THAN_58 := \
-        $(shell $(EXPR) $(CC_MAJORVER) \> 5 \| \
-	    \( $(CC_MAJORVER) = 5 \& $(CC_MINORVER) \> 8 \) )
-      ifeq ($(CC_NEWER_THAN_58),1)
-        #    Somehow, tail call optimization is creeping in.
-        #    Make sure it is off.
-        # WARNING: These may cause compiler warnings about duplicate -O options
-        CC_XKEEPFRAME_OPTIONS  += -Wu,-O$(OPT_LEVEL/$(OPTIMIZATION_LEVEL))~yz
-        CXX_XKEEPFRAME_OPTIONS += -Qoption ube -O$(OPT_LEVEL/$(OPTIMIZATION_LEVEL))~yz
-      endif
-    endif
-  
-    #  On i586 we need to tell the code generator to ALWAYS use a
-    #   frame pointer.
-    ifeq ($(ARCH_FAMILY), i586)
-      # Note that in 5.7, this is done with -xregs=no%frameptr
-      ifeq ($(CC_VER), 5.5)
-        # It's not exactly clear when this optimization kicks in, the
-        #   current assumption is -xO4 or greater and for C++ with
-        #   the -features=no%except option and -xO4 and greater.
-        #   Bottom line is, we ALWAYS want a frame pointer!
-        CC_XKEEPFRAME_OPTIONS  += -Wu,-Z~B
-        CXX_XKEEPFRAME_OPTIONS += -Qoption ube -Z~B
-      endif
-
-      CC_NEWER_THAN_56 := \
-        $(shell $(EXPR) $(CC_MAJORVER) \> 5 \| \
-	    \( $(CC_MAJORVER) = 5 \& $(CC_MINORVER) \> 6 \) )
-      ifeq ($(CC_NEWER_THAN_56),1)
-        # Do NOT use frame pointer register as a general purpose opt register
-        CC_OPT/NONE            += -xregs=no%frameptr
-        CXX_OPT/NONE           += -xregs=no%frameptr
-        CC_XKEEPFRAME_OPTIONS  += -xregs=no%frameptr
-        CXX_XKEEPFRAME_OPTIONS += -xregs=no%frameptr
-      endif
-    endif
-  
-    #  Optimizer for sparc needs to be told not to do certain things
-    #   related to frames or save instructions.
-    ifeq ($(ARCH_FAMILY), sparc)
-      #  Do not use save instructions instead of add instructions
-      #  This was an optimization starting in SC5.0 that made it hard for us to
-      #    find the "save" instruction (which got turned into an "add")
-      CC_XKEEPFRAME_OPTIONS  += -Wc,-Qrm-s
-      CXX_XKEEPFRAME_OPTIONS += -Qoption cg -Qrm-s
-      # Don't allow tail call code optimization. Started in SC5.0.
-      #    We don't like code of this form:
-      #	save
-      #	<code>
-      #	call foo
-      #	   restore
-      #   because we can't tell if the method will have a stack frame
-      #   and register windows or not.
-      CC_XKEEPFRAME_OPTIONS  += -Wc,-Qiselect-T0
-      CXX_XKEEPFRAME_OPTIONS += -Qoption cg -Qiselect-T0
-    endif
-  
-  endif
-
-  # Extra options used with HIGHEST
-  #
-  # WARNING: Use of OPTIMIZATION_LEVEL=HIGHEST in your Makefile needs to be
-  #          done with care, there are some assumptions below that need to
-  #          be understood about the use of pointers, and IEEE behavior.
-  #
-  # Use non-standard floating point mode (not IEEE 754)
-  CC_HIGHEST_EXTRAS += -fns
-  # Do some simplification of floating point arithmetic (not IEEE 754)
-  CC_HIGHEST_EXTRAS += -fsimple
-  # Use single precision floating point with 'float'
-  CC_HIGHEST_EXTRAS += -fsingle
-  # Assume memory references via basic pointer types do not alias
-  #   (Source with excessing pointer casting and data access with mixed 
-  #    pointer types are not recommended)
-  CC_HIGHEST_EXTRAS += -xalias_level=basic
-  # Use intrinsic or inline versions for math/std functions
-  #   (If you expect perfect errno behavior, do not use this)
-  CC_HIGHEST_EXTRAS += -xbuiltin=%all
-  # Loop data dependency optimizations (need -xO3 or higher)
-  CC_HIGHEST_EXTRAS += -xdepend
-  # Pointer parameters to functions do not overlap
-  #   (Similar to -xalias_level=basic usage, but less obvious sometimes.
-  #    If you pass in multiple pointers to the same data, do not use this)
-  CC_HIGHEST_EXTRAS += -xrestrict
-  # Inline some library routines
-  #   (If you expect perfect errno behavior, do not use this)
-  CC_HIGHEST_EXTRAS += -xlibmil
-  # Use optimized math routines
-  #   (If you expect perfect errno behavior, do not use this)
-  #  Can cause undefined external on Solaris 8 X86 on __sincos, removing for now
-  #  CC_HIGHEST_EXTRAS += -xlibmopt
-  ifeq ($(ARCH_FAMILY), sparc)
-    # Assume at most 8byte alignment, raise SIGBUS on error
-    ### Presents an ABI issue with customer JNI libs?
-    ####CC_HIGHEST_EXTRAS  += -xmemalign=8s
-    # Automatic prefetch instructions, explicit prefetch macros
-    CC_HIGHEST_EXTRAS += -xprefetch=auto,explicit
-    # Pick ultra as the chip to optimize to
-    CC_HIGHEST_EXTRAS += -xchip=ultra
-  endif
-  ifeq ($(ARCH), i586)
-    # Pick pentium as the chip to optimize to
-    CC_HIGHEST_EXTRAS += -xchip=pentium
-  endif
-  ifdef LIBRARY
-    # The Solaris CBE (Common Build Environment) requires that the use
-    # of appl registers be disabled when compiling a public library (or
-    # a library that's loaded by a public library) on sparc.
-    CFLAGS_REQUIRED_sparc    += -xregs=no%appl
-    CFLAGS_REQUIRED_sparcv9  += -xregs=no%appl
-  endif
-  CC_NEWER_THAN_56 := \
-    $(shell $(EXPR) $(CC_MAJORVER) \> 5 \| \
-         \( $(CC_MAJORVER) = 5 \& $(CC_MINORVER) \> 6 \) )
-  ifeq ($(CC_NEWER_THAN_56),1)
-    #     Presents an ABI issue with customer JNI libs? We must be able to
-    #     to handle 4byte aligned objects? (rare occurance, but possible?)
-    CFLAGS_REQUIRED_sparc += -xmemalign=4s
-  endif
-  # Just incase someone trys to use the SOS9 compilers
-  ifeq ($(CC_VER), 5.6)
-    # We MUST allow data alignment of 4 for sparc (sparcv9 is ok at 8s)
-    CFLAGS_REQUIRED_sparc += -xmemalign=4s
-  endif
-  # Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
-  #   (See Rules.gmk) The SS11 -xpch=auto* options appear to be broken.
-  AUTOMATIC_PCH_OPTION =
-  
-  # Add in keep frame options
-  CC_OPT/LOWER    += $(CC_XKEEPFRAME_OPTIONS)
-  CC_OPT/HIGHER   += $(CC_XKEEPFRAME_OPTIONS)
-  CC_OPT/HIGHEST  += $(CC_XKEEPFRAME_OPTIONS)
-  CXX_OPT/LOWER   += $(CXX_XKEEPFRAME_OPTIONS)
-  CXX_OPT/HIGHER  += $(CXX_XKEEPFRAME_OPTIONS)
-  CXX_OPT/HIGHEST += $(CXX_XKEEPFRAME_OPTIONS)
- 
-  # Add in highest optimization settings
-  CC_OPT/HIGHEST  += $(CC_HIGHEST_EXTRAS)
-  CXX_OPT/HIGHEST += $(CC_HIGHEST_EXTRAS)
-  
-endif
-
-# Default optimization settings based on level.
-CC_OPT  = $(CC_OPT/$(OPTIMIZATION_LEVEL))
-CXX_OPT = $(CXX_OPT/$(OPTIMIZATION_LEVEL))
-
-# Flags required all the time
-CFLAGS_REQUIRED = $(CFLAGS_REQUIRED_$(ARCH))
-
-#
-# Path and option to link against the VM, if you have to.  Note that
-# there are libraries that link against only -ljava, but they do get
-# -L to the -ljvm, this is because -ljava depends on -ljvm, whereas
-# the library itself should not.
-#
-VM_NAME         = server
-JVMLIB          = -L$(LIBDIR)/$(LIBARCH)/server -L$(LIBDIR)/$(LIBARCH)/client -ljvm
-JAVALIB         = -ljava $(JVMLIB)
-
-# Part of INCREMENTAL_BUILD mechanism.
-#   Compiler emits things like:  path/file.o: file.h
-#   We want something like: relative_path/file.o relative_path/file.d: file.h
-#   In addition on Solaris, any include file starting with / is deleted,
-#   this gets rid of things like /usr/include files, which never change.
-CC_DEPEND	 = -xM1
-CC_DEPEND_FILTER = $(SED) -e '/:[ 	]*[/]/d' -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)& $(dir $@)$*.$(DEPEND_SUFFIX)!g' | $(SORT) -u
-
-# Location of openwin libraries (do we really need this anymore?)
-OPENWIN_HOME    = /usr/openwin
-OPENWIN_LIB     = $(OPENWIN_HOME)/lib$(ISA_DIR)
-
-# Runtime graphics library search paths...
-OPENWIN_RUNTIME_LIB = /usr/openwin/lib$(ISA_DIR)
-AWT_RUNPATH = -R/usr/dt/lib$(ISA_DIR) -R$(OPENWIN_RUNTIME_LIB)
-
-# C++ Runtime library (libCrun.so), use instead of -lCrun.
-#    Originally used instead of -lCrun to guarantee use of the system
-#    .so version and not the .a or .so that came with the compilers.
-#    With the newer compilers this could probably change back to -lCrun but
-#    in general this is ok to continue to do.
-LIBCXX = /usr/lib$(ISA_DIR)/libCrun.so.1
-
-# JDK now requires Solaris 10, so pick up libm.so.2
-LIBM = /usr/lib$(ISA_DIR)/libm.so.2
-
-# Socket library
-LIBSOCKET = -lsocket
-
-# Network Services library
-LIBNSL = -lnsl
-
-# service configuration facility library
-LIBSCF = -lscf
-
-# Dynamic Loading library
-LIBDL = -ldl
-
-# GLOBAL_KPIC: If set means all libraries are PIC, position independent code
-#    EXCEPT for select compiles
-#    If a .o file is compiled non-PIC then it should be forced
-#	   into the RW data segment with a mapfile option. This is done
-#    with object files which generated from .s files.
-#    The -ztext enforces that no relocations remain in the text segment
-#    so that it remains purely read-only for optimum system performance.
-#    Some libraries may use a smaller size (13bit -Kpic) on sparc instead of 
-#    (32 bit -KPIC) and will override GLOBAL_KPIC appropriately.
-#
-PIC_CODE_LARGE   = -KPIC
-PIC_CODE_SMALL   = -Kpic
-ifndef TCOV_BUILD
-    GLOBAL_KPIC      = $(PIC_CODE_LARGE)
-    CXXFLAGS_COMMON += $(GLOBAL_KPIC)
-    CFLAGS_COMMON   += $(GLOBAL_KPIC)
-    LDFLAGS_COMMON  += -ztext
-endif # TCOV_BUILD
-
-# If your platform has DPS, it will have Type1 fonts too, in which case
-# it is best to enable DPS support until such time as 2D's rasteriser
-# can fully handle Type1 fonts in all cases. Default is "yes".
-# HAVE_DPS should only be "no" if the platform has no DPS headers or libs
-# DPS (Displayable PostScript) is available on Solaris machines
-
-HAVE_DPS = yes
-
-#
-# Japanese manpages
-#
-JA_SOURCE_ENCODING = eucJP
-JA_TARGET_ENCODINGS = eucJP UTF-8 PCK
-
-# Settings for the JDI - Serviceability Agent binding.
-HOTSPOT_SALIB_PATH   = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
-SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
-SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo
-INCLUDE_SA=true
-
--- a/jdk/makefiles/common/Defs-windows.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,418 +0,0 @@
-#
-# Copyright (c) 1999, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Makefile to specify compiler flags for programs and libraries
-# targeted to Windows builds.  Should not contain any rules.
-#
-# WARNING: This file is shared with other workspaces. 
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
-# Get shared JDK settings
-include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
-
-# CC compiler object code output directive flag value
-CC_OBJECT_OUTPUT_FLAG = -Fo
-
-# The suffix applied to the library name for FDLIBM
-FDDLIBM_SUFFIX = lib
-# The suffix applied to scripts (.bat for windows, nothing for unix)
-SCRIPT_SUFFIX = .bat
-
-# LIB_LOCATION, which for windows identifies where .exe files go, may be
-# set by each GNUmakefile. The default is BINDIR.
-ifndef LIB_LOCATION
-  LIB_LOCATION = $(BINDIR)
-endif # LIB_LOCATION
-
-ifndef PLATFORM_SRC
-  PLATFORM_SRC  = $(BUILDDIR)/../src/windows
-endif # PLATFORM_SRC
-
-# Platform specific closed sources
-ifndef OPENJDK
-  ifndef CLOSED_PLATFORM_SRC
-    CLOSED_PLATFORM_SRC  = $(BUILDDIR)/../src/closed/windows
-  endif
-endif
-
-# for backwards compatability, the old "win32" is used here instead of 
-# the more proper "windows"
-PLATFORM_INCLUDE_NAME = win32
-PLATFORM_INCLUDE      = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
-
-# The following DLL's are considered MS runtime libraries and should
-#     not to be REBASEd, see deploy/make/common/Release.gmk.
-#     msvcr*.dll: Microsoft runtimes
-ifeq ($(COMPILER_VERSION), VS2010)
-  MSVCRNN_DLL = msvcr100.dll
-  MSVCPNN_DLL = msvcp100.dll
-endif
-
-EXTRA_LFLAGS += /LIBPATH:$(DXSDK_LIB_PATH)
-
-# C Compiler flag definitions
-
-#
-# Default optimization
-#
-
-ifndef OPTIMIZATION_LEVEL
-  ifeq ($(PRODUCT), java)
-    OPTIMIZATION_LEVEL = HIGHER
-  else
-    OPTIMIZATION_LEVEL = LOWER
-  endif
-endif
-ifndef FASTDEBUG_OPTIMIZATION_LEVEL
-  FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
-endif
-
-ifeq ($(CC_VERSION),msvc)
-  # Visual Studio compiler option definitions:
-  #   -O1      Favors reduced size over speed (-Og     -Os -Oy -Ob2 -Gs -GF -Gy)
-  #   -O2      Favors speed over reduced size (-Og -Oi -Ot -Oy -Ob2 -Gs -GF -Gy)
-  #   -Ob2     More aggressive inlining
-  #   -Og      Global optimizations
-  #   -Oi      Replace some functions with intrinsic or special forms
-  #   -fp:precise (should be the default)
-  #            Improve floating point calculations (disables some optimizations)
-  #   -Os      Favor small code
-  #   -Ot      Favor faster code
-  #   -Oy      Frame pointer omission
-  #   -G6      Used to be -GB?
-  #   -GF      Pool strings in read-only memory
-  #   -Gf      Pool strings in read-write memory (the default)
-  #   -Gs      Controls stack probess
-  #   -GS      Adds buffer overflow checks on stacks (the default)
-  #   -EHsc    Enables exception handling 
-  #   -Gy      Function level linking only
-  #
-
-  CC_OPT/NONE    = -Od
-  CC_OPT/LOWER   = -O2
-  CC_OPT/HIGHER  = -O3
-  CC_OPT/HIGHEST = -O3
-  
-  ifeq ($(COMPILER_VERSION), VS2010)
-    # Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
-    AUTOMATIC_PCH_OPTION =
-    GX_OPTION = -EHsc
-    GZ_OPTION = -RTC1
-    ifeq ($(ARCH_DATA_MODEL), 32)
-      CC_OPT/HIGHEST = -O2
-      CC_OPT/HIGHER  = -O1
-      CC_OPT/LOWER   = -O1
-    else
-      CC_OPT/HIGHEST = -O2
-      CC_OPT/HIGHER  = -O1
-      CC_OPT/LOWER   = -O1
-    endif
-  endif
-
-else # CC_VERSION
-  # GCC not supported, but left for historical reference...
-  CC_OPT/NONE     =
-  CC_OPT/LOWER    = -O2
-  CC_OPT/HIGHER   = -O2
-  CC_OPT/HIGHEST  = -O3
-
-endif
-
-CC_OPT = $(CC_OPT/$(OPTIMIZATION_LEVEL))
-
-# Select the runtime support library carefully, need to be consistent
-#
-# Visual Studio Runtime compiler option definitions:
-#   -MD        Use dynamic multi-threaded runtime library
-#   -MDd       Use debug version (don't use, doesn't mix with -MD DLL's)
-#   -MT        Use static multi-threaded runtime library (-ML is going away)
-#   -MTd       Use static debug version (better than -MDd, no runtime issues)
-#   -D_DEBUG   Change use of malloc/free/etc to use special debug ones (-MTd)
-#
-#      NOTE: We also will use /D _STATIC_CPPLIB  so we don't need msvcpnn.dll
-#
-# If MS_RUNTIME_STATIC is requested we may have a problem, it is no longer
-#     supported by VS2010
-ifneq ($(MS_RUNTIME_STATIC),true)
-  MS_RUNTIME_OPTION=-MD
-endif
-# The _DEBUG macro option (changes things like malloc to use debug version)
-MS_RUNTIME_DEBUG_OPTION=
-MS_RC_DEBUG_OPTION=
-# Externally set environment variable can force any build to use the debug vers
-ifeq ($(MFC_DEBUG), true)
-  ifeq ($(MS_RUNTIME_STATIC),true)
-    MS_RUNTIME_OPTION=-MTd
-  else
-    # This MS debugging flag forces a dependence on the debug
-    #     version of the runtime library (MSVCR*D.DLL), as does -MDd.
-    #     We cannot re-distribute this debug runtime.
-    MS_RUNTIME_OPTION=-MDd
-  endif
-  MS_RUNTIME_DEBUG_OPTION= -D_DEBUG
-  MS_RC_DEBUG_OPTION= -d _DEBUG
-endif
-
-# Always add _STATIC_CPPLIB definition
-STATIC_CPPLIB_OPTION = /D _STATIC_CPPLIB
-
-# Silence the warning about using _STATIC_CPPLIB
-ifneq ($(SHOW_ALL_WARNINGS),true)
-  # Needed with VS2010 to turn off the deprecated warning.
-  STATIC_CPPLIB_OPTION += /D _DISABLE_DEPRECATE_STATIC_CPPLIB
-endif
-
-MS_RUNTIME_OPTION += $(STATIC_CPPLIB_OPTION)
-
-ifeq ($(CC_VERSION),msvc)
-  # Visual Studio compiler option definitions:
-  #   -Zi      Cause *.pdb file to be created, full debug information
-  #   -Z7      Full debug inside the .obj, no .pdb
-  #   -Zd      Basic debug, no local variables? In the .obj
-  #   -Zl      Don't add runtime library name to obj file?
-  #   -Od      Turns off optimization and speeds compilation
-  #   -YX -Fp/.../foobar.pch   Use precompiled headers (try someday?)
-  #   -nologo  Don't print out startup message
-  #   /D _STATIC_CPPLIB
-  #            Use static link for the C++ runtime (so msvcpnn.dll not needed)
-  #   
-  CFLAGS_COMMON  += -Zi -nologo
-  CFLAGS_OPT      = $(CC_OPT)
-  CFLAGS_DBG      = -Od $(MS_RUNTIME_DEBUG_OPTION)
-
-  CFLAGS_VS2010 += -Zc:wchar_t-
-
-  # All builds get the same runtime setting
-  CFLAGS_COMMON += $(MS_RUNTIME_OPTION) $(CFLAGS_$(COMPILER_VERSION))
-
-  LDEBUG = /debug
-  
-  ifeq ($(VTUNE_SUPPORT), true)
-    OTHER_CFLAGS = -Z7 -Ox 
-    LDEBUG += /pdb:NONE
-  endif
-  
-  # VS2010, always need safe exception handlers, not needed on 64bit
-  ifeq ($(ARCH_DATA_MODEL), 32)
-    LFLAGS_VS2010 +=  -SAFESEH
-  endif
-
-  # LFLAGS are the flags given to $(LINK) and used to build the actual DLL file
-  BASELFLAGS = -nologo /opt:REF /incremental:no
-
-  LFLAGS = $(BASELFLAGS) $(LDEBUG) $(EXTRA_LFLAGS) $(LFLAGS_$(COMPILER_VERSION))
-  LDDFLAGS += $(LFLAGS_$(COMPILER_VERSION))
-  
-endif
-
-#
-# Preprocessor macro definitions
-#
-CPPFLAGS_COMMON = -DWIN32 -DIAL -D_LITTLE_ENDIAN
-ifeq ($(ARCH), amd64)
-  CPPFLAGS_COMMON += -D_AMD64_ -Damd64
-else
-  CPPFLAGS_COMMON += -D_X86_ -Dx86 
-endif
-CPPFLAGS_COMMON += -DWIN32_LEAN_AND_MEAN
-
-#
-# Output options (use specific filenames to avoid parallel compile errors)
-#
-CFLAGS_COMMON += -Fd$(OBJDIR)/$(basename $(@F)).pdb -Fm$(OBJDIR)/$(basename $(@F)).map
-
-#
-# Use -wdNNNN to disable warning NNNN.
-#   C4800 is a warning about bool performance casts (can't make go away)
-#
-COMPILER_WARNINGS_TO_IGNORE = 4800
-CFLAGS_COMMON += $(COMPILER_WARNINGS_TO_IGNORE:%=-wd%)
-
-#
-# Treat compiler warnings as errors, if requested
-#
-CFLAGS_COMMON += -W$(COMPILER_WARNING_LEVEL)
-ifeq ($(COMPILER_WARNINGS_FATAL),true)
-  CFLAGS_COMMON += -WX
-endif
-
-# Turn off some warnings by default, enable them all if asked.
-ifneq ($(SHOW_ALL_WARNINGS),true)
-  # The -D _CRT_SECURE_NO_DEPRECATE turns off security/deprecated warnings on
-  #    the standard C library functions like strcpy.
-  CFLAGS_COMMON += -D _CRT_SECURE_NO_DEPRECATE
-  # The -D _CRT_NONSTDC_NO_DEPRECATE turns off deprecation warnings about using
-  #    non-standard C POSIX functions.
-  CFLAGS_COMMON += -D _CRT_NONSTDC_NO_DEPRECATE
-endif
-
-CPPFLAGS_OPT    = -DNDEBUG
-CPPFLAGS_DBG    = -DDEBUG -DLOGGING
-
-CXXFLAGS_COMMON = $(CFLAGS_COMMON)
-CXXFLAGS_OPT    = $(CFLAGS_OPT)
-CXXFLAGS_DBG    = $(CFLAGS_DBG)
-
-ifneq ($(LIBRARY),fdlibm)
-  EXTRA_LIBS += advapi32.lib
-endif
-
-#
-# Path and option to link against the VM, if you have to. 
-#
-JVMLIB = $(LIBDIR)/jvm.lib
-JAVALIB = $(LIBDIR)/java.lib
-
-ifeq ($(CC_VERSION), msvc)
-  CC_DEPEND        = -FD
-  CC_DEPEND_FILTER = 
-else # CC_VERSION
-# not supported, but left for historical reference...
-  CC_DEPEND        = -MM
-  CC_DEPEND_FILTER = $(SED) -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)&!g'
-endif # CC_VERSION
-
-LIBRARY_SUFFIX = dll
-LIB_SUFFIX     = lib
-
-# Settings for the JDI - Serviceability Agent binding.
-HOTSPOT_SALIB_PATH   = $(HOTSPOT_IMPORT_PATH)/jre/bin
-SALIB_NAME = $(LIB_PREFIX)sawindbg.$(LIBRARY_SUFFIX)
-SAMAP_NAME = $(LIB_PREFIX)sawindbg.map
-SAPDB_NAME = $(LIB_PREFIX)sawindbg.pdb
-
-ifeq ($(ARCH), ia64)
-  # SA will never be supported here.
-  INCLUDE_SA = false
-else
-  INCLUDE_SA = true
-endif
-
-# Settings for the VERSIONINFO tap on windows. 
-VERSIONINFO_RESOURCE = $(BUILDDIR)/../src/windows/resource/version.rc
-
-ifneq ($(JDK_BUILD_NUMBER),)
- COOKED_BUILD_NUMBER = $(shell $(ECHO) $(JDK_BUILD_NUMBER) | $(SED) -e 's/^b//' -e 's/^0//')
-else
- COOKED_BUILD_NUMBER = 0
-endif
-
-# If the update version contains non-numeric characters, we need
-# to massage it into a numeric format. 
-# We use the following formula:
-# JDK_UPDATE_VER = JDK_UPDATE_VERSION * 10 + EXCEPTION_VERSION
-#
-# Here are some examples:
-#     1.5.0    b01  ->  5,0,0,1
-#     1.5.0_10 b01  ->  5,0,100,1
-#     1.4.2 b01     ->  4,2,0,1
-#     1.4.2_02 b01  ->  4,2,20,1
-#     1.4.2_02a b01 ->  4,2,21,1
-#     1.4.2_02b b01 ->  4,2,22,1
-ifdef JDK_UPDATE_VERSION
-  VTMP := $(shell $(ECHO) $(JDK_UPDATE_VERSION) | $(TR) "abcde" "12345")
-  CAB_CHAR1 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 1, 1);}')
-  CAB_CHAR2 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 2, 1);}')
-  CAB_CHAR3 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 3, 1);}')
-  JDK_UPDATE_META_TAG := U$(MARKETING_NUMBER)
-  ifeq ($(CAB_CHAR3),)
-    CAB_CHAR3 := 0
-  endif
-  ifeq ($(CAB_CHAR1), 0)
-    JDK_UPDATE_VER := $(CAB_CHAR2)$(CAB_CHAR3)
-  else
-    JDK_UPDATE_VER := $(CAB_CHAR1)$(CAB_CHAR2)$(CAB_CHAR3)
-  endif
-else
-  JDK_UPDATE_VER := 0
-endif
-
-#RC_FLAGS = /l 0x409 /r
-
-#ifeq ($(VARIANT), OPT)
-#  RC_FLAGS += -d NDEBUG 
-#else
-#  RC_FLAGS += $(MS_RC_DEBUG_OPTION)
-#endif 
-
-# Values for the RC variables defined in RC_FLAGS
-#JDK_RC_BUILD_ID = $(FULL_VERSION)
-#JDK_RC_COMPANY = $(COMPANY_NAME)
-#JDK_RC_COMPONENT = $(PRODUCT_NAME) $(JDK_RC_PLATFORM_NAME) binary
-#JDK_RC_VER = \
-#    $(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VER).$(COOKED_BUILD_NUMBER)
-#JDK_RC_COPYRIGHT = Copyright \xA9 $(COPYRIGHT_YEAR)
-#JDK_RC_NAME = \
-#    $(PRODUCT_NAME) $(JDK_RC_PLATFORM_NAME) $(JDK_MINOR_VERSION) $(JDK_UPDATE_META_TAG)
-#JDK_RC_FVER = \
-#    $(JDK_MINOR_VERSION),$(JDK_MICRO_VERSION),$(JDK_UPDATE_VER),$(COOKED_BUILD_NUMBER)
-
-# JDK name required here
-#RC_FLAGS += -d "JDK_BUILD_ID=$(JDK_RC_BUILD_ID)" \
-#            -d "JDK_COMPANY=$(JDK_RC_COMPANY)" \
-#            -d "JDK_COMPONENT=$(JDK_RC_COMPONENT)" \
-#            -d "JDK_VER=$(JDK_RC_VER)" \
-#            -d "JDK_COPYRIGHT=$(JDK_RC_COPYRIGHT)" \
-#            -d "JDK_NAME=$(JDK_RC_NAME)" \
-#            -d "JDK_FVER=$(JDK_RC_FVER)"
-
-# Enable 7-Zip LZMA file (de)compression for Java Kernel if it is available
-ifeq ($(ARCH_DATA_MODEL), 32)
-  ifneq ($(KERNEL), off)
-    # This is a hack to use until  7-Zip (and UPX) bundles can be put
-    # under /java/devtools.
-    ifndef DEPLOY_TOPDIR
-      DEPLOY_TOPDIR=$(JDK_TOPDIR)/../deploy
-    endif
-    # Uncomment this block to cause build failure if above assumption false
-    #DCHK = $(shell if [ ! -d $(DEPLOY_TOPDIR) ] ; then \
-    #  $(ECHO) deploy_not_a_peer_of_j2se ; \
-    #fi )
-    #ifeq ($(DCHK), deploy_not_a_peer_of_j2se)
-    #  If a build failure points to control coming here it means
-    #  it means deploy is not in the same directory
-    #  as j2se. Java Kernel can't tolerate that for the time being.
-    #endif
-    EC_TMP = $(shell if [ -d $(DEPLOY_TOPDIR)/make/lzma ] ; then \
-      $(ECHO) true ; \
-    else \
-      $(ECHO) false ; \
-    fi )
-    ifeq ($(EC_TMP), true)
-      EXTRA_COMP_INSTALL_PATH = lib\\\\deploy\\\\lzma.dll
-      # Crazy but true: deploy/make/plugin/jinstall/Makefile.jkernel does
-      # not include deploy/make/common/Defs-windows.gmk, either directly
-      # or indirectly. But it does include this file, so redundantly declare
-      # these variables that are in deploy/make/common/Defs-windows.gmk for
-      # the sake of the Java Kernel part of the deploy build. Whew!
-      EXTRA_COMP_LIB_NAME = lzma.dll
-      EXTRA_COMP_PATH = $(OUTPUTDIR)/tmp/deploy/lzma/win32/obj
-      EXTRA_COMP_CMD_PATH = $(EXTRA_COMP_PATH)/lzma.exe
-      EXTRA_COMP_LIB_PATH = $(EXTRA_COMP_PATH)/$(EXTRA_COMP_LIB_NAME)
-    endif
-  endif
-endif
--- a/jdk/makefiles/common/Defs.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,577 +0,0 @@
-#
-# Copyright (c) 1995, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Common variables used by all the Java makefiles.  This file should
-# not contain rules.
-#
-
-# WARNING: This file is shared with other workspaces.
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
-# Check for strange explicit settings (change to empty or true)
-ifdef OPENJDK
-  ifneq ($(OPENJDK),true)
-    x:=$(error "OPENJDK (if defined) can only be set to true")
-  endif
-endif
-
-#
-# On Solaris, the 'make' utility from Sun will not work with these makefiles.
-#    This little rule is only understood by Sun's make, and is harmless
-#    when seen by the GNU make tool. If using Sun's make, this causes the
-#    make command to fail.
-#
-SUN_MAKE_TEST:sh = echo "ERROR: PLEASE USE GNU VERSION OF MAKE"; exit 33
-
-include $(SPEC)
-include $(JDK_MAKE_SHARED_DIR)/Platform.gmk
-
-# Historically PLATFORM_SRC used to be src/$(PLATFORM), but we switched it to
-# src/solaris so if you want to build on Linux you didn't need a src/linux
-# directory.  In an ideal world it would be called src/genunix but we are not
-# there yet.
-#
-ifndef SHARE_SRC
-  SHARE_SRC    = $(BUILDDIR)/../src/share
-endif
-
-# Files that cannot be included in the OpenJDK distribution are
-# collected under a parent directory which contains just those files.
-ifndef CLOSED_SRC
-  CLOSED_SRC  = $(BUILDDIR)/../src/closed
-endif
-
-# If CLOSE_SRC_INCLUDED isn't set to true, check if there's any
-# closed directory.
-ifneq ($(CLOSED_SRC_INCLUDED), true)
-  CLOSED_SRC_INCLUDED := $(shell \
-    if [ -d $(CLOSED_SRC) ] ; then \
-      echo true; \
-    else \
-      echo false; \
-    fi)
-endif
-
-# Set OPENJDK based on CLOSED_SRC_INCLUDED
-ifeq ($(CLOSED_SRC_INCLUDED), false)
-  OPENJDK = true
-endif
-
-# Define where closed directories are
-ifdef OPENJDK
-  CLOSED_SRC =
-  CLOSED_SHARE_SRC =
-else
-  ifndef CLOSED_SHARE_SRC
-    CLOSED_SHARE_SRC    = $(CLOSED_SRC)/share
-  endif
-endif
-
-#
-# Get platform definitions
-#
-
-include $(JDK_TOPDIR)/makefiles/common/Defs-$(PLATFORM).gmk
-
-#
-# SE-Embedded support, if enabled
-#
-
-include $(JDK_TOPDIR)/makefiles/common/Defs-embedded.gmk
-
-#
-# Cross-compilation Settings
-#
-ifdef CROSS_COMPILE_ARCH
-  # Can't run the tools we just built
-  USE_ONLY_BOOTDIR_TOOLS = true
-
-  # When cross-compiling CC generates code for the target, but
-  # some parts of the build generate C code that has to be compiled
-  # and executed on the build host - HOST_CC is the 'local' compiler.
-  # For linux the default is /usr/bin/gcc; other platforms need to
-  # set it explicitly
-  ifeq ($(PLATFORM), linux)
-    ifndef HOST_CC
-      HOST_CC = $(USRBIN_PATH)gcc
-    endif
-  endif
-else
-  # Must set HOST_CC if not already set
-  ifndef HOST_CC
-    HOST_CC = $(CC)
-  endif
-endif
-
-# Reset the VM name for client-only builds
-ifeq ($(JVM_VARIANT),client)
-  VM_NAME = client
-endif
-
-#
-# Freetype logic is applicable to OpenJDK only
-#
-ifdef OPENJDK
-
-ifeq ($(PLATFORM), windows)
-  DEVTOOLS_FT_DIR=$(JDK_DEVTOOLS_DIR)/win32/freetype-$(ARCH)
-endif
-ifeq ($(PLATFORM), linux)
-  DEVTOOLS_FT_DIR=$(JDK_DEVTOOLS_DIR)/$(PLATFORM)/freetype-$(ARCH)
-endif
-ifeq ($(PLATFORM), solaris)
-  # historically for Solaris we have slightly different devtools 
-  # naming conventions
-  DEVTOOLS_FT_DIR=$(JDK_DEVTOOLS_DIR)/$(ARCH_FAMILY)/freetype-$(ARCH)
-endif
-
-DEVTOOLS_FT_DIR_EXISTS = $(shell \
-  if [ -f $(DEVTOOLS_FT_DIR)/include/ft2build.h ] ; then \
-    echo true; \
-  else \
-    echo false; \
-  fi)
-
-  ifdef ALT_FREETYPE_LIB_PATH
-    FREETYPE_LIB_PATH = $(ALT_FREETYPE_LIB_PATH)
-    ifeq ($(PLATFORM), macosx)
-      USING_SYSTEM_FT_LIB=true
-    endif
-  else
-    ifeq ($(DEVTOOLS_FT_DIR_EXISTS), true)
-      FREETYPE_LIB_PATH = $(DEVTOOLS_FT_DIR)/lib
-    else
-      ifeq ($(PLATFORM), macosx)
-        FREETYPE_LIB_PATH = /usr/X11R6/lib
-      else
-        FREETYPE_LIB_PATH = /usr/lib
-      endif
-      USING_SYSTEM_FT_LIB=true
-    endif
-  endif 
-
-  ifdef ALT_FREETYPE_HEADERS_PATH
-    FREETYPE_HEADERS_PATH = $(ALT_FREETYPE_HEADERS_PATH)
-  else
-    ifeq ($(DEVTOOLS_FT_DIR_EXISTS), true)
-      FREETYPE_HEADERS_PATH = $(DEVTOOLS_FT_DIR)/include
-    else
-      ifeq ($(PLATFORM), macosx)
-        FREETYPE_HEADERS_PATH = /usr/X11R6/include
-      else
-        FREETYPE_HEADERS_PATH = /usr/include
-      endif
-    endif
-  endif
-endif
-
-#
-# zlib version
-#
-ZLIB_VERSION = 1.2.5
-
-
-#
-# Localizations for the different parts of the product beyond English
-#
-
-JRE_LOCALES   = de es fr it ja ko pt_BR sv zh_CN zh_TW zh_HK
-PLUGIN_LOCALES = de es fr it ja ko pt_BR sv zh_CN zh_TW zh_HK
-JDK_LOCALES  = ja zh_CN
-
-#
-# A list of locales we support but don't have resource files.
-# This is defined to optimize the search of resource bundles.
-#
-JRE_NONEXIST_LOCALES = en en_US de_DE es_ES fr_FR it_IT ja_JP ko_KR sv_SE zh
-
-#
-# For now, most libraries except libjava and libjvm itself link against libjvm
-# and libjava, the latter for its exported common utilities. libjava only
-# links against libjvm. Programs' makefiles take their own responsibility for
-# adding other libs.
-#
-# The makefiles for these packages do not link against libjvm and libjava.
-# This list will eventually go away and each Programs' makefiles
-# will have to explicitly declare that they want to link to libjava/libjvm
-#
-NO_JAVALIB_PKGS = \
-		sun.security.mscapi \
-		sun.security.krb5 \
-		sun.security.pkcs11 \
-		sun.security.jgss \
-		sun.security.jgss.wrapper \
-		sun.security.ec \
-		sun.security.smartcardio \
-		com.sun.security.auth.module
-
-ifdef PACKAGE
-# put JAVALIB first, but do not lose any platform specific values....
-  ifeq (,$(findstring $(PACKAGE),$(NO_JAVALIB_PKGS)))
-    LDLIBS_COMMON = $(JAVALIB)
-  endif
-endif # PACKAGE
-
-#
-# Libraries that must appear ahead of libc.so on the link command line
-#
-ifdef PROGRAM
-
-  ifeq ($(PLATFORM), solaris)
-    LDLIBS_COMMON = -lthread -ldl
-  endif
-
-  ifeq ($(PLATFORM), linux)
-    LDLIBS_COMMON = -ldl
-  endif
-
-  ifeq ($(PLATFORM), macosx)
-    LDLIBS_COMMON = -pthread
-  endif
-
-endif # PROGRAM
-
-LDLIBS_COMMON += $(EXTRA_LIBS)
-
-# for generated binaries
-BINDIR              = $(OUTPUTDIR)/bin$(ISA_DIR)
-# for generated libraries
-LIBDIR              = $(OUTPUTDIR)/lib
-ABS_LIBDIR          = $(ABS_OUTPUTDIR)/lib
-# Optional place to save the windows .lib files
-LIBFILES_DIR        = $(OUTPUTDIR)/libfiles
-# for ext jre files
-EXTDIR              = $(LIBDIR)/ext
-# for generated include files
-INCLUDEDIR          = $(OUTPUTDIR)/include
-# for generated class files
-CLASSBINDIR         = $(OUTPUTDIR)/classes
-DEMOCLASSDIR        = $(OUTPUTDIR)/democlasses
-# for generated tool class files
-BUILDTOOLCLASSDIR   = $(OUTPUTDIR)/btclasses
-# for build tool jar files
-BUILDTOOLJARDIR     = $(OUTPUTDIR)/btjars
-ABS_BUILDTOOLJARDIR = $(ABS_OUTPUTDIR)/btjars
-# for generated tool class files
-BUILDTOOLBINDIR     = $(OUTPUTDIR)/btbins
-# for generated java source files
-GENSRCDIR           = $(OUTPUTDIR)/gensrc
-# for generated C source files (not javah)
-GENNATIVESRCDIR     = $(OUTPUTDIR)/gennativesrc
-# for imported source files
-IMPORTSRCDIR        = $(OUTPUTDIR)/impsrc
-# for imported documents
-IMPORTDOCDIR        = $(OUTPUTDIR)/impdoc
-# for generated demo
-DEMODIR             = $(OUTPUTDIR)/demo
-NEWDEMODIR	    = $(OUTPUTDIR)/newdemo
-# for sample code
-SAMPLEDIR           = $(OUTPUTDIR)/sample
-# for generated documentation
-DOCSDIR             = $(OUTPUTDIR)/docs$(DOCSDIRSUFFIX)
-DOCSDIRSUFFIX       =
-
-# The MESSAGE, WARNING and ERROR files are used to store sanityck and 
-# warnings and errors. 
-ifndef ERROR_FILE
-  ERROR_FILE   = $(OUTPUTDIR)/sanityCheckErrors.txt
-endif
-ifndef WARNING_FILE
-  WARNING_FILE = $(OUTPUTDIR)/sanityCheckWarnings.txt
-endif
-ifndef MESSAGE_FILE
-  MESSAGE_FILE = $(OUTPUTDIR)/sanityCheckMessages.txt
-endif
-
-#where the demo source can be found
-DEMOSRCDIR          = $(SHARE_SRC)/demo
-
-#where the sample source can be found
-SAMPLESRCDIR          = $(SHARE_SRC)/sample
-
-# An attempt is made to generate unique enough directories for the
-# generated files to not have name collisisons. Most build units
-# defines PRODUCT (except Release.gmk), but then they may or may 
-# not define PACKAGE, PROGRAM, and LIBRARY. This code attempts to
-# generate a unique OBJDIR/CLASSHDRDIR for each build unit based
-# on which of those values are set within each build unit.
-
-UNIQUE_LOCATION_STRING = tmp
-
-ifneq ($(PRODUCT),)
-  UNIQUE_LOCATION_STRING += /$(PRODUCT)
-endif
-
-ifneq ($(PACKAGE),)
-  UNIQUE_LOCATION_STRING += /$(PACKAGE)
-endif
-
-ifneq ($(PROGRAM),)
-  UNIQUE_LOCATION_STRING += /$(PROGRAM)
-endif
-
-ifneq ($(LIBRARY),)
-  ifneq ($(LIBRARY_OUTPUT),)
-    UNIQUE_LOCATION_STRING += /$(LIBRARY_OUTPUT)
-  else
-    UNIQUE_LOCATION_STRING += /$(LIBRARY)
-  endif
-endif
-
-# the use of += above makes a space separated list which we need to 
-# remove for filespecs.
-#
-NULLSTRING :=
-ONESPACE := $(NULLSTRING) # space before this comment is required.
-UNIQUE_PATH = $(subst $(ONESPACE),,$(UNIQUE_LOCATION_STRING))
-
-# TEMPDIR is a unique general purpose directory
-# need to use 'override' because GNU Make on Linux exports the wrong
-# value.
-TEMPDIR      ?= $(OUTPUTDIR)/$(UNIQUE_PATH)
-ABS_TEMPDIR  ?= $(ABS_OUTPUTDIR)/$(UNIQUE_PATH)
-
-# This must be created right away for pattern rules in Sanity.gmk to work.
-dummy1:=$(shell $(MKDIR) -p $(TEMPDIR))
-dummy2:=$(shell $(MKDIR) -p $(TEMP_DISK))
-
-# OBJDIRNAME is the name of the directory where the object code is to
-#   be placed. It's name depends on whether the data model architecture 
-#   is 32-bit or not.
-ifneq ($(ARCH_DATA_MODEL), 32)
-  OBJDIRNAME  = obj$(ARCH_DATA_MODEL)$(OBJDIRNAME_SUFFIX)
-else
-  OBJDIRNAME  = obj$(OBJDIRNAME_SUFFIX)
-endif
-OBJDIR      = $(TEMPDIR)/$(OBJDIRNAME)
-
-# CLASSHDRDIR is where the generated C Class Header files go.
-CLASSHDRDIR = $(TEMPDIR)/CClassHeaders
-
-#
-# CLASSDESTDIR can be used to specify the directory where generated classes
-# are to be placed. The default is CLASSBINDIR.
-#
-ifndef CLASSDESTDIR
-CLASSDESTDIR = $(CLASSBINDIR)
-endif
-
-INCLUDES = -I. -I$(CLASSHDRDIR) \
-	$(patsubst %,-I%,$(subst $(CLASSPATH_SEPARATOR), ,$(VPATH.h))) $(OTHER_INCLUDES)
-OTHER_CPPFLAGS += $(INCLUDES)
-
-#
-# vpaths.  These are the default locations searched for source files.
-# GNUmakefiles of individual areas often override the default settings.
-# There are no longer default vpath entries for C and assembler files
-# so we can ensure that libraries don't get their hands on JVM files.
-#
-# We define an intermediate variable for Java files because
-# we use its value later to help define $SOURCEPATH
-
-ifeq ($(PLATFORM), macosx)
-  VPATH0.java = $(subst $(ONESPACE),:,$(GENSRCDIR) $(call JavaSrcDirList,,classes))
-else
-  VPATH0.java = $(GENSRCDIR)$(CLASSPATH_SEPARATOR)$(PLATFORM_SRC)/classes$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/classes
-endif
-
-ifdef OPENJDK
-  VPATH.java = $(VPATH0.java)
-else
-  #
-  # If filenames are duplicated between open/closed workspaces, prefer
-  # the closed files.
-  #
-  # Source ordering is important: some targets depend on closed files
-  # replacing open ones, and thus the closed file sources must be found
-  # before the open ones.
-  #
-  # Don't reorder without consulting the teams that depend on this behavior.
-  #
-  VPATH.java = $(CLOSED_PLATFORM_SRC)/classes$(CLASSPATH_SEPARATOR)$(CLOSED_SHARE_SRC)/classes$(CLASSPATH_SEPARATOR)$(VPATH0.java)
-endif
-vpath %.java $(VPATH.java)
-vpath %.class $(CLASSBINDIR)
-vpath %.$(OBJECT_SUFFIX) $(OBJDIR)
-
-#
-# VPATH.h is used elsewhere to generate include flags.  By default, 
-# anyone has access to the include files that the JVM area exports,
-# namely jni.h, jvm.h, and jni_utils.h, plus their platform-specific
-# relatives.
-#
-VPATH0.h =   $(PLATFORM_SRC)/javavm/export$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/javavm/export
-ifdef OPENJDK
-  VPATH.h = $(VPATH0.h)
-else
-  VPATH.h = $(CLOSED_SHARE_SRC)/javavm/export$(CLASSPATH_SEPARATOR)$(VPATH0.h)
-endif
-vpath %.h   $(VPATH.h)
-
-#
-# Used in two ways: helps link against libjava.so. Also if overridden
-# determines where your shared library is installed.
-#
-ifndef LIB_LOCATION
-  LIB_LOCATION    =  $(LIBDIR)/$(LIBARCH)
-endif
-
-#
-# Java header and stub variables
-#
-CLASSHDRS     = $(patsubst %,$(CLASSHDRDIR)/%.h,$(subst .,_,$(CLASSES.export)))
-CLASSSTUBOBJS = classstubs.$(OBJECT_SUFFIX)
-STUBPREAMBLE  = $(INCLUDEDIR)/StubPreamble.h
-
-#
-# Classpath seen by javac (different from the one seen by the VM
-# running javac), and useful variables.
-#
-SOURCEPATH	= $(VPATH.java)
-PKG		= $(shell $(EXPR) $(PACKAGE) : '\([a-z]*\)')
-PKGDIR		= $(subst .,/,$(PACKAGE))
-
-#
-# The java/javac/jdk variables (JAVAC_CMD, JAVA_CMD, etc.)
-#
-include $(JDK_MAKE_SHARED_DIR)/Defs-java.gmk
-
-UNIQUE_PATH_PATTERN = $(subst /,.,$(UNIQUE_PATH))
-
-# Run MAKE $@ for a launcher:
-#   $(call make-launcher, name, mainclass, java-args, main-args)
-define make-launcher
-$(CD) $(BUILDDIR)/launchers && \
-$(MAKE) -f Makefile.launcher \
-        PROGRAM=$(strip $1) \
-        MAIN_CLASS=$(strip $2) \
-        MAIN_JAVA_ARGS="$(strip $3)" \
-        MAIN_ARGS="$(strip $4)"
-endef
-
-#
-# Convenient macros
-#
-
-# Prepare $@ target, remove old one and making sure directory exists
-define prep-target
-mkdir -p $(@D)
-rm -f $@
-endef
-
-# Simple install of $< file to $@
-define install-file
-$(prep-target)
-$(CP) $< $@
-endef
-
-define chmod-file
-$(CHMOD) $1 $@
-endef
-
-define install-sym-link
-$(LN) -s $1 $@
-endef
-
-define install-manifest-file
-$(install-file)
-endef
-
-# Cleanup rule for after debug java run (hotspot.log file is left around)
-#   (This could be an old leftover file in a read-only area, use the @- prefix)
-HOTSPOT_LOG_NAME = hotspot.log
-define java-vm-cleanup
-if [ -w $(HOTSPOT_LOG_NAME) ] ; then rm -f $(HOTSPOT_LOG_NAME); fi
-endef
-
-# Current directory
-CURRENT_DIRECTORY := $(shell $(PWD))
-
-#
-# Create BYFILE OPT and DBG settings, if CFLAGS_OPT/foobar.o is set then it is
-#    used for this file, otherwise the default settings are used.
-#
-CFLAGS_$(VARIANT)/BYFILE    = $(CFLAGS_$(VARIANT)/$(@F)) \
-                              $(CFLAGS_$(VARIANT)$(CFLAGS_$(VARIANT)/$(@F)))
-CXXFLAGS_$(VARIANT)/BYFILE  = $(CXXFLAGS_$(VARIANT)/$(@F)) \
-                              $(CXXFLAGS_$(VARIANT)$(CXXFLAGS_$(VARIANT)/$(@F)))
-
-#
-# Tool flags
-#
-# EXTRA_CFLAGS are used to define cross-compilation options
-#
-ASFLAGS         = $(ASFLAGS_$(VARIANT)) $(ASFLAGS_COMMON) $(OTHER_ASFLAGS)
-CFLAGS          = $(CFLAGS_$(VARIANT)/BYFILE)   $(CFLAGS_COMMON) $(OTHER_CFLAGS) $(EXTRA_CFLAGS)
-CXXFLAGS        = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS) $(EXTRA_CFLAGS)
-CPPFLAGS        = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) \
-		  $(DEFINES) $(OPTIONS:%=-D%) 
-LDFLAGS         = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS)
-LDLIBS          = $(OTHER_LDLIBS) $(LDLIBS_$(VARIANT)) $(LDLIBS_COMMON)
-LINTFLAGS       = $(LINTFLAGS_$(VARIANT)) $(LINTFLAGS_COMMON) \
-		  $(OTHER_LINTFLAGS)
-
-VERSION_DEFINES = -DRELEASE='"$(RELEASE)"'
-
-ifdef INSANE
-  export INSANE
-endif
-
-ifdef ALT_COPYRIGHT_YEAR
-  COPYRIGHT_YEAR = $(ALT_COPYRIGHT_YEAR)
-else
-  COPYRIGHT_YEAR := $(shell $(DATE) '+%Y')
-endif
-
-ifndef OPENJDK
-include $(JDK_TOPDIR)/make/closed/common/Defs.gmk
-endif
-
-# Install of imported file (JDK_IMPORT_PATH, or some other external location)
-define install-importonly-file
-@$(ECHO) "ASSEMBLY_IMPORT: $@"
-$(prep-target)
-$(CP) $< $@
-@if [ "$(PLATFORM)" = "linux" -a "$(@F)" = "libjvm.so" ] ; then     \
-  if [ -x /usr/sbin/selinuxenabled ] ; then                         \
-    /usr/sbin/selinuxenabled;                                       \
-    if [ $$? = 0 ] ; then                                           \
-      $(ECHO) "/usr/bin/chcon -t textrel_shlib_t $@";               \
-      /usr/bin/chcon -t textrel_shlib_t $@;                         \
-      if [ $$? != 0 ]; then                                         \
-        echo "ERROR: Cannot chcon $@";                              \
-      fi;                                                           \
-    fi;                                                             \
-  fi;                                                               \
-fi
-endef
-
-define install-import-file
-$(install-importonly-file)
-endef
-
-.PHONY: all build clean clobber
--- a/jdk/makefiles/common/Demo.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,415 +0,0 @@
-#
-# Copyright (c) 2004, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
-COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c
-LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) 
-LINK.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) 
-
-# JDK Demo building jar file.
-  
-# Some names are defined with LIBRARY inside the Defs.gmk file
-LIBRARY=$(DEMONAME)
-OBJDIR=$(TEMPDIR)/$(DEMONAME)
-
-# Input:
-#    DEMONAME           - name of the demo
-#    DEMO_ROOT          - path to root of all demo files
-#    DEMO_DESTDIR       - path to final demo destination directory
-#
-# Optional Input:
-#    DEMO_SRCDIR        - path to source if different from DEMO_ROOT
-#    DEMO_PSRCDIR       - path to additional platform specific source
-#    DEMO_PKGDIR        - sub directory of sources we want
-#    DEMO_TOPFILES      - names of top-level files relative to DEMO_ROOT
-#    DEMO_MAINCLASS     - name of the main class for the jar manifest
-#    DEMO_NATIVECLASS   - name of the class with native methods
-#    DEMO_DESCRIPTOR    - name of service file for jar (relative to DEMO_SRCDIR)
-#    DEMO_EXTRA_SRCDIR  - path to directory that holds extra sources to add
-#    DEMO_EXTRA_FILES   - extra sources relative to DEMO_EXTRA_SRCDIR
-#    DEMO_OBJECTS       - extra native object files needed
-#    DEMO_MANIFEST_ATTR - extra line to add to the jar manifest file
-
-# Assume the source directory is the root directory if not set
-ifndef DEMO_SRCDIR
-  DEMO_SRCDIR = $(DEMO_ROOT)
-endif
-ifndef DEMO_PKGDIR
-  DEMO_PKGDIR = .
-endif
-
-# Some demos have special needs
-ifneq ($(DEMONAME),agent_util)
-  DEMO_NEEDS_AGENT_UTIL    = $(findstring agent_util,$(DEMO_OBJECTS))
-endif
-ifneq ($(DEMONAME),java_crw_demo)
-  DEMO_NEEDS_JAVA_CRW_DEMO = $(findstring java_crw_demo,$(DEMO_OBJECTS))
-endif
-ifeq ($(DEMONAME),hprof)
-  DEMO_NEEDS_NPT           = true
-endif
-
-# Place to hold the build area (kind of a temp area)
-DEMO_BUILD_AREA     = $(DEMOCLASSDIR)/$(PRODUCT)/$(DEMONAME)
-
-# Destination "src" directory
-DEMO_BUILD_SRCDIR     = $(DEMO_BUILD_AREA)/src
-
-ifndef DEMO_SKIP_SRCZIP
-  DEMO_BUILD_SRCZIP     = $(DEMO_BUILD_AREA)/src.zip
-  DEMO_SOURCE_ZIP       = $(DEMO_DESTDIR)/src.zip
-endif
-
-# Place to hold the jar image we are creating
-DEMO_JAR_IMAGE      = $(DEMO_BUILD_AREA)/jar_image
-
-# The jar manifest file we will create and use
-DEMO_MANIFEST       = $(DEMO_BUILD_AREA)/manifest.mf
-
-# The list of source files or options we will supply to javac
-DEMO_JAVAC_INPUT    = $(DEMO_BUILD_AREA)/javac_input.txt
-
-# Any name of javah file
-DEMO_JAVAH_FILE = $(DEMO_NATIVECLASS:%=$(DEMO_BUILD_SRCDIR)/%.h)
-
-# Get complete list of files for this demo
-ifdef DEMO_PSRCDIR
-  DEMO_ALL_FILES2  := $(shell ( $(CD) $(DEMO_PSRCDIR) \
-    && $(FIND) $(DEMO_PKGDIR) $(SCM_DIRS_prune) -o -type f -print ) \
-    | $(SED) 's@^\./@@' )
-  DEMO_ALL_FILES   += $(DEMO_ALL_FILES2)
-endif
-ifdef DEMO_EXTRA_SRCDIR
-  DEMO_ALL_FILES   += $(DEMO_EXTRA_FILES)
-endif
-DEMO_ALL_FILES1    := $(shell ( $(CD) $(DEMO_SRCDIR) \
-  && $(FIND) $(DEMO_PKGDIR) $(SCM_DIRS_prune) -o -type f -print ) \
-  | $(SED) 's@^\./@@' )
-DEMO_ALL_FILES      += $(DEMO_ALL_FILES1)
-
-# Just the java sources
-DEMO_JAVA_SOURCES = $(filter %.java,$(DEMO_ALL_FILES))
-
-# Just the C and C++ sources
-DEMO_C_SRC_FILES   = $(filter %.c,$(DEMO_ALL_FILES))
-DEMO_CPP_SRC_FILES = $(filter %.cpp,$(DEMO_ALL_FILES))
-
-# All the native source files
-DEMO_ALL_NATIVE_SOURCES  = $(DEMO_C_SRC_FILES)
-DEMO_ALL_NATIVE_SOURCES += $(DEMO_CPP_SRC_FILES)
-DEMO_ALL_NATIVE_SOURCES += $(filter %.h,$(DEMO_ALL_FILES))
-DEMO_ALL_NATIVE_SOURCES += $(filter %.hpp,$(DEMO_ALL_FILES))
-
-# If we have java sources, then define the jar file we will create
-ifndef DEMO_JAR_NAME
-  DEMO_JAR_NAME = $(DEMONAME).jar
-endif
-ifneq ($(strip $(DEMO_JAVA_SOURCES)),)
-  DEMO_JAR            = $(DEMO_DESTDIR)/$(DEMO_JAR_NAME)
-endif
-
-# If we have native sources, define the native library we will create
-ifneq ($(strip $(DEMO_ALL_NATIVE_SOURCES)),)
-  # Path to native library we will create
-  DEMO_LIBRARY = \
-      $(DEMO_DESTDIR)/lib$(ISA_DIR)/$(LIB_PREFIX)$(DEMONAME).$(LIBRARY_SUFFIX)
-  # C and C++ compiler flags we need to add to standard flags
-  DEMO_CPPFLAGS     += -I$(DEMO_BUILD_SRCDIR)
-  # If the npt library is used we need to find the npt.h file
-  ifneq ($(DEMO_NEEDS_NPT),)
-    # The npt library is delivered as part of the JRE
-    DEMO_CPPFLAGS   += -I$(SHARE_SRC)/npt -I$(PLATFORM_SRC)/npt
-  endif
-  # Is the shared agent_util code needed
-  ifneq ($(DEMO_NEEDS_AGENT_UTIL),)
-    DEMO_FULL_SOURCES  += $(DEMO_BUILD_SRCDIR)/agent_util.c
-    DEMO_FULL_SOURCES  += $(DEMO_BUILD_SRCDIR)/agent_util.h
-  endif
-  # Is the shared java_crw_demo code needed
-  ifneq ($(DEMO_NEEDS_JAVA_CRW_DEMO),)
-    DEMO_FULL_SOURCES  += $(DEMO_BUILD_SRCDIR)/java_crw_demo.c
-    DEMO_FULL_SOURCES  += $(DEMO_BUILD_SRCDIR)/java_crw_demo.h
-  endif
-  # All the native object files we need to build the library
-  DEMO_OBJECTS += $(DEMO_C_SRC_FILES:%.c=%.$(OBJECT_SUFFIX)) \
-                  $(DEMO_CPP_SRC_FILES:%.cpp=%.$(OBJECT_SUFFIX))
-  # Linking is special depending on whether we had C++ code or on windows
-  DEMO_NEEDS_CPP = $(strip $(DEMO_CPP_SRC_FILES))
-  CPPFLAGS      += $(DEMO_CPPFLAGS)
-  ifeq ($(PLATFORM),windows)
-    # Note: This is a link with cl.exe, not link.exe, options differ quite
-    #       bit between them.
-    LINK.demo   = $(LINK.c)
-    LDLIBS.demo = $(EXTRA_LIBS) $(LFLAGS_$(COMPILER_VERSION))
-    DEMO_VERSION_INFO = $(OBJDIR)/$(LIBRARY).res
-    LDLIBS.demo += $(DEMO_VERSION_INFO)
-  else
-    ifneq ($(DEMO_NEEDS_CPP),)
-      LINK.demo   = $(LINK.cpp)
-      LDLIBS.demo = $(LIBCXX)
-      ifeq ($(PLATFORM),solaris)
-        LDLIBS.demo += -lc
-      endif
-    else
-      LINK.demo   = $(LINK.c)
-      LDLIBS.demo = $(LDLIBS)
-    endif
-  endif
-endif
-
-# Files that are considered resources (need to be in the jar file)
-DEMO_RESOURCES        += $(filter-out %.java,$(DEMO_ALL_FILES))
-
-# All destination files (top level readme files and all sources)
-#   Note: We exclude the topfiles from the src tree.
-DEMO_DEST_TOPFILES     = $(DEMO_TOPFILES:%=$(DEMO_DESTDIR)/%)
-DEMO_FILTERED_SOURCES  = $(filter-out $(DEMO_TOPFILES),$(DEMO_ALL_FILES))
-DEMO_FULL_SOURCES     += $(DEMO_FILTERED_SOURCES:%=$(DEMO_BUILD_SRCDIR)/%)
-
-# Default rule
-all: build demo_info
-
-# Used to populate the destination directories
-$(DEMO_DESTDIR)/%: $(DEMO_ROOT)/%
-	$(install-file)
-ifneq ($(DEMO_SRCDIR),$(DEMO_ROOT))
-$(DEMO_DESTDIR)/%: $(DEMO_SRCDIR)/%
-	$(install-file)
-endif
-$(DEMO_BUILD_SRCDIR)/%: $(DEMO_SRCDIR)/%
-	$(install-file)
-ifdef DEMO_PSRCDIR
-$(DEMO_BUILD_SRCDIR)/%: $(DEMO_PSRCDIR)/%
-	$(install-file)
-endif
-ifdef DEMO_EXTRA_SRCDIR
-$(DEMO_BUILD_SRCDIR)/%: $(DEMO_EXTRA_SRCDIR)/%
-	$(install-file)
-endif
-ifneq ($(DEMO_NEEDS_AGENT_UTIL),)
-$(DEMO_BUILD_SRCDIR)/%: $(DEMO_SRCDIR)/../agent_util/%
-	$(install-file)
-endif
-ifneq ($(DEMO_NEEDS_JAVA_CRW_DEMO),)
-$(DEMO_BUILD_SRCDIR)/%: $(DEMO_SRCDIR)/../java_crw_demo/%
-	$(install-file)
-endif
-
-# Jar manifest file
-MAINMANIFEST  = $(JDK_TOPDIR)/make/tools/manifest.mf
-$(DEMO_MANIFEST): $(MAINMANIFEST)
-	@$(prep-target)
-	$(SED) -e "s#@@RELEASE@@#$(RELEASE)#"           \
-               -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \
-               $(MAINMANIFEST) >> $@
-	$(ECHO) "Main-Class: $(DEMO_MAINCLASS)" >> $@
-ifdef DEMO_MANIFEST_ATTR
-	$(ECHO) "$(DEMO_MANIFEST_ATTR)" >> $@
-endif
-
-# Populating the jar image directory
-$(DEMO_JAR_IMAGE)/%: $(DEMO_SRCDIR)/%
-	$(install-file)
-ifdef DEMO_PSRCDIR
-$(DEMO_JAR_IMAGE)/%: $(DEMO_PSRCDIR)/%
-	$(install-file)
-endif
-ifdef DEMO_EXTRA_SRCDIR
-$(DEMO_JAR_IMAGE)/%: $(DEMO_EXTRA_SRCDIR)/%
-	$(install-file)
-endif
-ifdef DEMO_DESCRIPTOR
-$(DEMO_JAR_IMAGE)/META-INF/services/$(DEMO_DESCRIPTOR): \
-    $(DEMO_SRCDIR)/$(DEMO_DESCRIPTOR)
-	$(install-file)
-endif
-
-# If we are creating a jar file (we have java code)
-ifdef DEMO_JAR
-
-# Input file for javac
-$(DEMO_JAVAC_INPUT): $(DEMO_JAVA_SOURCES:%=$(DEMO_BUILD_SRCDIR)/%)
-	@$(prep-target)
-	@for i in $(DEMO_JAVA_SOURCES) ; do \
-	  $(ECHO) "$(DEMO_BUILD_SRCDIR)/$$i" >> $@ ; \
-	done
-
-# Jar file creation
-$(DEMO_JAR): \
-    $(DEMO_JAVAC_INPUT) \
-    $(DEMO_MANIFEST) \
-    $(DEMO_DESCRIPTOR:%=$(DEMO_JAR_IMAGE)/META-INF/services/%) \
-    $(DEMO_RESOURCES:%=$(DEMO_JAR_IMAGE)/%)
-	@$(prep-target)
-	$(MKDIR) -p $(DEMO_JAR_IMAGE)
-	$(JAVAC_CMD) -d $(DEMO_JAR_IMAGE) -sourcepath $(DEMO_BUILD_SRCDIR) \
-	    @$(DEMO_JAVAC_INPUT)
-  ifeq ($(DEMO_INCL_SRC),true)
-	$(CP) $(DEMO_JAVA_SOURCES:%=$(DEMO_BUILD_SRCDIR)/%) $(DEMO_JAR_IMAGE)
-  endif
-  ifeq ($(DEMO_ONLY_SRC),true)
-	$(RM) -r $(DEMO_JAR_IMAGE)
-	$(MKDIR) -p $(DEMO_JAR_IMAGE)
-	$(CP) -r $(DEMO_BUILD_SRCDIR)/* $(DEMO_JAR_IMAGE)
-    ifneq ($(DEMO_TOPFILES),)
-	$(CP) $(DEMO_ROOT)/$(DEMO_TOPFILES) $(DEMO_JAR_IMAGE)
-    endif
-  endif
-	$(BOOT_JAR_CMD) -cfm $@ $(DEMO_MANIFEST) \
-	     -C $(DEMO_JAR_IMAGE) . \
-	     $(BOOT_JAR_JFLAGS)
-	@$(java-vm-cleanup)
-
-endif
-
-ifndef DEMO_SKIP_SRCZIP
-  # Create a src.zip file
-  $(DEMO_BUILD_SRCZIP): $(DEMO_FULL_SOURCES)
-	@$(prep-target)
-	$(CD) $(DEMO_BUILD_AREA)/src && $(ZIPEXE) -q -r ../$(@F) .
-
-  # Install the destination src.zip file and create the src tree
-  $(DEMO_SOURCE_ZIP): $(DEMO_BUILD_SRCZIP)
-	$(install-file)
-endif
-
-ifeq ($(PLATFORM),windows)
-# JDK name required here
-RC_FLAGS += /D "JDK_FNAME=$(LIBRARY).dll" \
-            /D "JDK_INTERNAL_NAME=$(LIBRARY)" \
-            /D "JDK_FTYPE=0x2L"
-endif
-
-# Native library building
-ifdef DEMO_LIBRARY
-
-  # Full paths to object files
-  DEMO_FULL_OBJECTS = $(DEMO_OBJECTS:%=$(OBJDIR)/%)
-  VPATH=
-
-# Native compile rules
-$(OBJDIR)/%.$(OBJECT_SUFFIX): $(DEMO_BUILD_SRCDIR)/%.c
-	@$(prep-target)
-	$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$@ $<
-  ifneq ($(DEMO_NEEDS_CPP),)
-$(OBJDIR)/%.$(OBJECT_SUFFIX): $(DEMO_BUILD_SRCDIR)/%.cpp
-	@$(prep-target)
-	$(COMPILE.cpp) $(CC_OBJECT_OUTPUT_FLAG)$@ $<
-  endif
-
-  # Actual creation of the native shared library (C++ and C are different)
-$(DEMO_LIBRARY): $(DEMO_FULL_OBJECTS)
-	@$(prep-target)
-  ifeq ($(PLATFORM),windows)
-	$(RC) $(RC_FLAGS) $(CC_OBJECT_OUTPUT_FLAG)$(DEMO_VERSION_INFO) $(VERSIONINFO_RESOURCE)
-	$(LINK.demo) $(SHARED_LIBRARY_FLAG) -Fe$@ \
-	    $(DEMO_FULL_OBJECTS) $(LDLIBS.demo)
-  else
-	$(LINK.demo) $(SHARED_LIBRARY_FLAG) -o $@ \
-	    $(DEMO_FULL_OBJECTS) $(LDLIBS.demo)
-  endif
-	@$(call binary_file_verification,$@)
-
-  # Generation of any javah include file, make sure objects are dependent on it
-  ifdef DEMO_NATIVECLASS
-$(DEMO_JAVAH_FILE): $(DEMO_JAR)
-	@$(prep-target)
-	$(JAVAH_CMD) -d $(DEMO_BUILD_SRCDIR) -classpath $(DEMO_JAR) \
-	    $(DEMO_NATIVECLASS)
-	@$(java-vm-cleanup)
-$(DEMO_FULL_OBJECTS): $(DEMO_JAVAH_FILE)
-  endif
-
-endif
-
-# Build involves populating the destination "src" tree, building the jar and
-#     native library, and creating a source bundle
-
-sources:  $(DEMO_FULL_SOURCES)
-	@$(ECHO) "Created $@"
-
-objects: 
-	@$(ECHO) "Created $@"
-
-# Why the nested make here? It only works this way, don't know why.
-bundles: $(DEMO_BUILD_SRCZIP)
-	$(RM) -r $(DEMO_DESTDIR)
-	$(MKDIR) -p $(DEMO_DESTDIR)
-	$(MAKE) $(DEMO_LIBRARY) $(DEMO_JAR) $(DEMO_SOURCE_ZIP) $(DEMO_DEST_TOPFILES)
-# Applets are special, no jar file, no src.zip, everything expanded.
-ifdef DEMO_IS_APPLET
-	@$(ECHO) "Expanding jar file into demos area at $(DEMO_DESTDIR)"
-	( $(CD) $(DEMO_DESTDIR) && \
-	  $(BOOT_JAR_CMD) -xfv $(DEMO_JAR_NAME) \
-	     $(BOOT_JAR_JFLAGS) && \
-	  $(RM) -r META-INF $(DEMO_JAR_NAME) && \
-	  $(java-vm-cleanup) )
-	@( $(CD) $(DEMO_DESTDIR) && $(java-vm-cleanup) )
-	@$(ECHO) "Expanding source into demos area at $(DEMO_DESTDIR)"
-	( $(CD) $(DEMO_DESTDIR) && $(UNZIP) -o src.zip && $(RM) src.zip )
-endif
-
-build: sources bundles
-
-# Printing out a demo information line
-define printDemoSetting
-if [ "$2" != "" ] ; then $(PRINTF) "%-20s %s\n" "$1:" "$2"; fi
-endef
-
-# Print out the demo information
-demo_info:
-	@$(ECHO) "========================================================="
-	@$(call printDemoSetting,DEMONAME,$(DEMONAME))
-	@$(call printDemoSetting,DEMO_ROOT,$(DEMO_ROOT))
-	@$(call printDemoSetting,DEMO_SRCDIR,$(DEMO_SRCDIR))
-	@$(call printDemoSetting,DEMO_DESTDIR,$(DEMO_DESTDIR))
-	@$(call printDemoSetting,DEMO_JAR,$(DEMO_JAR))
-	@$(call printDemoSetting,DEMO_MANIFEST_ATTR,$(DEMO_MANIFEST_ATTR))
-	@$(call printDemoSetting,DEMO_PSRCDIR,$(DEMO_PSRCDIR))
-	@$(call printDemoSetting,DEMO_EXTRA_SRCDIR,$(DEMO_EXTRA_SRCDIR))
-	@$(call printDemoSetting,DEMO_EXTRA_FILES,$(DEMO_EXTRA_FILES))
-	@$(call printDemoSetting,DEMO_TOPFILES,$(DEMO_TOPFILES))
-	@$(call printDemoSetting,DEMO_MAINCLASS,$(DEMO_MAINCLASS))
-	@$(call printDemoSetting,DEMO_DESCRIPTOR,$(DEMO_DESCRIPTOR))
-	@$(call printDemoSetting,DEMO_NATIVECLASS,$(DEMO_NATIVECLASS))
-	@$(call printDemoSetting,DEMO_LIBRARY,$(DEMO_LIBRARY))
-	@$(call printDemoSetting,DEMO_OBJECTS,$(DEMO_OBJECTS))
-	@$(call printDemoSetting,DEMO_SOURCE_ZIP,$(DEMO_SOURCE_ZIP))
-	@$(ECHO) "========================================================="
-
-# Clean rule
-clean clobber:
-	$(RM) -r $(DEMO_BUILD_AREA)
-	$(RM) -r $(DEMO_DESTDIR)
-
-# This should not be needed, but some versions of GNU make have a bug that
-#   sometimes deleted these files  for some strange  and unknown reason 
-#   (GNU make version 3.78.1 has the problem, GNU make version 3.80 doesn't?)
-.PRECIOUS: $(DEMO_FULL_SOURCES) $(DEMO_BUILD_SRCZIP) $(DEMO_SOURCE_ZIP)
-
-# List phony targets
-.PHONY: all build clean clobber demo_info \
-	sources bundles
-
--- a/jdk/makefiles/common/Library.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,326 +0,0 @@
-#
-# Copyright (c) 1995, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Generic makefile for building shared libraries.
-#
-
-# WARNING: This file is shared with other workspaces.
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
-include $(JDK_TOPDIR)/makefiles/common/Classes.gmk
-
-#
-# It is important to define these *after* including Classes.gmk
-# in order to override the values defined inthat makefile.
-#
-
-ifeq ($(LIBRARY), fdlibm)
-ifeq ($(PLATFORM),windows)
-ACTUAL_LIBRARY_NAME = $(LIB_PREFIX)$(LIBRARY).$(FDDLIBM_SUFFIX)
-ACTUAL_LIBRARY_DIR = $(OBJDIR)
-else # PLATFORM
-ACTUAL_LIBRARY_NAME = $(LIB_PREFIX)$(LIBRARY).$(ARCH).$(FDDLIBM_SUFFIX)
-ACTUAL_LIBRARY_DIR = $(OBJDIR)
-endif #PLATFORM
-else # LIBRARY
-ACTUAL_LIBRARY_NAME = $(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
-ACTUAL_LIBRARY_DIR = $(LIB_LOCATION)
-endif
-ACTUAL_LIBRARY = $(ACTUAL_LIBRARY_DIR)/$(ACTUAL_LIBRARY_NAME)
-
-library:: $(ACTUAL_LIBRARY)
-
-FILES_o   = $(patsubst %.c,   %.$(OBJECT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_c))))
-FILES_o  += $(patsubst %.s,   %.$(OBJECT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_s))))
-FILES_o  += $(patsubst %.cpp, %.$(OBJECT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_cpp))))
-
-ifeq ($(PLATFORM), macosx)
-FILES_o  += $(patsubst %.m,   %.$(OBJECT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_objc))))
-FILES_o  += $(patsubst %.mm,  %.$(OBJECT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_objcpp))))
-
-INCREMENTAL_BUILD=false
-
-endif # PLATFORM
-
-ifeq ($(INCREMENTAL_BUILD),true)
-FILES_d   = $(patsubst %.c,   %.$(DEPEND_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_c))))
-FILES_d  += $(patsubst %.cpp, %.$(DEPEND_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_cpp))))
-endif # INCREMENTAL_BUILD
-
-ifeq ($(PLATFORM),solaris)
-# List of all lint files, one for each .c file (only for C)
-FILES_ln   = $(patsubst %.c,   %.$(LINT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_c))))
-endif
-
-LINK.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) 
-LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) 
-
-#
-# C++ libraries must be linked with CC.
-#
-ifdef CPLUSPLUSLIBRARY
-LINKER=$(LINK.cc)
-else
-LINKER=$(LINK.c)
-endif
-
-$(ACTUAL_LIBRARY):: $(INIT) $(TEMPDIR) $(LIBDIR) $(BINDIR) $(EXTDIR) classheaders
-	@$(ECHO) Building lib:$(ACTUAL_LIBRARY) 
-#
-# COMPILE_APPROACH: Different approaches to compile up the native object
-#   files as quickly as possible.
-#   The setting of parallel works best on Unix, batch on Windows.
-#
-
-COMPILE_FILES_o = $(OBJDIR)/.files_compiled
-$(COMPILE_FILES_o): $(FILES_d) $(FILES_o)
-	@$(ECHO) "$<" >> $@
-clean::
-	$(RM) $(COMPILE_FILES_o)
-
-#
-# COMPILE_APPROACH=parallel: Will trigger compilations (just compilations) to
-#   happen in parallel. Greatly decreases Unix build time, even on single CPU
-#   machines, more so on multiple CPU machines. Default is 2 compiles
-#   at a time, but can be adjusted with ALT_PARALLEL_COMPILE_JOBS.
-#   Note that each .d file will also be dependent on it's .o file, see
-#   Rules.gmk.
-#   Note this does not depend on Rules.gmk to work like batch (below)
-#   and this technique doesn't seem to help Windows build time nor does
-#   it work very well, it's possible the Windows Visual Studio compilers
-#   don't work well in a parallel situation, this needs investigation.
-#
-
-ifeq ($(COMPILE_APPROACH),parallel)
-
-.PHONY: library_parallel_compile
-
-library_parallel_compile:
-	@$(ECHO) "Begin parallel compiles: $(shell $(PWD))"
-	$(MAKE) -j $(PARALLEL_COMPILE_JOBS) $(COMPILE_FILES_o)
-	@$(ECHO) "Done with parallel compiles: $(shell $(PWD))"
-
-$(ACTUAL_LIBRARY):: library_parallel_compile
-
-endif
-
-#
-# COMPILE_APPROACH=batch: Will trigger compilations (just compilations) to
-#   happen in batch mode. Greatly decreases Windows build time.
-#   See logic in Rules.gmk for how compiles happen, the $(MAKE) in
-#   library_batch_compile below triggers the actions in Rules.gmk.
-#   Note that each .d file will also be dependent on it's .o file, see
-#   Rules.gmk.
-#
-ifeq ($(COMPILE_APPROACH),batch)
-
-.PHONY: library_batch_compile
-
-library_batch_compile:
-	@$(ECHO) "Begin BATCH compiles: $(shell $(PWD))"
-	$(MAKE) $(COMPILE_FILES_o)
-	$(MAKE) batch_compile
-	@$(ECHO) "Done with BATCH compiles: $(shell $(PWD))"
-	$(MAKE) COMPILE_APPROACH=normal $(COMPILE_FILES_o)
-
-$(ACTUAL_LIBRARY):: library_batch_compile
-
-endif
-
-ifeq ($(PLATFORM), windows)
-
-#
-# Library building rules.
-#
-
-$(LIBRARY).lib:: $(OBJDIR)
-
-ifeq ($(LIBRARY), fdlibm)
-$(ACTUAL_LIBRARY):: $(OBJDIR)/$(LIBRARY).lib
-
-$(OBJDIR)/$(LIBRARY).lib:: $(OBJDIR)/$(LIBRARY).lcf
-	@$(prep-target)
-	$(AR) -NODEFAULTLIB:MSVCRT -out:$@ -nologo \
-		@$(OBJDIR)/$(LIBRARY).lcf $(OTHER_LCF) $(LDLIBS_COMMON)
-else # LIBRARY
-# build it into $(OBJDIR) so that the other generated files get put 
-# there, then copy just the DLL (and MAP file) to the requested directory.
-#
-$(ACTUAL_LIBRARY):: $(OBJDIR)/$(LIBRARY).lcf
-	@$(prep-target)
-	@$(MKDIR) -p $(OBJDIR)
-	$(LD) -dll -out:$(OBJDIR)/$(@F) \
-	  -map:$(OBJDIR)/$(LIBRARY).map \
-	  $(LFLAGS) @$(OBJDIR)/$(LIBRARY).lcf \
-	  $(OTHER_LCF) $(LDLIBS)
-	$(CP) $(OBJDIR)/$(@F) $@
-	@$(call binary_file_verification,$@)
-	$(CP) $(OBJDIR)/$(LIBRARY).map $(@D)
-	$(CP) $(OBJDIR)/$(LIBRARY).pdb $(@D)
-
-endif # LIBRARY
-
-$(OBJDIR)/$(LIBRARY).lcf: $(OBJDIR)/$(LIBRARY).res $(COMPILE_FILES_o) $(FILES_m)
-	@$(prep-target)
-	@$(MKDIR) -p $(TEMPDIR)
-	@$(ECHO) $(FILES_o) > $@ 
-ifndef LOCAL_RESOURCE_FILE
-	@$(ECHO) $(OBJDIR)/$(LIBRARY).res >> $@
-endif
-	@$(ECHO) Created $@ 
-
-# JDK name required here
-RC_FLAGS += /D "JDK_FNAME=$(LIBRARY).dll" \
-            /D "JDK_INTERNAL_NAME=$(LIBRARY)" \
-            /D "JDK_FTYPE=0x2L"
-
-$(OBJDIR)/$(LIBRARY).res: $(VERSIONINFO_RESOURCE)
-ifndef LOCAL_RESOURCE_FILE
-	@$(prep-target)
-	$(RC) $(RC_FLAGS) $(CC_OBJECT_OUTPUT_FLAG)$(@) $(VERSIONINFO_RESOURCE)
-endif
-
-#
-# Install a .lib file if required.
-#
-ifeq ($(INSTALL_DOT_LIB), true)
-$(ACTUAL_LIBRARY):: $(LIBDIR)/$(LIBRARY).lib
-
-clean:: 
-	-$(RM) $(LIBDIR)/$(LIBRARY).lib
-
-$(LIBDIR)/$(LIBRARY).lib:: $(OBJDIR)/$(LIBRARY).lib
-	$(install-file)
-
-$(LIBDIR)/$(LIBRARY).dll:: $(OBJDIR)/$(LIBRARY).dll
-	$(install-file)
-
-endif # INSTALL_DOT_LIB
-
-else # PLATFORM
-
-#
-# On Solaris, use mcs to write the version into the comment section of
-# the shared library.  On other platforms set this to false at the
-# make command line.
-#
-
-ifneq ($(PLATFORM), macosx)
-  ARFLAGS = -r
-endif
-
-$(ACTUAL_LIBRARY):: $(COMPILE_FILES_o) $(FILES_m) $(FILES_reorder)
-	@$(prep-target)
-	@$(ECHO) "STATS: LIBRARY=$(LIBRARY), PRODUCT=$(PRODUCT), OPTIMIZATION_LEVEL=$(OPTIMIZATION_LEVEL)"
-	@$(ECHO) "Rebuilding $@ because of $?"
-ifeq ($(LIBRARY), fdlibm)
-	$(AR) $(ARFLAGS) $@ $(FILES_o)
-else # LIBRARY
-	$(LINKER) $(SHARED_LIBRARY_FLAG) -o $@ $(FILES_o) $(LDLIBS)
-	@$(call binary_file_verification,$@)
-ifeq ($(WRITE_LIBVERSION),true)
-	$(MCS) -d -a "$(FULL_VERSION)" $@
-endif # WRITE_LIBVERSION
-endif # LIBRARY
-
-endif # PLATFORM
-
-#
-# Cross check all linted files against each other
-#
-ifeq ($(PLATFORM),solaris)
-lint.errors : $(FILES_ln)
-	$(LINT.c) $(FILES_ln) $(LDLIBS) 
-endif
-
-#
-# Class libraries with JNI native methods get a include to the package.
-#
-ifdef PACKAGE
-vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)
-vpath %.c $(SHARE_SRC)/native/$(PKGDIR)
-OTHER_INCLUDES += -I$(SHARE_SRC)/native/common -I$(PLATFORM_SRC)/native/common
-OTHER_INCLUDES += -I$(SHARE_SRC)/native/$(PKGDIR) \
-		  -I$(PLATFORM_SRC)/native/$(PKGDIR)
-endif
-
-#
-# Clean/clobber rules
-#
-clean::
-	$(RM) -r $(ACTUAL_LIBRARY)
-
-clobber:: clean
-
-#
-# INCREMENTAL_BUILD means that this workspace will be built over and over
-#   possibly incrementally. This means tracking the object file dependencies
-#   on include files so that sources get re-compiled when the include files
-#   change. When building from scratch and doing a one time build (like
-#   release engineering or nightly builds) set INCREMENTAL_BUILD=false.
-#
-
-ifeq ($(INCREMENTAL_BUILD),true)
-
-#
-# Workaround: gnumake sometimes says files is empty when it shouldn't
-#    was:  files := $(foreach file, $(wildcard $(OBJDIR)/*.$(DEPEND_SUFFIX)), $(file))
-#
-files := $(shell $(LS) $(OBJDIR)/*.$(DEPEND_SUFFIX) 2>/dev/null)
-
-#
-# Only include these files if we have any.
-#
-ifneq ($(strip $(files)),)
-
-include $(files)
-
-endif # files
-
-endif # INCREMENTAL_BUILD
-
-#
-# Default dependencies
-#
-
-all: build
-
-build: library
-
-debug:
-	$(MAKE) VARIANT=DBG build
-
-fastdebug:
-	$(MAKE) VARIANT=DBG FASTDEBUG=true build
-
-openjdk:
-	$(MAKE) OPENJDK=true build
-
-FORCE:
-
-.PHONY: all build debug fastdebug
-
--- a/jdk/makefiles/common/Mapfile-vers.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-#
-# Copyright (c) 1998, 2005, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Makefile for linking with mapfiles.
-#
-# NOTE: Not using a mapfile will expose all your extern functions and
-#	extern data symbols as part of your interface, so unless your
-#	extern names are safe from being mistaken as names from other
-#	libraries, you better use a mapfile, or use a unique naming
-#	convention on all your extern symbols.
-#
-# The mapfile will establish versioning by defining the exported interface.
-#
-# The mapfile can also force certain .o files or elf sections into the 
-#   the different segments of the resulting library/program image.
-#
-# The macro FILES_m can contain any number of mapfiles.
-#
-
-# Always make sure 'all' is the default rule
-mapfile_default_rule: all
-
-ifeq ($(PLATFORM), solaris)
-
-ifeq ($(VARIANT), OPT)
-  # OPT build MUST have a mapfile?
-  ifndef FILES_m
-    FILES_m =        mapfile-vers
-  endif
-  
-  # If we are re-ordering functions in this solaris library, we need to make
-  # sure that -xF is added to the compile lines. This option is critical and
-  # enables the functions to be reordered.
-  ifdef FILES_reorder
-    CFLAGS_OPT   += -xF
-    CXXFLAGS_OPT += -xF
-  endif
-
-INIT += $(TEMPDIR)/mapfile-vers
-
-$(TEMPDIR)/mapfile-vers : $(FILES_m) $(FILES_reorder)
-	$(prep-target)
-	$(CAT) $(FILES_m) > $@
-  ifdef FILES_reorder
-	$(SED) -e 's=OUTPUTDIR=$(OUTPUTDIR)=' $(FILES_reorder) >> $@
-  endif
-endif # VARIANT
-
-ifndef LDNOMAP
-  LDMAPFLAGS_OPT =  -M$(TEMPDIR)/mapfile-vers
-  LDMAPFLAGS_DBG =  $(FILES_m:%=-M%)
-endif
-
-endif # PLATFORM
-
-ifeq ($(PLATFORM), linux)
-
-ifeq ($(VARIANT), OPT)
-  # OPT build MUST have a mapfile?
-  ifndef FILES_m
-    FILES_m =        mapfile-vers
-  endif
-endif # VARIANT
-
-ifndef LDNOMAP
-  LDMAPFLAGS_OPT =  $(FILES_m:%=-Xlinker -version-script=%)
-  LDMAPFLAGS_DBG =  $(FILES_m:%=-Xlinker -version-script=%)
-endif
-
-endif # PLATFORM
-  
-LDFLAGS_OPT +=  $(LDMAPFLAGS_OPT)
-LDFLAGS_DBG +=  $(LDMAPFLAGS_DBG)
-
--- a/jdk/makefiles/common/Modules.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,479 +0,0 @@
-#
-# Copyright (c) 2009, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-JDK_MODULE_IMAGE_DIR = $(ABS_OUTPUTDIR)/jdk-module-image
-JRE_MODULE_IMAGE_DIR = $(ABS_OUTPUTDIR)/jre-module-image
-
-#
-# modules   Target to build jdk and jre module image
-#
-#           There is one jar file per module containing classes only.
-#           All module jars are currently placed under jre/lib directory.
-#
-# Open issues that need further investigation:
-# 1. Classes in jre/lib/ext/dnsns.jar are currently put in jre/lib/jndi-dns
-#    module.  META-INF/services file is not installed.
-# 2. Signed jars
-#    For JDK build, signed jars are copied to the build.
-#    All jars in the module image are unsigned.
-
-MODULE_IMAGEBINDIR = bin
-
-#
-# Targets.
-#
-INITIAL_MODULE_IMAGE_JRE=initial-module-image-jre
-INITIAL_MODULE_IMAGE_JDK=initial-module-image-jdk
-ifeq ($(PLATFORM), solaris)
-  ifeq ($(ARCH_DATA_MODEL), 64)
-    INITIAL_MODULE_IMAGE_JRE=initial-module-image-jre-sol64
-    INITIAL_MODULE_IMAGE_JDK=initial-module-image-jdk-sol64
-  endif
-endif
-
-modules modules-clobber \
-initial-module-image-jre initial-module-image-jdk \
-initial-module-image-jre-sol64 initial-module-image-jdk-sol64 \
-trim-module-image-jre trim-module-image-jdk \
-process-module-image-jre process-module-image-jdk ::
-	@$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
-
-# Order is important here, trim jre after jdk image is created
-modules:: gen-modules \
-	 $(INITIAL_MODULE_IMAGE_JRE) $(INITIAL_MODULE_IMAGE_JDK) \
-	 trim-module-image-jre trim-module-image-jdk \
-	 process-module-image-jre process-module-image-jdk
-
-# Don't use these
-module-image-jre:: initial-module-image-jre trim-module-image-jre process-module-image-jre
-module-image-jdk:: initial-module-image-jdk trim-module-image-jdk process-module-image-jdk
-
-#
-# Paths to these files we need
-JDK_MODULE_LICENSES   = $(LICENSE_DOCLIST_JDK:%=$(JDK_MODULE_IMAGE_DIR)/%)
-JDK_MODULE_64_LICENSES = $(LICENSE_DOCLIST_JDK:%=$(JDK_MODULE_IMAGE_DIR)/%64)
-JDK_MODULE_DOCFILES   = $(OTHER_DOCLIST_JDK:%=$(JDK_MODULE_IMAGE_DIR)/%)
-
-JRE_MODULE_LICENSES   = $(LICENSE_DOCLIST_JRE:%=$(JRE_MODULE_IMAGE_DIR)/%)
-JRE_MODULE_64_LICENSES = $(LICENSE_DOCLIST_JRE:%=$(JRE_MODULE_IMAGE_DIR)/%64)
-JRE_MODULE_DOCFILES   = $(OTHER_DOCLIST_JRE:%=$(JRE_MODULE_IMAGE_DIR)/%)
-JRE_MODULE_DOCFILES  += $(JRE_NAMECHANGE_DOCLIST:%=$(JRE_MODULE_IMAGE_DIR)/%$(TEXT_SUFFIX))
-
-###### RULES
-
-# JDK files
-$(JDK_MODULE_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/%
-	$(process-doc-file)
-# Removes LICENSE_VERSION or not
-ifdef LICENSE_VERSION
-$(JDK_MODULE_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/%$(LICENSE_VERSION)
-	$(process-doc-file)
-$(JDK_MODULE_IMAGE_DIR)/%64: $(SHARE_JDK_DOC_SRC)/%$(LICENSE_VERSION)
-	$(process-doc-file)
-else
-$(JDK_MODULE_IMAGE_DIR)/%64: $(SHARE_JDK_DOC_SRC)/%
-	$(process-doc-file)
-endif
-
-# JRE files 
-$(JRE_MODULE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/%
-	$(process-doc-file)
-# Add $(TEXT_SUFFIX) suffix
-ifdef TEXT_SUFFIX
-$(JRE_MODULE_IMAGE_DIR)/%$(TEXT_SUFFIX): $(SHARE_JRE_DOC_SRC)/%
-	$(process-doc-file)
-endif
-# Removes LICENSE_VERSION or not
-ifdef LICENSE_VERSION
-$(JRE_MODULE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/%$(LICENSE_VERSION)
-	$(process-doc-file)
-$(JRE_MODULE_IMAGE_DIR)/%64: $(SHARE_JRE_DOC_SRC)/%$(LICENSE_VERSION)
-	$(process-doc-file)
-else
-$(JRE_MODULE_IMAGE_DIR)/%64: $(SHARE_JRE_DOC_SRC)/%
-	$(process-doc-file)
-endif
-
-######################################################
-# JRE Image
-######################################################
-
-MODULES_LIST = $(MODULES_TEMPDIR)/classlist/modules.list
-
-# Modules in the jre/lib/security directory
-POLICY_MODULES = US_export_policy local_policy
-
-# Modules in the modules/ext directory
-EXT_MODULES = localedata security-sunec security-sunjce
-
-# Build PKCS#11 on all platforms except 64-bit Windows.
-PKCS11 = security-sunpkcs11
-ifeq ($(ARCH_DATA_MODEL), 64)
-  ifeq ($(PLATFORM), windows)
-    PKCS11 =
-  endif
-endif
-
-EXT_MODULES += $(PKCS11)
-
-# Build Microsoft CryptoAPI provider only on (non-64-bit) Windows platform.
-ifeq ($(PLATFORM), windows)
-  ifneq ($(ARCH_DATA_MODEL), 64)
-    EXT_MODULES += security-sunmscapi
-  endif
-endif
-
-# Modules for JDK only
-JDK_MODULES = tools
-
-gen-modules:
-	$(CD) modules; $(MAKE) all
-
-initial-module-image-jre-setup:
-	$(RM) -r $(JRE_MODULE_IMAGE_DIR)
-	$(MKDIR) -p $(JRE_MODULE_IMAGE_DIR)
-
-# 64-bit solaris jre image contains only the 64-bit add-on files.
-initial-module-image-jre-sol64:: initial-module-image-jre-setup \
-			  $(JRE_MODULE_LICENSES) $(JRE_MODULE_64_LICENSES)
-	@# Use tar instead of cp to preserve the symbolic links
-	for dir in bin lib ; do \
-	  ( $(CD) $(OUTPUTDIR) && \
-		$(TAR) cf - `$(FIND) $$dir -name '$(ARCH)' -print` | \
-		($(CD) $(JRE_MODULE_IMAGE_DIR) && $(TAR) xf -) ) ; \
-	done
-	@# Remove some files from the jre area
-	for t in $(NOTJRETOOLS) ; do \
-	    $(RM) $(JRE_MODULE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \
-	done
-	$(RM) `$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -name 'orb.idl'`
-	$(RM) `$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -name 'ir.idl'`
-
-# Construct an initial jre image (initial jdk jre) no trimming or stripping
-initial-module-image-jre:: initial-module-image-jre-setup \
-		    $(JRE_LICENSES) $(JRE_MODULE_DOCFILES) \
-		    $(BUILDMETAINDEX_JARFILE)
-	@# Copy in bin directory
-	$(CD) $(OUTPUTDIR) && $(FIND) bin -depth | $(CPIO) -pdum $(JRE_MODULE_IMAGE_DIR)
-	@# CTE plugin security change require new empty directory lib/applet
-	$(MKDIR) -p $(JRE_MODULE_IMAGE_DIR)/lib/applet
-	@# Copy files but not .jar in lib directory 
-	$(CD) $(OUTPUTDIR) && $(FIND) lib -depth | $(EGREP) -v ".jar$$" | $(CPIO) -pdum $(JRE_MODULE_IMAGE_DIR)
-	@#
-	@# copy modules to jre/lib
-	@#
-	for m in `$(NAWK) '{print $$1}' $(MODULES_LIST)` ; do \
-	    $(CP) $(MODULES_DIR)/$$m/lib/$$m.jar $(JRE_MODULE_IMAGE_DIR)/lib ; \
-	done
-	$(MKDIR) -p $(JRE_MODULE_IMAGE_DIR)/lib/ext
-	for m in $(EXT_MODULES) ; do \
-           $(MV) $(JRE_MODULE_IMAGE_DIR)/lib/$$m.jar $(JRE_MODULE_IMAGE_DIR)/lib/ext ; \
-        done
-	for m in $(POLICY_MODULES) ; do \
-           $(MV) $(JRE_MODULE_IMAGE_DIR)/lib/$$m.jar $(JRE_MODULE_IMAGE_DIR)/lib/security; \
-        done
-	@# Remove jdk modules
-	for m in $(JDK_MODULES) ; do \
-           $(RM) $(JRE_MODULE_IMAGE_DIR)/lib/$$m.jar ; \
-        done
-
-	@# Make sure all directories are read/execute for everyone
-	$(CHMOD) a+rx `$(FIND) $(JRE_MODULE_IMAGE_DIR) -type d`
-	@# Remove some files from the jre area
-	for t in $(NOTJRETOOLS) ; do \
-	    $(RM) $(JRE_MODULE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \
-	done
-	@# Remove orb.idl and ir.idl from jre
-	$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -name 'orb.idl' -exec $(RM) \{} \;
-	$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -name 'ir.idl' -exec $(RM) \{} \;
-	@# Generate meta-index to make boot and extension class loaders lazier
-	$(CD) $(JRE_MODULE_IMAGE_DIR)/lib && \
-	    $(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \
-		-o meta-index *.jar
-	@$(CD) $(JRE_MODULE_IMAGE_DIR)/lib && $(java-vm-cleanup)
-	$(CD) $(JRE_MODULE_IMAGE_DIR)/lib/ext && \
-	    $(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \
-		-o meta-index *.jar
-	@$(CD) $(JRE_MODULE_IMAGE_DIR)/lib/ext && $(java-vm-cleanup)
-ifeq ($(PLATFORM), windows)
-	@# Remove certain *.lib files
-	$(CD) $(JRE_MODULE_IMAGE_DIR)/lib && \
-            $(RM) java.$(LIB_SUFFIX) jvm.$(LIB_SUFFIX) \
-                  hpi.$(LIB_SUFFIX) awt.$(LIB_SUFFIX) jawt.$(LIB_SUFFIX)
-  ifeq ($(ARCH_DATA_MODEL), 32)
-	@# The Java Kernel JRE image ships with a special VM.  It is not included
-	@# in the full JRE image, so remove it.  Also, is it only for 32-bit windows.
-	$(CD) $(JRE_MODULE_IMAGE_DIR)/bin && $(RM) -r kernel
-  endif
-endif # Windows
-ifneq ($(PLATFORM), windows)
-	$(call copy-man-pages,$(JRE_MODULE_IMAGE_DIR),$(JRE_MAN_PAGES))
-endif # !windows
-
-# Trim out any extra files not for the jre shipment but wanted in the jdk jre.
-#   (Note the jdk WILL want the jre image before this trimming)
-#   Removes server VM on Windows 32bit.
-#   Remove certain shared libraries that should not be in the jre image
-#      but should be in the jdk jre image.
-trim-module-image-jre::
-ifeq ($(PLATFORM), windows)
-  ifeq ($(ARCH_DATA_MODEL), 32)
-	$(RM) -r $(JRE_MODULE_IMAGE_DIR)/bin/server
-  endif
-  ifdef NOTJRE_SHARED_LIBS
-	for l in $(NOTJRE_SHARED_LIBS) ; do \
-	    $(RM) $(JRE_MODULE_IMAGE_DIR)/bin/$$l ; \
-	done ;
-  endif
-else # PLATFORM
-  ifdef NOTJRE_SHARED_LIBS
-	for l in $(NOTJRE_SHARED_LIBS) ; do \
-	    $(RM) $(JRE_MODULE_IMAGE_DIR)/lib/$(LIBARCH)/$$l ; \
-	done ;
-  endif
-endif # PLATFORM
-
-# Get list of all Elf files in the jre
-JRE_MODULE_ELF_LIST=$(MODULES_TEMPDIR)/jre-elf-files.list
-$(JRE_MODULE_ELF_LIST):
-	@$(prep-target)
-ifneq ($(PLATFORM), windows)
-	$(RM) $@
-	$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -type f -name \*.$(LIB_SUFFIX) >> $@
-	$(FILE) `$(FIND) $(JRE_MODULE_IMAGE_DIR)/bin -type f -name \*$(EXE_SUFFIX)` \
-	    | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
-endif
-
-# Post process the image (strips and mcs on Elf files we are shipping)
-#   (Note the jdk WILL want the jre image before this processing)
-process-module-image-jre:: $(JRE_MODULE_ELF_LIST)
-ifneq ($(POST_STRIP_PROCESS), )
-	for f in `$(CAT) $(JRE_MODULE_ELF_LIST)`; do \
-	  $(CHMOD) u+w $${f}; \
-	  $(ECHO) $(POST_STRIP_PROCESS) $${f}; \
-	  $(POST_STRIP_PROCESS) $${f}; \
-	  $(CHMOD) go-w $${f}; \
-	done
-endif
-ifneq ($(POST_MCS_PROCESS), )
-	for f in `$(CAT) $(JRE_MODULE_ELF_LIST)`; do \
-	  $(CHMOD) u+w $${f}; \
-	  $(ECHO) $(POST_MCS_PROCESS) $${f}; \
-	  $(POST_MCS_PROCESS) $${f}; \
-	  $(CHMOD) go-w $${f}; \
-	done
-endif
-	$(RM) $(JRE_MODULE_ELF_LIST)
-
-######################################################
-# JDK Image
-######################################################
-# Note: cpio ($(CPIO)) sometimes leaves directories without rx access.
-
-initial-module-image-jdk-setup:
-	$(RM) -r $(JDK_MODULE_IMAGE_DIR)
-	$(MKDIR) -p $(JDK_MODULE_IMAGE_DIR)/jre
-	($(CD) $(JRE_MODULE_IMAGE_DIR) && $(FIND) . -depth -print \
-	      | $(CPIO) -pdum $(JDK_MODULE_IMAGE_DIR)/jre )
-	$(RM) -rf $(JDK_MODULE_IMAGE_DIR)/jre/man
-	$(CHMOD) a+rx `$(FIND) $(JDK_MODULE_IMAGE_DIR) -type d`
-
-initial-module-image-jdk64-bindemos:
-	for dir in bin demo ; do \
-	  ( $(CD) $(OUTPUTDIR) && \
-		$(TAR) cf - `$(FIND) $$dir -name '$(LIBARCH)' -print` | \
-		($(CD) $(JDK_MODULE_IMAGE_DIR) && $(TAR) xf -) ) ; \
-        done
-
-# Solaris 64 bit image is special
-initial-module-image-jdk-sol64:: initial-module-image-jdk-setup \
-			  initial-module-image-jdk64-bindemos \
-			  $(JDK_MODULE_LICENSES) $(JDK_MODULARLIZED_64_LICENSES)
-
-# DB files to add
-ifeq ($(OPENJDK),true)
-
-initial-module-image-jdk-db:
-
-else
-
-# Create the list of db *.zip files to bundle with jdk
-ABS_DB_PATH  :=$(call FullPath,$(CLOSED_SHARE_SRC)/db)
-DB_ZIP_LIST = $(shell $(LS) $(ABS_DB_PATH)/*.zip 2>/dev/null)
-
-initial-module-image-jdk-db: $(DB_ZIP_LIST)
-	$(MKDIR) -p $(JDK_MODULE_IMAGE_DIR)/db
-	for d in $(DB_ZIP_LIST); do \
-          ($(CD) $(JDK_MODULE_IMAGE_DIR)/db && $(UNZIP) -o $$d); \
-	done
-
-endif
-
-# Standard jdk image
-initial-module-image-jdk:: initial-module-image-jdk-setup \
-		    initial-module-image-jdk-db \
-		    $(JDK_MODULE_LICENSES) $(JDK_MODULE_DOCFILES)
-	$(MKDIR) $(JDK_MODULE_IMAGE_DIR)/lib
-	@#
-	@# copy jdk modules to jdk/lib
-	@#
-	$(MKDIR) -p $(JDK_MODULE_IMAGE_DIR)/lib
-	for m in $(JDK_MODULES) ; do \
-	    $(CP) $(MODULES_DIR)/$$m/lib/$$m.jar $(JDK_MODULE_IMAGE_DIR)/lib ; \
-        done
-  ifeq ($(PLATFORM), windows)
-	@#
-	@# lib/
-	@#
-	$(CP) $(LIBDIR)/$(LIB_PREFIX)jvm.$(LIB_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/lib
-	$(CP) $(LIBDIR)/$(LIB_PREFIX)jawt.$(LIB_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/lib
-	@#
-	@# bin/
-	@#
-	@# copy all EXE files and only certain DLL files from BINDIR
-	$(MKDIR) -p $(JDK_MODULE_IMAGE_DIR)/bin
-	$(CP) $(BINDIR)/*$(EXE_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
-	$(CP) $(BINDIR)/jli.$(LIBRARY_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
-    ifeq ($(COMPILER_VERSION), VS2010)
-	$(CP) $(BINDIR)/msvc*100.$(LIBRARY_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
-    endif
-    ifeq ($(ARCH_DATA_MODEL), 32)
-      ifeq ($(COMPILER_VERSION), VS2003)
-	$(CP) $(BINDIR)/msvc*71.$(LIBRARY_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
-      endif
-    endif
-  else # PLATFORM
-	@#
-	@# bin/
-	@#
-	($(CD) $(BINDIR)/.. && $(TAR) cf - \
-	    `$(FIND) bin \( -type f -o -type l \) -print `) | \
-	    ($(CD) $(JDK_MODULE_IMAGE_DIR) && $(TAR) xf -)
-  endif # PLATFORM
-	@#
-	@# lib/ct.sym
-	@#
-	$(MKDIR) -p $(OUTPUTDIR)/symbols/META-INF/sym
-	$(JAVAC_CMD) -XDprocess.packages -proc:only \
-	    -processor com.sun.tools.javac.sym.CreateSymbols \
-	    -Acom.sun.tools.javac.sym.Jar=$(RT_JAR) \
-	    -Acom.sun.tools.javac.sym.Dest=$(OUTPUTDIR)/symbols/META-INF/sym/rt.jar \
-	    $(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS)
-	$(BOOT_JAR_CMD) c0f $(LIBDIR)/ct.sym \
-	    -C $(OUTPUTDIR)/symbols META-INF $(BOOT_JAR_JFLAGS)
-	@$(java-vm-cleanup)
-	$(CP) $(LIBDIR)/ct.sym $(JDK_MODULE_IMAGE_DIR)/lib/ct.sym
-	@#
-	@# CORBA supported orb.idl and ir.idl should be copied to lib
-	@#
-	$(CP) $(LIBDIR)/orb.idl $(JDK_MODULE_IMAGE_DIR)/lib/orb.idl
-	$(CP) $(LIBDIR)/ir.idl $(JDK_MODULE_IMAGE_DIR)/lib/ir.idl
-  ifeq ($(PLATFORM), linux)
-	@#
-	@# on Linux copy jexec from jre/lib to /lib
-	@#
-	$(CP) $(LIBDIR)/jexec $(JDK_MODULE_IMAGE_DIR)/lib/jexec
-  endif # PLATFORM
-	@#
-	@# demo, include
-	@#
-	$(CP) -r -f $(DEMODIR) $(JDK_MODULE_IMAGE_DIR)
-	$(CP) -r -f $(SAMPLEDIR) $(JDK_MODULE_IMAGE_DIR)
-	$(CP) -r $(INCLUDEDIR) $(JDK_MODULE_IMAGE_DIR)
-	@#
-	@# Swing BeanInfo generation
-	@#
-	$(CD) javax/swing/beaninfo && $(MAKE) JDK_IMAGE_DIR=$(JDK_MODULE_IMAGE_DIR) swing-1.2-beans
-ifneq ($(PLATFORM), windows)
-	$(call copy-man-pages,$(JDK_MODULE_IMAGE_DIR),$(JDK_MAN_PAGES))
-endif # !windows
-
-# Trim out files we don't want to ship
-trim-module-image-jdk::
-	@# Remove tools that should not be part of SDK.
-	for t in $(NOTJDKTOOLS); do \
-	    $(RM) $(JDK_MODULE_IMAGE_DIR)/bin/$${t}$(EXE_SUFFIX) \
-		  $(JDK_MODULE_IMAGE_DIR)/bin/*/native_threads/$${t}$(EXE_SUFFIX); \
-	done
-
-# Get list of Elf files in the jdk
-JDK_MODULE_ELF_LIST=$(MODULES_TEMPDIR)/jdk-elf-files.list
-$(JDK_MODULE_ELF_LIST):
-	@$(prep-target)
-ifneq ($(PLATFORM), windows)
-	$(RM) $@
-	$(FIND) $(JDK_MODULE_IMAGE_DIR)/jre/lib -type f -name \*.$(LIB_SUFFIX) >> $@
-	$(FILE) `$(FIND) $(JDK_MODULE_IMAGE_DIR)/jre/bin -type f -name \*$(EXE_SUFFIX)` \
-	    | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
-	file `$(FIND) $(JDK_MODULE_IMAGE_DIR)/bin -type f -name \*$(EXE_SUFFIX)` \
-	    | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
-endif
-
-# Post process the image (strips and mcs on files we are shipping)
-process-module-image-jdk:: $(JDK_MODULE_ELF_LIST)
-ifneq ($(POST_STRIP_PROCESS), )
-	for f in `$(CAT) $(JDK_MODULE_ELF_LIST)`; do \
-	  $(CHMOD) u+w $${f}; \
-	  $(ECHO) $(POST_STRIP_PROCESS) $${f}; \
-	  $(POST_STRIP_PROCESS) $${f}; \
-	  $(CHMOD) go-w $${f}; \
-	done
-endif
-ifneq ($(POST_MCS_PROCESS), )
-	for f in `$(CAT) $(JDK_MODULE_ELF_LIST)`; do \
-	  $(CHMOD) u+w $${f}; \
-	  $(ECHO) $(POST_MCS_PROCESS) $${f}; \
-	  $(POST_MCS_PROCESS) $${f}; \
-	  $(CHMOD) go-w $${f}; \
-	done
-endif
-	$(RM) $(JDK_MODULE_ELF_LIST)
-
-######################################################
-# clobber
-######################################################
-modules-clobber::
-	$(RM) -r $(JDK_MODULE_IMAGE_DIR)
-	$(RM) -r $(JRE_MODULE_IMAGE_DIR)
-
-modules modules-clobber::
-	@$(ECHO) ">>>Finished making "$@" @ `$(DATE)` ..."
-	@$(java-vm-cleanup)
-
-.PHONY: modules module-image-jre module-image-jdk \
-	initial-module-image-jre initial-module-image-jdk \
-	initial-module-image-jre-sol64 initial-module-image-jdk-sol64 \
-        initial-module-image-jdk-setup \
-	initial-module-image-jdk-db \
-        initial-module-image-jdk64-bindemos \
-        initial-module-image-jre-setup \
-	trim-module-image-jre trim-module-image-jdk \
-	process-module-image-jre process-module-image-jdk \
-	install-previous-jre install-previous-jdk \
-	modules-clobber
-
-# Force rule
-FRC:
-
--- a/jdk/makefiles/common/Program.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,319 +0,0 @@
-#
-# Copyright (c) 1995, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Generic makefile for building executables.
-#
-
-# WARNING: This file is shared with other workspaces.
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
-#
-# If building programs, use a normal compile approach
-#
-ifeq ($(COMPILE_APPROACH),batch)
-  override COMPILE_APPROACH = normal
-endif
-
-# set the platform specific directory for macosx, also this platform shares
-# substantial family ties with its siblings (solaris and linux), thus we add
-# solaris src path to its compilation dependencies.
-ifeq ($(PLATFORM), macosx)
-  LAUNCHER_PLATFORM_SRC = $(BUILDDIR)/../src/macosx
-  LAUNCHER_SOLARIS_PLATFORM_SRC  = $(BUILDDIR)/../src/solaris
-else
-  LAUNCHER_PLATFORM_SRC = $(PLATFORM_SRC)
-endif
-
-ifndef LAUNCHER_SHARE_SRC
-  LAUNCHER_SHARE_SRC = $(SHARE_SRC)
-endif
-
-ACTUAL_PROGRAM_NAME = $(PROGRAM)$(EXE_SUFFIX)
-ACTUAL_PROGRAM_DIR  = $(BINDIR)
-ACTUAL_PROGRAM      = $(ACTUAL_PROGRAM_DIR)/$(ACTUAL_PROGRAM_NAME)
-
-# Make sure the default rule is all
-program_default_rule: all
-
-program: $(ACTUAL_PROGRAM)
-
-# Work-around for missing processor specific mapfiles
-ifndef CROSS_COMPILE_ARCH
-  # reuse the mapfiles in the launcher's directory, the same should
-  # be applicable to the tool launchers as well.
-  FILES_m = $(BUILDDIR)/java/main/java/mapfile-$(ARCH)
-  include $(BUILDDIR)/common/Mapfile-vers.gmk
-endif
-
-include $(JDK_TOPDIR)/makefiles/common/Rules.gmk
-
-ifdef NEVER_ACT_AS_SERVER_CLASS_MACHINE
-  OTHER_CPPFLAGS += -DNEVER_ACT_AS_SERVER_CLASS_MACHINE
-endif
-
-#
-# Create a dependency on libjli (Java Launcher Infrastructure)
-#
-# On UNIX, this is a relative dependency using $ORIGIN. Unfortunately, to
-# do this reliably on Linux takes a different syntax than Solaris.
-#
-# On Windows, this is done by using the same directory as the executable
-# itself, as with all the Windows libraries.
-#
-ifeq ($(PLATFORM), macosx)
-  ifneq ($(ARCH), universal)
-    LDFLAGS += -Wl,-all_load
-  endif
-  LDFLAGS += $(OUTPUTDIR)/tmp/java/jli/$(OBJDIRNAME)/static/libjli.a
-
-  ifeq ($(SYSTEM_ZLIB),true)
-    OTHER_LDLIBS += -lz
-  endif
-endif
-
-ifneq (,$(findstring $(PLATFORM), linux solaris)) # UNIX systems
-  LDFLAGS += -L $(LIBDIR)/$(LIBARCH)/jli
-  OTHER_LDLIBS += -ljli
-  ifeq ($(PLATFORM), solaris)
-    ifeq ($(ARCH_DATA_MODEL), 32)
-      LDFLAGS += -R \$$ORIGIN/../lib/$(LIBARCH)/jli
-      LDFLAGS += -R \$$ORIGIN/../jre/lib/$(LIBARCH)/jli
-    else
-      LDFLAGS += -R \$$ORIGIN/../../lib/$(LIBARCH)/jli
-      LDFLAGS += -R \$$ORIGIN/../../jre/lib/$(LIBARCH)/jli
-    endif
-  endif
-  ifeq ($(PLATFORM), linux)
-    LDFLAGS += $(LDFLAG_Z_ORIGIN)
-    LDFLAGS += -Wl,--allow-shlib-undefined
-    LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli
-    LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH)/jli
-  endif
-endif
-
-ifeq ($(PLATFORM), windows)
-  JLI_LCF = $(OUTPUTDIR)/tmp/java/jli/$(OBJDIRNAME)/jli.lcf
-  ifdef STATIC_JLI
-    LDFLAGS += -libpath:$(OUTPUTDIR)/tmp/java/jli/$(OBJDIRNAME)/static
-  else
-    LDFLAGS += -libpath:$(OUTPUTDIR)/tmp/java/jli/$(OBJDIRNAME)
-  endif
-  OTHER_LDLIBS += jli.lib
-endif
-
-#
-# Launcher specific files.
-#
-FILES_o = $(OBJDIR)/main.$(OBJECT_SUFFIX)
-
-$(ACTUAL_PROGRAM):: classes $(INIT) 
-
-#
-# Windows only
-#
-ifeq ($(PLATFORM), windows)
-  # JDK name required here
-  RC_FLAGS += /D "JDK_FNAME=$(PROGRAM)$(EXE_SUFFIX)" \
-              /D "JDK_INTERNAL_NAME=$(PROGRAM)" \
-              /D "JDK_FTYPE=0x1L"
-
-  $(OBJDIR)/$(PROGRAM).res: $(VERSIONINFO_RESOURCE)
-	@$(prep-target)
-  ifndef LOCAL_RESOURCE_FILE
-	$(RC) $(RC_FLAGS) $(CC_OBJECT_OUTPUT_FLAG)$(@) $(VERSIONINFO_RESOURCE)
-  endif
-
-  $(OBJDIR)/$(PROGRAM).lcf: $(OBJDIR)/$(PROGRAM).res $(FILES_o)
-	@$(prep-target)
-	@$(ECHO) $(FILES_o) > $@ 
-  ifndef LOCAL_RESOURCE_FILE
-	@$(ECHO) $(OBJDIR)/$(PROGRAM).res >> $@
-  endif
-	@$(ECHO) setargv.obj >> $@
-	@$(ECHO) Created $@ 
-
-  $(ACTUAL_PROGRAM):: $(OBJDIR)/$(PROGRAM)$(EXE_SUFFIX)
-	@$(install-file)
-
-  ifeq ($(ARCH_DATA_MODEL), 32)
-    STACK_SIZE=327680
-  else
-    # We need more Stack for Windows 64bit
-    STACK_SIZE=1048576
-  endif
-
-  IMVERSION=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VER).$(COOKED_BUILD_NUMBER)
-  $(OBJDIR)/$(PROGRAM).exe.manifest: $(JDK_TOPDIR)/src/windows/resource/java.manifest
-	@$(prep-target)
-	$(SED) 's%IMVERSION%$(IMVERSION)%g;s%PROGRAM%$(PROGRAM)%g' $< > $@
-
-  # We used a hand-crafted manifest file for all executables.
-  # It is tweaked to embed the build number and executable name.
-  # Use ";#2" for .dll and ";#1" for .exe in the MT command below:
-  $(OBJDIR)/$(PROGRAM)$(EXE_SUFFIX):: $(OBJDIR)/$(PROGRAM).lcf $(FILES_o) $(JLI_LCF) $(OBJDIR)/$(PROGRAM).exe.manifest
-	@$(prep-target)
-	@set -- $?; \
-	    $(ECHO) Rebuilding $@ because of $$1 $$2 $$3 $$4 $$5 $$6 $${7:+...};
-	$(LD) -out:$@ /STACK:$(STACK_SIZE) \
-	    -map:$(OBJDIR)/$(PROGRAM).map $(LFLAGS) $(LDFLAGS) \
-	    @$(OBJDIR)/$(PROGRAM).lcf $(LDLIBS)
-  ifdef MT
-	$(MT) /manifest $(OBJDIR)/$(PROGRAM).exe.manifest /outputresource:$@;#1
-  endif
-	@$(call binary_file_verification,$@)
-else
-  #
-  # Note that we have to link -lthread even when USE_PTHREADS is true.
-  # This is becuase checkForCorrectLibthread() croaks otherwise.
-  #
-  LIBTHREAD = -lthread
-  ifeq ($(USE_PTHREADS),true)
-    THREADLIBS = -lpthread $(LIBTHREAD)
-  else
-    THREADLIBS = $(LIBTHREAD)
-  endif
-
-  ifeq ($(PLATFORM), macosx)
-    THREADLIBS = -pthread
-    # Needed for linking the various launchers
-    LDFLAGS += -framework Cocoa -framework Security \
-               -framework ApplicationServices
-    OTHER_CPPFLAGS += -DPACKAGE_PATH='"$(PACKAGE_PATH)"'
-
-    # Default Info.plist file for the command line tools. This gets overridden by
-    # some of the jvmstat tools so that they have task_for_pid() privileges
-    ifndef INFO_PLIST_FILE
-      INFO_PLIST_FILE = Info-cmdline.plist
-    endif
-    LDFLAGS += -sectcreate __TEXT __info_plist $(LAUNCHER_PLATFORM_SRC)/lib/$(INFO_PLIST_FILE)
-  else 
-    INFO_PLIST_FILE=
-  endif
-
-  #
-  # This rule only applies on unix.  It supports quantify and its ilk.
-  #
-  $(ACTUAL_PROGRAM):: $(FILES_o)
-	@$(prep-target)
-	@set -- $?; \
-	$(ECHO) Rebuilding $@ because of $$1 $$2 $$3 $$4 $$5 $$6 $${7:+...};
-	@$(MKDIR) -p $(TEMPDIR)
-	$(LINK_PRE_CMD) $(CC) $(CC_OBJECT_OUTPUT_FLAG)$@ $(LDFLAGS) \
-	$(FILES_o) $(THREADLIBS) $(LDLIBS)
-  ifeq ($(findstring privileged, $(INFO_PLIST_FILE)), privileged)
-	-codesign -s openjdk_codesign $@
-  endif
-	@$(call binary_file_verification,$@)
-endif # PLATFORM
-
-clean:: 
-ifeq ($(PLATFORM), windows)
-	$(RM) $(OBJDIR)/$(PROGRAM).rc
-	$(RM) $(OBJDIR)/$(PROGRAM).ico
-	$(RM) $(OBJDIR)/$(PROGRAM).lcf
-	$(RM) $(OBJDIR)/$(PROGRAM).map
-	$(RM) $(OBJDIR)/$(PROGRAM).exp
-	$(RM) $(OBJDIR)/$(PROGRAM).lib
-	$(RM) $(OBJDIR)/$(PROGRAM)$(EXE_SUFFIX)
-	$(RM) $(OBJDIR)/$(PROGRAM).ilk
-	$(RM) *.pdb
-endif
-
-
-clobber:: 
-	$(RM) $(ACTUAL_PROGRAM)
-
-#
-# Now include make dependencies (created during compilation, see Rules.gmk)
-#
-ifeq ($(INCREMENTAL_BUILD),true)
-  # Workaround: gnumake sometimes says files is empty when it shouldn't
-  #    was:  files := $(foreach file, $(wildcard */$(ARCH)/*.$(DEPEND_SUFFIX)), $(file))
-  files := $(shell $(LS) $(OBJDIR)/*.$(DEPEND_SUFFIX) 2>/dev/null)
-  ifneq ($(strip $(files)),)
-    include $(files)
-  endif
-endif
-
-ifdef JAVA_ARGS
-  OTHER_CPPFLAGS += -DJAVA_ARGS='$(JAVA_ARGS)'
-  OTHER_CPPFLAGS += -DLAUNCHER_NAME='"$(LAUNCHER_NAME)"'
-endif
-
-ifeq ($(PLATFORM), windows)
-  ifdef RELEASE
-    OTHER_CPPFLAGS += -DVERSION='"$(RELEASE)"'
-  endif
-endif
-
-
-ifneq ($(PLATFORM), windows)
-  HAVE_GETHRTIME=true
-endif
-
-ifeq ($(HAVE_GETHRTIME),true)
-  OTHER_CPPFLAGS += -DHAVE_GETHRTIME
-endif
-
-OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)/bin -I$(LAUNCHER_PLATFORM_SRC)/bin
-ifeq ($(PLATFORM), macosx)
-  OTHER_INCLUDES += -I$(LAUNCHER_SOLARIS_PLATFORM_SRC)/bin
-  ifneq ($(SYSTEM_ZLIB), true)
-    OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3
-  endif
-else
-  OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3
-endif
-
-OTHER_CPPFLAGS  += -DPROGNAME='"$(PROGRAM)"'
-VERSION_DEFINES += -DFULL_VERSION='"$(FULL_VERSION)"'
-
-VERSION_DEFINES += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
-                   -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"'
-
-
-
-$(OBJDIR)/main.$(OBJECT_SUFFIX): $(LAUNCHER_SHARE_SRC)/bin/main.c
-	@$(prep-target)
-	$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$(OBJDIR)/main.$(OBJECT_SUFFIX) \
-		$(VERSION_DEFINES) $<
-
-#
-# Default dependencies
-#
-
-all: build
-
-build: program
-
-debug:
-	$(MAKE) VARIANT=DBG build
-
-fastdebug:
-	$(MAKE) VARIANT=DBG FASTDEBUG=true build
-
-.PHONY: all build program clean clobber debug fastdebug
--- a/jdk/makefiles/common/Release-embedded.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-#
-# Copyright (c) 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# SE-Embedded Reduced JRE targets
-#
-ifdef JAVASE_EMBEDDED
-
-reduced-image-jre reduced-headless-image-jre ::
-	@$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
-
-# Add the reduced-jre images as pre-reqs. These will be processed last
-images:: reduced-image-jre reduced-headless-image-jre
-
-
-######################################################
-# Create the headless rt.jar
-######################################################
-
-NOT_HEADLESS_RT_JAR_LIST = $(ABS_TEMPDIR)/not_hl_rt_jar.list
-HEADLESS_RT_JAR_FILELIST=$(JARFILELISTS_TEMPDIR)/hl_rt_jar_list
-TOTAL_HEADLESS_JAR_FILELIST=$(REORDER_TEMPDIR)/hl_file_list
-HEADLESS_CLASSLIST=$(ABS_TEMPDIR)/headless_classlist
-
-# Add the jar file directories that we don't want in the
-# headless JRE.  If you want to remove most classes in a
-# directory, put the directory in the NOT_HEADLESS_RT_JAR_LIST
-# and put the individual classes you want to keep in the 
-# HEADLESS_CLASSLIST file. 
-$(NOT_HEADLESS_RT_JAR_LIST): $(NOT_RT_JAR_LIST)
-	$(RM) $(HEADLESS_CLASSLIST)
-	$(RM) $(NOT_HEADLESS_RT_JAR_LIST)
-	$(CP) $(NOT_RT_JAR_LIST) $(NOT_HEADLESS_RT_JAR_LIST)
-# List all the packages to be excluded
-	$(ECHO) "sun/awt/motif/" >> $@
-	$(ECHO) "sun/awt/X11/" >> $@
-	$(ECHO) "sun/applet/" >> $@
-	$(ECHO) "sun/java2d/opengl/" >> $@
-	$(ECHO) "com/sun/java/swing/plaf/" >> $@
-# List all the individual classes to be included
-	$(ECHO) "sun/awt/motif/MFontConfiguration.class" >$(HEADLESS_CLASSLIST)
-	$(ECHO) "sun/applet/AppContextCreator.class" >>$(HEADLESS_CLASSLIST)
-	$(ECHO) "sun/applet/AppletAudioClip.class" >>$(HEADLESS_CLASSLIST)
-	$(ECHO) "sun/java2d/opengl/GLXSurfaceData.class" >>$(HEADLESS_CLASSLIST)
-	$(ECHO) "sun/java2d/opengl/GLXSurfaceData"\$$"GLXOffScreenSurfaceData.class" >>$(HEADLESS_CLASSLIST)
-	$(ECHO) "sun/java2d/opengl/GLXVolatileSurfaceManager.class" >>$(HEADLESS_CLASSLIST)
-	$(ECHO) "sun/java2d/opengl/OGLSurfaceData.class" >>$(HEADLESS_CLASSLIST)
-
-
-$(TOTAL_HEADLESS_JAR_FILELIST): $(JARREORDER_JARFILE) $(NOT_HEADLESS_RT_JAR_LIST)
-	$(prep-target)
-	$(RM) $@.temp
-	$(CD) $(CLASSBINDIR) ; \
-		$(BOOT_JAVA_CMD) -jar $(JARREORDER_JARFILE) \
-		-o  $@.temp - $(NOT_HEADLESS_RT_JAR_LIST)  .
-# Add on the explicitly included class files from the otherwise excluded packages
-	$(CAT) $(HEADLESS_CLASSLIST) >> $@.temp
-	$(MV) $@.temp $@
-	@$(CD) $(CLASSBINDIR); $(java-vm-cleanup)
-
-# Create the headless rt.jar file list & non-class files list
-MakeHeadlessJarFileList: $(TOTAL_HEADLESS_JAR_FILELIST) $(JARSPLIT_JARFILE)
-	@$(RM) $(HEADLESS_RT_JAR_FILELIST) $(RES_JAR_FILELIST)
-	$(BOOT_JAVA_CMD) -jar $(JARSPLIT_JARFILE) $(TOTAL_HEADLESS_JAR_FILELIST) \
-		-o  $(HEADLESS_RT_JAR_FILELIST) $(RES_JAR_FILELIST)
-	@$(java-vm-cleanup)
-
-# Create headless rt.jar
-HL_RT_JAR=$(ABS_TEMPDIR)/rt-hl-orig.jar
-$(HL_RT_JAR): MakeHeadlessJarFileList $(RT_JAR_MANIFEST_FILE)
-	$(prep-target)
-	$(CD) $(CLASSBINDIR) ; \
-		$(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(RT_JAR_MANIFEST_FILE) $@ @$(HEADLESS_RT_JAR_FILELIST) \
-		 $(JAR_JFLAGS)
-	@$(CD) $(CLASSBINDIR); $(java-vm-cleanup)
-
-
-#
-# Produce a reduced Headful JRE for Embedded Devices
-#
-# The deployment binaries are added during the deployment build process
-#
-
-# Binaries that don't get included in reduced jre image bin directory
-NOT_REDUCEDJRE_BIN = \
- java_vm \
- kinit \
- klist \
- ktab \
- orbd \
- policytool \
- rmid \
- rmiregistry \
- servertool \
- tnameserv \
- pack200 \
- unpack200
-
-# jars/resources/libs that don't get included in reduced jre image lib directory
-NOT_REDUCEDJRE_LIB = \
- charsets.jar \
- ext/dnsns.jar \
- ext/localedata.jar \
- $(LIBARCH)/client/classes.jsa \
- $(LIBARCH)/libjavaplugin_jni.so \
- $(LIBARCH)/libjavaplugin_nscp_gcc29.so \
- $(LIBARCH)/libjavaplugin_nscp.so \
- $(LIBARCH)/libjavaplugin_oji.so
-
-# JRE docs that don't get included in reduced jre image top directory
-NOT_REDUCEDJRE_DOC = \
- Welcome.html
-
-reduced-image-jre::
-	@$(ECHO) Starting to Produce Reduced JRE
-	@#
-	@# First make a copy of the full JRE
-	@#
-	$(RM) -r $(JRE_REDUCED_IMAGE_DIR)
-	$(MKDIR) -p $(JRE_REDUCED_IMAGE_DIR)
-	$(CD) $(JRE_IMAGE_DIR); \
-	    $(TAR) cf - . | ($(CD) $(JRE_REDUCED_IMAGE_DIR); $(TAR) xf - ); 
-
-	@#
-	@# Remove all of the files that are not needed for the
-	@# reduced JRE
-	@#
-	for l in $(NOT_REDUCEDJRE_BIN) ; do \
-	    $(RM) $(JRE_REDUCED_IMAGE_DIR)/bin/$$l ; \
-	done
-	for l in $(NOT_REDUCEDJRE_LIB) ; do \
-	    $(RM) $(JRE_REDUCED_IMAGE_DIR)/lib/$$l ; \
-	done
-	for l in $(NOT_REDUCEDJRE_DOC) ; do \
-	    $(RM) $(JRE_REDUCED_IMAGE_DIR)/$$l ; \
-	done
-
-	@# Remove misc. other files
-	$(RM) -r $(JRE_REDUCED_IMAGE_DIR)/man
-	$(RM) -f $(JRE_REDUCED_IMAGE_DIR)/CHANGES
-
-	@$(ECHO) Done Creating Reduced JRE
-
-#
-# Produce a reduced Headless JRE
-#
-reduced-headless-image-jre:: $(RT_JAR) $(RESOURCES_JAR) $(BUILD_META_INDEX) $(HL_RT_JAR)
-	@$(ECHO) Starting to Produce Reduced Headless JRE
-	@#
-	@# First make a copy of the reduced JRE we just built
-	@#
-	$(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)
-	$(MKDIR) -p $(JRE_REDUCED_HEADLESS_IMAGE_DIR)
-	$(CD) $(JRE_REDUCED_IMAGE_DIR); \
-	    $(TAR) cf - . | ($(CD) $(JRE_REDUCED_HEADLESS_IMAGE_DIR); $(TAR) xf - ); 
-
-	@# Replace the full rt.jar with the headless rt.jar
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/rt.jar
-	$(CP) $(HL_RT_JAR) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/rt.jar
-
-	@#
-	@# Remove all of the files that are not needed for the
-	@# reduced Headless JRE
-	@#
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/gtkhelper
-	$(RM)  $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/libjsoundalsa.so
-	$(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/audio
-	$(RM) -fr $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/applet
-	$(RM)  $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/awt_robot
-	$(RM)  $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/libawt_xawt.so
-	$(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/libsplashscreen.so
-	@# Remove oblique fonts and reduce font support to LucidaSansRegular only
-	$(RM) -fr $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/oblique-fonts
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightDemiBold.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightDemiItalic.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightItalic.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightRegular.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaSansDemiBold.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaTypewriterBold.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaTypewriterRegular.ttf
-
-ifeq ($(PLATFORM), linux)
-# put out minimal fonts.dir file for the remaining font
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
-	$(ECHO) 6>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
-	$(ECHO) "LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-0-0-0-0-p-0-iso8859-1">>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
-	$(ECHO) "LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-0-0-0-0-p-0-iso8859-2">>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
-	$(ECHO) "LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-0-0-0-0-p-0-iso8859-4">>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
-	$(ECHO) "LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-0-0-0-0-p-0-iso8859-5">>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
-	$(ECHO) "LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-0-0-0-0-p-0-iso8859-7">>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
-	$(ECHO) "LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-0-0-0-0-p-0-iso8859-9">>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
-
-endif # Linux
-
-	@#
-	@# all done with JRE reduced headless image
-	@#
-
-	@$(ECHO) Done Creating Reduced Headless JRE
-
-images-clobber::
-	$(RM) -r $(JRE_REDUCED_IMAGE_DIR)
-	$(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)
-
-.PHONY: reduced-image-jre reduced-headless-image-jre 
-
-endif # JAVASE_EMBEDDED
-
--- a/jdk/makefiles/common/Release-macosx.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-#
-# Copyright (c) 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-MANBASEDIRS=$(JDK_TOPDIR)/src/bsd/doc $(IMPORTDOCDIR)
-MAN1SUBDIR = man
-JA_DIRNAME=ja_JP.UTF-8
-
-# Defines the release targets for Mac OS X build products
-
-JDK_BUNDLE_DIR = $(ABS_OUTPUTDIR)/j2sdk-bundle/jdk$(JDK_VERSION).jdk/Contents
-JRE_BUNDLE_DIR = $(ABS_OUTPUTDIR)/j2re-bundle/jre$(JDK_VERSION).jre/Contents
-
-MACOSX_SRC	 = $(JDK_TOPDIR)/src/macosx
-
-BUNDLE_ID ?= net.java.openjdk
-BUNDLE_ID_JRE ?= $(BUNDLE_ID).jre
-BUNDLE_ID_JDK ?= $(BUNDLE_ID).jdk
-
-BUNDLE_NAME ?= OpenJDK $(JDK_MINOR_VERSION)
-BUNDLE_NAME_JRE ?= $(BUNDLE_NAME)
-BUNDLE_NAME_JDK ?= $(BUNDLE_NAME)
-
-BUNDLE_INFO ?= OpenJDK ($(JDK_VERSION))
-BUNDLE_INFO_JRE ?= $(BUNDLE_INFO)
-BUNDLE_INFO_JDK ?= $(BUNDLE_INFO)
-
-BUNDLE_PLATFORM_VERSION ?= $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION)
-BUNDLE_VERSION ?= $(JDK_VERSION)
-BUNDLE_VENDOR ?= UNDEFINED
-
-jre-bundle-setup:
-	$(RM) -r $(JRE_BUNDLE_DIR)
-
-jdk-bundle-setup:
-	$(RM) -r $(JDK_BUNDLE_DIR)
-
-jre-bundle-files:
-	$(MKDIR) -p $(JRE_BUNDLE_DIR)/MacOS
-	ln -s ../Home/lib/jli/libjli.dylib $(JRE_BUNDLE_DIR)/MacOS/
-	$(CP) -r $(JRE_IMAGE_DIR) $(JRE_BUNDLE_DIR)/Home
-	$(SED) -e "s/@@ID@@/$(BUNDLE_ID_JRE)/g" -e "s/@@NAME@@/$(BUNDLE_NAME_JRE)/g" -e "s/@@INFO@@/$(BUNDLE_INFO_JRE)/g" -e "s/@@PLATFORM_VERSION@@/$(BUNDLE_PLATFORM_VERSION)/g" -e "s/@@VERSION@@/$(BUNDLE_VERSION)/g" -e "s/@@VENDOR@@/$(BUNDLE_VENDOR)/g" < $(MACOSX_SRC)/bundle/JRE-Info.plist > $(JRE_BUNDLE_DIR)/Info.plist
-	/usr/bin/SetFile -a B $(JRE_BUNDLE_DIR)/../
-
-jdk-bundle-files:
-	$(MKDIR) -p $(JDK_BUNDLE_DIR)/MacOS
-	ln -s ../Home/jre/lib/jli/libjli.dylib $(JDK_BUNDLE_DIR)/MacOS/
-	$(CP) -r $(JDK_IMAGE_DIR) $(JDK_BUNDLE_DIR)/Home
-	$(SED) -e "s/@@ID@@/$(BUNDLE_ID_JDK)/g" -e "s/@@NAME@@/$(BUNDLE_NAME_JDK)/g" -e "s/@@INFO@@/$(BUNDLE_INFO_JDK)/g" -e "s/@@PLATFORM_VERSION@@/$(BUNDLE_PLATFORM_VERSION)/g" -e "s/@@VERSION@@/$(BUNDLE_VERSION)/g" -e "s/@@VENDOR@@/$(BUNDLE_VENDOR)/g" < $(MACOSX_SRC)/bundle/JDK-Info.plist > $(JDK_BUNDLE_DIR)/Info.plist
-	/usr/bin/SetFile -a B $(JDK_BUNDLE_DIR)/../
-
-EXTRA_IMAGE_TARGETS += jre-bundle-setup jdk-bundle-setup jre-bundle-files jdk-bundle-files
-
-.PHONY: $(EXTRA_JRE_TARGETS) $(EXTRA_IMAGE_TARGETS)
--- a/jdk/makefiles/common/Release.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1401 +0,0 @@
-#
-# Copyright (c) 1997, 2012, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-include $(JDK_TOPDIR)/makefiles/docs/CORE_PKGS.gmk
-include $(JDK_TOPDIR)/makefiles/docs/NON_CORE_PKGS.gmk
-include $(JDK_TOPDIR)/makefiles/Tools.gmk
-
-# What jdk version are we building
-THIS_JDK_VERSION := $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
-
-#
-# Perform release engineering tasks.
-#
-# images    An image is what the product looks like when it is
-#           installed.
-#
-
-IMAGE_BINDIR = bin
-
-# The compiler should not issue a "Proprietary" warning when compiling
-# classes in the com.sun.java.swing.plaf packages, since we've always
-# allowed, and even advocated, extending them (see bug 6476749).
-#
-# This approach is NOT to be used as a general purpose way to avoid such
-# compiler warnings for non-core packages. The correct way is to document
-# the packages in NON_CORE_PKGS.gmk, and include them in the NON_CORE_PKGS
-# definition.
-#
-# Swing has taken this approach only as a temporary measure to avoid
-# the compiler warnings until we can properly document these packages.
-# This is covered under 6491853.
-EXCLUDE_PROPWARN_PKGS = com.sun.java.swing.plaf.windows  \
-                        com.sun.java.swing.plaf.motif    \
-                        com.sun.java.swing.plaf.gtk
-
-#
-# Include the exported private packages in ct.sym.
-# This is an interim solution until the ct.sym is replaced
-# with a new module system (being discussed for JDK 8).
-#
-EXPORTED_PRIVATE_PKGS = com.sun.servicetag \
-                        com.oracle.net \
-                        com.oracle.nio
-
-# 64-bit solaris has a few special cases. We define the variable
-# SOLARIS64 for use in this Makefile to easily test those cases
-ifeq ($(PLATFORM), solaris)
-  ifeq ($(ARCH_DATA_MODEL), 64)
-    SOLARIS64 = true
-    IMAGE_BINDIR = bin/$(ARCH)
-  endif
-endif
-
-JTG_DOCS            = $(JDK_TOPDIR)/src/solaris/doc
-
-ifeq ($(PLATFORM), macosx)
-  include $(JDK_TOPDIR)/make/common/Release-$(PLATFORM).gmk
-endif
-
-# The base names of all the license and document files for the jdk and jre
-#   (These files get placed in the jdk and jre install images)
-ifdef OPENJDK
-  # Where to find these files
-  SHARE_JDK_DOC_SRC = $(JDK_TOPDIR)
-  SHARE_JRE_DOC_SRC = $(JDK_TOPDIR)
-  # Same files for jdk and jre, no name changes
-  IMAGE_DOCLIST_JDK = LICENSE ASSEMBLY_EXCEPTION THIRD_PARTY_README
-  IMAGE_DOCLIST_JDK_DEMOS_AND_SAMPLES =
-  IMAGE_DOCLIST_JRE = LICENSE ASSEMBLY_EXCEPTION THIRD_PARTY_README
-else
-  # make/closed/common/Defs.gmk for closed location of SHARE_JDK_DOC_SRC
-
-  IMAGE_DOCLIST_JDK = COPYRIGHT README.html  LICENSE THIRDPARTYLICENSEREADME.txt
-  IMAGE_DOCLIST_JDK_DEMOS_AND_SAMPLES = demo/DEMOS_LICENSE sample/SAMPLES_LICENSE
-  IMAGE_DOCLIST_JRE = COPYRIGHT Welcome.html LICENSE THIRDPARTYLICENSEREADME.txt
-  ifeq ($(PLATFORM), windows)
-    IMAGE_DOCLIST_JRE += README.txt
-  else
-    IMAGE_DOCLIST_JRE += README
-  endif
-endif
-
-# Paths to these files we need
-JDK_DOCFILES   = $(IMAGE_DOCLIST_JDK:%=$(JDK_IMAGE_DIR)/%)
-JRE_DOCFILES   = $(IMAGE_DOCLIST_JRE:%=$(JRE_IMAGE_DIR)/%)
-JDK_DEMOS_AND_SAMPLES_DOCFILES = $(IMAGE_DOCLIST_JDK_DEMOS_AND_SAMPLES:%=$(JDK_IMAGE_DIR)/%)
-
-# absolute directory names: note, these must exist prior to build
-# time - they are created in the main Makefile.
-JRE_IMAGE_BINDIR   = $(JRE_IMAGE_DIR)/bin
-
-MAINMANIFEST  = $(JDK_TOPDIR)/make/tools/manifest.mf
-BEANMANIFEST  = $(JDK_TOPDIR)/make/javax/swing/beaninfo/manifest
-
-#
-# Man pages
-#
-
-JRE_MAN_PAGES =         \
-	java.1		\
-	keytool.1	\
-	orbd.1          \
-	pack200.1	\
-	policytool.1    \
-	rmid.1		\
-	rmiregistry.1	\
-	servertool.1    \
-	tnameserv.1     \
-	unpack200.1
-
-ifndef OPENJDK
-  JRE_MAN_PAGES += javaws.1
-endif
-
-JDK_MAN_PAGES =            \
-	$(JRE_MAN_PAGES)   \
-	appletviewer.1     \
-	extcheck.1         \
-	idlj.1             \
-	jar.1              \
-	jarsigner.1        \
-	javac.1            \
-	javadoc.1          \
-	javah.1            \
-	javap.1            \
-	jconsole.1         \
-	jdb.1              \
-	jhat.1             \
-        jinfo.1            \
-        jmap.1             \
-        jps.1              \
-	jrunscript.1       \
-        jsadebugd.1        \
-        jstack.1           \
-        jstat.1            \
-        jstatd.1           \
-	native2ascii.1     \
-	rmic.1             \
-        schemagen.1        \
-	serialver.1        \
-        wsgen.1            \
-        wsimport.1         \
-        xjc.1
-
-ifeq ($(PLATFORM), solaris)
-  MANBASEDIRS=$(JDK_TOPDIR)/src/solaris/doc $(IMPORTDOCDIR)
-  MAN1SUBDIR=sun/man/man1
-endif # solaris
-
-ifeq ($(PLATFORM), linux)
-  MANBASEDIRS=$(JDK_TOPDIR)/src/linux/doc $(IMPORTDOCDIR)
-  MAN1SUBDIR=man
-  JA_DIRNAME=ja_JP.UTF-8
-endif # linux
-
-define copy-man-pages
-$(MKDIR) -p $1/man/man1
-for manbase in $(MANBASEDIRS:%=%/$(MAN1SUBDIR)) ; do \
-  for manpage in $2; do \
-    if [ -f $${manbase}/$${manpage} ] ; then \
-      $(CP) $${manbase}/$${manpage} $1/man/man1 ; \
-      for ja_encoding in $(JA_TARGET_ENCODINGS); do \
-        ja_dir="ja"; \
-        if [ "$${ja_encoding}" != "$(JA_SOURCE_ENCODING)" ]; then \
-          ja_dir="ja_JP.$${ja_encoding}"; \
-	fi; \
-        $(MKDIR) -p $1/man/$${ja_dir}/man1; \
-        $(CAT) $${manbase}/ja/$${manpage} \
-          | $(NATIVE2ASCII) -encoding $(JA_SOURCE_ENCODING) \
-          | $(SED) 's/@@VERSION@@/$(THIS_JDK_VERSION)/g' \
-          | $(NATIVE2ASCII) -reverse -encoding $${ja_encoding} \
-            > $1/man/$${ja_dir}/man1/$${manpage}; \
-      done; \
-    fi; \
-  done; \
-done
-$(java-vm-cleanup)
-if [ "$(JA_DIRNAME)" != "" ] ; then \
-  $(CD) $1/man && $(RM) ja && $(LN) -s $(JA_DIRNAME) ja; \
-fi
-endef
-
-
-# no compression unless requested
-ifndef COMPRESS_JARS
-  CREATE_JAR_OPTS = c0mf
-  CREATE_JAR_OPTS_NOMANIFEST = c0f
-else
-  CREATE_JAR_OPTS = cmf
-  CREATE_JAR_OPTS_NOMANIFEST = cf
-endif
-
-#
-# Targets.
-#
-INITIAL_IMAGE_JRE=initial-image-jre
-INITIAL_IMAGE_JDK=initial-image-jdk
-ifeq ($(PLATFORM), solaris)
-  ifeq ($(ARCH_DATA_MODEL), 64)
-    INITIAL_IMAGE_JRE=initial-image-jre-sol64
-    INITIAL_IMAGE_JDK=initial-image-jdk-sol64
-  endif
-endif
-
-images images-clobber \
-initial-image-jre initial-image-jdk \
-initial-image-jre-sol64 initial-image-jdk-sol64 \
-trim-image-jre trim-image-jdk \
-identify-image-jre identify-image-jdk \
-process-image-jre process-image-jdk \
-sec-files sec-files-win jgss-files ::
-	$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
-
-install: images
-
-# Order is important here, trim jre after jdk image is created
-ifeq ($(PLATFORM), macosx)
-
-images:: $(INITIAL_IMAGE_JRE) $(EXTRA_JRE_TARGETS) $(INITIAL_IMAGE_JDK) \
-	 trim-image-jre trim-image-jdk \
-     identify-image-jre identify-image-jdk \
-	 process-image-jre process-image-jdk sec-files sec-files-win jgss-files \
-	 $(EXTRA_IMAGE_TARGETS)
-else
-
-images:: $(INITIAL_IMAGE_JRE) $(INITIAL_IMAGE_JDK) \
-	 trim-image-jre trim-image-jdk \
-         identify-image-jre identify-image-jdk \
-	 process-image-jre process-image-jdk sec-files sec-files-win jgss-files 
-endif
-
-# Don't use these
-image-jre:: initial-image-jre trim-image-jre identify-image-jre process-image-jre
-image-jdk:: initial-image-jdk trim-image-jdk identify-image-jdk process-image-jdk
-
-#
-# Sources we ship in the SDK.
-#
-SOURCES = \
-	java/applet			\
-	java/awt			\
-	java/beans			\
-	java/io				\
-	java/lang			\
-	java/math			\
-	java/net			\
-	java/nio			\
-	java/rmi			\
-	java/security			\
-	java/sql			\
-	java/text			\
-	java/util			\
-	com/sun/corba			\
-	com/sun/image/codec/jpeg	\
-	com/sun/imageio                 \
-	com/sun/java/swing		\
-	com/sun/javadoc			\
-	com/sun/jmx			\
-	com/sun/source			\
-	com/sun/naming			\
-	com/sun/security/auth		\
-	com/sun/security/jgss		\
-	javax/accessibility		\
-	javax/annotation		\
-	javax/script			\
-	javax/imageio			\
-	javax/lang			\
-	javax/management		\
-	javax/naming			\
-	javax/print			\
-	javax/rmi			\
-	javax/security			\
-	javax/sound			\
-	javax/sql			\
-	javax/swing			\
-	javax/tools			\
-	javax/xml			\
-	com/sun/org/apache		\
-	com/sun/java_cup		\
-	com/sun/jlex	        	\
-	org/ietf			\
-	org/omg				\
-	org/w3c/dom			\
-	org/xml/sax			\
-	sunw
-#
-# Directories where sources may be found.  If a file with the same path
-# name exists in more than one of these places, the one found last on this
-# list wins.
-#
-SOURCE_DIRS = $(SHARE_SRC)/classes $(PLATFORM_SRC)/classes
-SOURCE_DIRS += $(GENSRCDIR)
-SOURCE_DIRS += $(IMPORTSRCDIR)
-SOURCE_DIRS += $(JDK_OUTPUTDIR)/gendocsrc_rmic
-ifndef OPENJDK
-  SOURCE_DIRS += $(CLOSED_SRC)/share/classes
-endif
-
-
-#
-# Specific files and directories that will be filtered out from above areas.
-#
-SOURCE_FILTERs = $(SCM_DIRs) ',*'
-SOURCE_FILES_filter = $(SOURCE_FILTERs:%=-name % -prune -o)
-
-#
-# Bug 4249883 - excluding some unnecessary packages from com.sun.tools
-#
-# Bug 5008685 - exclude jconsole from sun/tools
-#
-TOOLS = \
-	META-INF/services/com.sun.jdi.connect.Connector \
-	META-INF/services/com.sun.jdi.connect.spi.TransportService \
-	sun/tools/asm		\
-	sun/tools/jar		\
-	sun/tools/java		\
-	sun/tools/javac		\
-	sun/tools/jcmd		\
-	sun/tools/jps		\
-	sun/tools/jstat		\
-	sun/tools/jstatd	\
-	sun/tools/native2ascii	\
-	sun/tools/serialver	\
-	sun/tools/tree		\
-	sun/tools/util		\
-	sun/security/tools/JarBASE64Encoder.class \
-	sun/security/tools/JarSigner.class \
-	sun/security/tools/JarSignerParameters.class \
-	sun/security/tools/JarSignerResources.class \
-	sun/security/tools/JarSignerResources_ja.class \
-	sun/security/tools/JarSignerResources_zh_CN.class \
-	sun/security/tools/SignatureFile\$$Block.class \
-	sun/security/tools/SignatureFile.class \
-	sun/security/tools/TimestampedSigner.class \
-	sun/rmi/rmic		\
-	sun/applet		\
-	sun/jvmstat		\
-	com/sun/javadoc		\
-	com/sun/jdi		\
-	com/sun/jarsigner	\
-	com/sun/source          \
-	com/sun/tools/classfile \
-	com/sun/tools/doclets   \
-	com/sun/tools/example/debug/expr \
-	com/sun/tools/example/debug/tty  \
-	com/sun/tools/extcheck  \
-	com/sun/tools/hat       \
-	com/sun/tools/javac     \
-	com/sun/tools/javadoc   \
-	com/sun/tools/javah     \
-	com/sun/tools/javap     \
-	com/sun/tools/corba     \
-	com/sun/tools/internal/xjc       \
-	com/sun/tools/internal/ws       \
-	META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \
-	META-INF/services/com.sun.tools.internal.xjc.Plugin \
-	com/sun/istack/internal/tools       \
-	com/sun/tools/internal/jxc/ap   \
-	com/sun/tools/internal/ws/wscompile/plugin/at_generated \
-        com/sun/codemodel       \
-        com/sun/tools/internal/jxc             \
-        com/sun/xml/internal/rngom       \
-        com/sun/xml/internal/xsom       \
-        org/relaxng/datatype   \
-	com/sun/xml/internal/dtdparser \
-	com/sun/tools/jdi	\
-	com/sun/tools/script/shell	\
-	META-INF/services/com.sun.tools.attach.spi.AttachProvider \
-	com/sun/tools/attach	\
-	sun/tools/attach	\
-	sun/tools/jstack        \
-	sun/tools/jinfo         \
-	sun/tools/jmap
-
-# classes that go into jfr.jar
-JFR_CLASSES_DIRS= \
-	com/oracle/jrockit/jfr \
-	oracle/jrockit/jfr
-
-# classes that go into jsse.jar
-JSSE_CLASSES_DIRS = \
-	sun/security/provider/Sun.class \
-	sun/security/rsa/SunRsaSign.class \
-	sun/security/ssl \
-	com/sun/net/ssl/internal/ssl
-
-# classes that go into dnsns.jar
-DNS_CLASSES_DIRS = \
-        sun/net/spi/nameservice/dns \
-        META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor
-
-# classes and files that go into localedata.jar
-LOCALEDATA_JAR_DIRS = \
-	sun/text/resources/*_ar* \
-	sun/text/resources/*_hi* \
-	sun/text/resources/*_iw* \
-	sun/text/resources/*_iw* \
-	sun/text/resources/*_ja* \
-	sun/text/resources/*_ko* \
-	sun/text/resources/*_th.* \
-	sun/text/resources/*_th_* \
-	sun/text/resources/*_vi* \
-	sun/text/resources/*_zh* \
-	sun/text/resources/*Data_th \
-	sun/text/resources/thai_dict \
-	sun/util/resources/*_ar* \
-	sun/util/resources/*_hi* \
-	sun/util/resources/*_iw* \
-	sun/util/resources/*_iw* \
-	sun/util/resources/*_ja* \
-	sun/util/resources/*_ko* \
-	sun/util/resources/*_th_* \
-	sun/util/resources/*_th.* \
-	sun/util/resources/*_vi* \
-	sun/util/resources/*_zh*
-
-LOCALEDATA_JAR_FILES = $(foreach i,$(LOCALEDATA_JAR_DIRS), $(wildcard $(CLASSBINDIR)/$i))
-
-# files under $(OUTPUTDIR) that need to go into sec-bin.zip for builds
-# where the corresponding sources are not available
-SEC_FILES_DIRS = \
-	classes/javax/net \
-	classes/javax/security/cert \
-	classes/com/sun/net/ssl \
-	classes/com/sun/security/cert \
-	classes/sun/net/www/protocol/https \
-	classes/sun/security/pkcs12 \
-	classes/sun/security/ssl \
-	classes/sun/security/krb5/*.class \
-	classes/sun/security/krb5/internal/*.class \
-	classes/sun/security/krb5/internal/ccache \
-	classes/sun/security/krb5/internal/crypto \
-	classes/sun/security/krb5/internal/ktab \
-	classes/sun/security/krb5/internal/rcache \
-	classes/sun/security/krb5/internal/util \
-	classes/sun/security/jgss/spi/GSSContextSpi.class
-
-# files under $(OUTPUTDIR) that need to go into sec-windows-win.zip for builds
-# where the corresponding sources are not available
-SEC_FILES_WIN_DIRS = \
-	classes/sun/security/krb5/internal/tools
-
-# files under $(BINDIR) that need to go into jgss_files.zip for builds
-# where the corresponding sources are not available
-JGSS_FILES_DIRS = \
-	bin/w2k_lsa_auth.dll \
-	bin/w2k_lsa_auth.map \
-	bin/w2k_lsa_auth.pdb
-
-# The following get removed from the SDK image.
-NOTJDKTOOLS = \
-	java_vm
-
-# The following get removed from the JRE after the bulk-copy of BINDIR...
-NOTJRETOOLS = \
-	appletviewer$(EXE_SUFFIX) \
-	extcheck$(EXE_SUFFIX) \
-	idlj$(EXE_SUFFIX) \
-	jar$(EXE_SUFFIX) \
-	jarsigner$(EXE_SUFFIX) \
-	java-rmi.cgi \
-	javac$(EXE_SUFFIX) \
-	javadoc$(EXE_SUFFIX) \
-	javah$(EXE_SUFFIX) \
-	javap$(EXE_SUFFIX) \
-	jcmd$(EXE_SUFFIX) \
-	jdb$(EXE_SUFFIX) \
-	jps$(EXE_SUFFIX) \
-	jrunscript$(EXE_SUFFIX) \
-	jstat$(EXE_SUFFIX) \
-	jstatd$(EXE_SUFFIX) \
-	jstack$(EXE_SUFFIX) \
-	packagebean$(SCRIPT_SUFFIX) \
-	rmic$(EXE_SUFFIX) \
-	serialver$(EXE_SUFFIX) \
-	unregbean$(EXE_SUFFIX) \
-	jconsole$(EXE_SUFFIX) \
-	jinfo$(EXE_SUFFIX) \
-	jmap$(EXE_SUFFIX) \
-	native2ascii$(EXE_SUFFIX) \
-	xjc$(EXE_SUFFIX) \
-	wsgen$(EXE_SUFFIX) \
-	wsimport$(EXE_SUFFIX) \
-        schemagen$(EXE_SUFFIX) \
-	jsadebugd$(EXE_SUFFIX) \
-	jhat$(EXE_SUFFIX)
-
-# The following get removed from the JRE after the bulk-copy of LIBDIR...
-NOTJRELIBS = tools.jar \
-        jconsole.jar \
-	dt.jar
-
-ifeq ($(INCLUDE_SA), true)
-  NOTJRELIBS += sa-jdi.jar
-
-  # The following get removed from the JRE after the bulk-copy of LIBDIR...
-  NOTJRE_SHARED_LIBS = $(SALIB_NAME)
-else
-  NOTJRE_SHARED_LIBS =
-endif
-
-# Attach library is JDK only
-NOTJRE_SHARED_LIBS += $(LIB_PREFIX)attach.$(LIBRARY_SUFFIX)
-
-#
-###### RULES
-
-# Processing license files from source area to image area
-#    These will be modified to have the platform specific EOL chars.
-define process-doc-file
-$(prep-target)
-$(SED) 's/$$//g' $< > $@
-$(CHMOD) 444 $@
-endef
-
-# JDK files
-$(JDK_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/%
-	$(process-doc-file)
-
-$(JDK_IMAGE_DIR)/demo/DEMOS_LICENSE: $(SHARE_JDK_DOC_SRC)/DEMOS_LICENSE
-	$(process-doc-file)
-
-$(JDK_IMAGE_DIR)/sample/SAMPLES_LICENSE: $(SHARE_JDK_DOC_SRC)/SAMPLES_LICENSE
-	$(process-doc-file)
-
-# JRE files 
-$(JRE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/%
-	$(process-doc-file)
-ifeq ($(PLATFORM), windows)
-$(JRE_IMAGE_DIR)/README.txt: $(SHARE_JRE_DOC_SRC)/README
-	$(process-doc-file)
-endif
-
-
-######################################################
-# List of directories in classes directory that should NOT be in rt.jar
-######################################################
-
-NOT_RT_JAR_LIST = $(IMAGES_OUTPUTDIR)/tmp/not_rt_jar.list
-
-$(NOT_RT_JAR_LIST): FRC
-	$(prep-target)
-	$(ECHO) "#\n" >> $@
-	$(ECHO) "# List of subdirectories not in include in rt.jar" >> $@
-	$(ECHO) "# Directories must contain trailing '/'." >> $@
-	$(ECHO) "com/sun/javadoc/" >> $@
-	$(ECHO) "com/sun/jdi/" >> $@
-	$(ECHO) "com/sun/jarsigner/" >> $@
-	$(ECHO) "com/sun/source/" >> $@
-	$(ECHO) "com/sun/istack/internal/tools/" >> $@
-	$(ECHO) "META-INF/services/com.sun.jdi.connect.Connector" >> $@
-	$(ECHO) "META-INF/services/com.sun.jdi.connect.spi.TransportService" >> $@
-	$(ECHO) "META-INF/services/com.sun.tools.xjc.Plugin" >> $@
-	$(ECHO) "com/sun/tools/" >> $@
-	$(ECHO) "sun/jvmstat/" >> $@
-	$(ECHO) "sun/nio/cs/ext/" >> $@
-	$(ECHO) "sun/awt/HKSCS.class" >> $@
-	$(ECHO) "sun/awt/motif/X11GB2312\$$Decoder.class" >> $@
-	$(ECHO) "sun/awt/motif/X11GB2312\$$Encoder.class" >> $@
-	$(ECHO) "sun/awt/motif/X11GB2312.class" >> $@
-	$(ECHO) "sun/awt/motif/X11GBK\$$Encoder.class" >> $@
-	$(ECHO) "sun/awt/motif/X11GBK.class" >> $@
-	$(ECHO) "sun/awt/motif/X11KSC5601\$$Decoder.class" >> $@
-	$(ECHO) "sun/awt/motif/X11KSC5601\$$Encoder.class" >> $@
-	$(ECHO) "sun/awt/motif/X11KSC5601.class" >> $@
-	$(ECHO) "META-INF/services/java.nio.charset.spi.CharsetProvider" >> $@
-	$(ECHO) "sun/rmi/rmic/" >> $@
-	$(ECHO) "sun/tools/asm/" >> $@
-	$(ECHO) "sun/tools/java/" >> $@
-	$(ECHO) "sun/tools/javac/" >> $@
-	$(ECHO) "com/sun/tools/classfile/" >> $@
-	$(ECHO) "com/sun/tools/javap/" >> $@
-	$(ECHO) "sun/tools/jcmd/" >> $@
-	$(ECHO) "sun/tools/jconsole/" >> $@
-	$(ECHO) "sun/tools/jps/" >> $@
-	$(ECHO) "sun/tools/jstat/" >> $@
-	$(ECHO) "sun/tools/jstatd/" >> $@
-	$(ECHO) "sun/tools/native2ascii/" >> $@
-	$(ECHO) "sun/tools/serialver/" >> $@
-	$(ECHO) "sun/tools/tree/" >> $@
-	$(ECHO) "sun/tools/util/" >> $@
-	$(ECHO) "sun/security/tools/JarBASE64Encoder.class" >> $@
-	$(ECHO) "sun/security/tools/JarSigner.class" >> $@
-	$(ECHO) "sun/security/tools/JarSignerParameters.class" >> $@
-	$(ECHO) "sun/security/tools/JarSignerResources.class" >> $@
-	$(ECHO) "sun/security/tools/JarSignerResources_ja.class" >> $@
-	$(ECHO) "sun/security/tools/JarSignerResources_zh_CN.class" >> $@
-	$(ECHO) "sun/security/tools/SignatureFile\$$Block.class" >> $@
-	$(ECHO) "sun/security/tools/SignatureFile.class" >> $@
-	$(ECHO) "sun/security/tools/TimestampedSigner.class" >> $@
-	$(ECHO) "sun/security/provider/Sun.class" >> $@
-	$(ECHO) "sun/security/rsa/SunRsaSign.class" >> $@
-	$(ECHO) "sun/security/ssl/" >> $@
-	$(ECHO) "sun/security/pkcs11/" >> $@
-	$(ECHO) "sun/security/ec/ECDHKeyAgreement.class" >> $@
-	$(ECHO) "sun/security/ec/ECDSASignature.class" >> $@
-	$(ECHO) "sun/security/ec/ECKeyPairGenerator.class" >> $@
-	$(ECHO) "sun/security/ec/SunEC\$$1.class" >> $@
-	$(ECHO) "sun/security/ec/SunEC.class" >> $@
-	$(ECHO) "sun/security/ec/SunECEntries.class" >> $@
-	$(ECHO) "sun/security/ec/ECDSASignature\$$Raw.class" >> $@
-	$(ECHO) "sun/security/ec/ECDSASignature\$$SHA1.class" >> $@
-	$(ECHO) "sun/security/ec/ECDSASignature\$$SHA256.class" >> $@
-	$(ECHO) "sun/security/ec/ECDSASignature\$$SHA384.class" >> $@
-	$(ECHO) "sun/security/ec/ECDSASignature\$$SHA512.class" >> $@
-	$(ECHO) "com/sun/net/ssl/internal/ssl/" >> $@
-	$(ECHO) "javax/crypto/" >> $@
-	$(ECHO) "sun/security/internal/" >> $@
-	$(ECHO) "com/sun/crypto/provider/" >> $@
-	$(ECHO) "META-INF/services/com.sun.tools.attach.spi.AttachProvider" >> $@
-	$(ECHO) "com/sun/tools/attach/" >> $@
-	$(ECHO) "org/relaxng/datatype/" >> $@
-	$(ECHO) "com/sun/codemodel/" >> $@
-	$(ECHO) "com/sun/xml/internal/dtdparser/" >> $@
-	$(ECHO) "com/sun/xml/internal/rngom/" >> $@
-	$(ECHO) "com/sun/xml/internal/xsom/" >> $@
-	$(ECHO) "com/sun/tools/script/shell/" >> $@
-	$(ECHO) "sun/tools/attach/" >> $@
-	$(ECHO) "sun/tools/jstack/" >> $@
-	$(ECHO) "sun/tools/jinfo/" >> $@
-	$(ECHO) "sun/tools/jmap/" >> $@
-	$(ECHO) "sun/net/spi/nameservice/dns/" >> $@
-	$(ECHO) "META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor" >> $@
-	$(ECHO) "javax/swing/AbstractButtonBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/BoxBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JAppletBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JButtonBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JCheckBoxBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JCheckBoxMenuItemBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JColorChooserBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JComboBoxBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JComponentBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JDesktopPaneBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JDialogBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JEditorPaneBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JFileChooserBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JFormattedTextFieldBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JFrameBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JInternalFrameBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JLabelBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JLayeredPaneBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JListBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JMenuBarBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JMenuBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JMenuItemBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JOptionPaneBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JPanelBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JPasswordFieldBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JPopupMenuBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JProgressBarBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JRadioButtonBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JRadioButtonMenuItemBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JScrollBarBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JScrollPaneBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JSeparatorBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JSliderBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JSpinnerBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JSplitPaneBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JTabbedPaneBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JTableBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JTextAreaBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JTextFieldBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JTextPaneBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JToggleButtonBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JToolBarBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JTreeBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JWindowBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/SwingBeanInfoBase.class" >> $@
-	$(ECHO) "javax/swing/text/JTextComponentBeanInfo.class" >> $@
-	$(ECHO) "sun/swing/BeanInfoUtils.class" >> $@
-	$(ECHO) $(patsubst $(CLASSBINDIR)/%,%,$(LOCALEDATA_JAR_FILES)) | $(TR) " " "\n" >> $@
-ifndef OPENJDK
-ifndef JAVASE_EMBEDDED
-	$(ECHO) "com/oracle/jrockit/jfr/" >> $@
-	$(ECHO) "com/oracle/jrockit/jfr/client/" >> $@
-	$(ECHO) "com/oracle/jrockit/jfr/management/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/events/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/openmbean/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/parser/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/settings/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/tools/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/util/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/util/log/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/util/os/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/util/text/" >> $@
-endif
-endif
-	(cd $(JDK_OUTPUTDIR)/classes && $(FIND) . -name "_the.*") >> $@
-ifeq ($(PLATFORM), macosx)
-	$(ECHO) "com/sun/nio/sctp/" >> $@
-	$(ECHO) "sun/nio/ch/sctp/" >> $@
-	$(ECHO) "sun/jdbc/" >> $@
-	$(ECHO) "sun/nio/ch/DevPollArrayWrapper\$$Updator.class" >> $@
-	$(ECHO) "sun/nio/ch/DevPollArrayWrapper.class" >> $@
-	$(ECHO) "sun/nio/ch/DevPollSelectorImpl.class" >> $@
-	$(ECHO) "sun/nio/ch/DevPollSelectorProvider.class" >> $@
-	$(ECHO) "sun/nio/ch/EPollArrayWrapper\$$Updator.class" >> $@
-	$(ECHO) "sun/nio/ch/EPollArrayWrapper.class" >> $@
-	$(ECHO) "sun/nio/ch/EPollSelectorImpl.class" >> $@
-	$(ECHO) "sun/nio/ch/EPollSelectorProvider.class" >> $@
-endif
-
-######################################################
-# List of directories in classes directory that should NOT be in resources.jar
-######################################################
-
-NOT_RESOURCES_JAR_LIST = $(IMAGES_OUTPUTDIR)/tmp/not_resources_jar.list
-
-$(NOT_RESOURCES_JAR_LIST): FRC
-	$(prep-target)
-	$(ECHO) "#\n" >> $@
-	$(ECHO) "# List of subdirectories not in include in resources.jar" >> $@
-	$(ECHO) "# Directories must contain trailing '/'." >> $@
-	$(ECHO) "javax/swing/beaninfo/" >> $@
-
-TOTAL_JAR_EXCLUDE_LIST = $(IMAGES_OUTPUTDIR)/tmp/total_jar_exclude.list
-
-######################################################
-# Total exclude list
-######################################################
-
-$(TOTAL_JAR_EXCLUDE_LIST): $(NOT_RT_JAR_LIST) $(NOT_RESOURCES_JAR_LIST)
-	$(prep-target)
-	$(ECHO) "#\n" >> $@
-	$(ECHO) "# List of subdirectories not in include in resources.jar" >> $@	
-	$(CAT) $(NOT_RT_JAR_LIST) >>$@
-	$(CAT) $(NOT_RESOURCES_JAR_LIST) >>$@ 
-
-# File order list for rt.jar
-#     - sun.applet is included, till hotjava stops relying on it.
-#     - sun.tools.jar is included, needs cleanup.
-#
-REORDER_TEMPDIR=$(IMAGES_OUTPUTDIR)/tmp/reorder
-TOTAL_JAR_FILELIST=$(REORDER_TEMPDIR)/file_list
-
-JARFILELISTS_TEMPDIR=$(IMAGES_OUTPUTDIR)/tmp/jarfilelists
-RT_JAR_FILELIST=$(JARFILELISTS_TEMPDIR)/rt_jar_list
-RES_JAR_FILELIST=$(JARFILELISTS_TEMPDIR)/resources_jar_list
-
-$(TOTAL_JAR_FILELIST): $(BUILD_TOOLS) $(TOTAL_JAR_EXCLUDE_LIST)
-	$(prep-target)
-	$(RM) $@.temp
-	($(CD) $(CLASSBINDIR) && \
-	    $(TOOL_JARREORDER) \
-		-o  $@.temp $(ABS_LIBDIR)/classlist $(TOTAL_JAR_EXCLUDE_LIST) . )
-	$(MV) $@.temp $@
-	($(CD) $(CLASSBINDIR) && $(java-vm-cleanup))
-
-# Create the jfr.jar containing Java Flight Recorder implementation
-JFR_JAR=
-ifndef OPENJDK
-ifndef JAVASE_EMBEDDED
-JFR_JAR=$(ABS_TEMPDIR)/jfr-orig.jar
-$(JFR_JAR): $(OTHER_JAR_MANIFEST_FILE)
-	$(prep-target)
-	$(CD) $(CLASSBINDIR) && \
-	    $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(OTHER_JAR_MANIFEST_FILE) $@ \
-		$(JFR_CLASSES_DIRS) $(BOOT_JAR_JFLAGS)
-	@$(CD) $(CLASSBINDIR) && $(java-vm-cleanup)
-endif
-endif
-
-# Create the rt.jar file list & non-class files list
-
-$(RT_JAR_FILELIST) + $(RES_JAR_FILELIST): \
-    $(TOTAL_JAR_FILELIST) $(BUILD_TOOLS)
-	$(RM) $(RT_JAR_FILELIST) $(RES_JAR_FILELIST)
-	$(MKDIR) -p $(JARFILELISTS_TEMPDIR)
-	$(TOOL_JARSPLIT) \
-		$(TOTAL_JAR_FILELIST) \
-		-o  $(RT_JAR_FILELIST) $(RES_JAR_FILELIST)
-	$(java-vm-cleanup)
-
-# Create the manifest file.
-RT_JAR_MANIFEST_FILE=$(IMAGES_OUTPUTDIR)/tmp/rt_manifest.tmp
-$(RT_JAR_MANIFEST_FILE): $(MAINMANIFEST) $(BEANMANIFEST)
-	$(prep-target)
-	$(SED) -e "s#@@RELEASE@@#$(RELEASE)#" 		\
-	       -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \
-	       $(MAINMANIFEST) >> $@
-	$(ECHO) >> $@
-	$(CAT) $(BEANMANIFEST) >> $@
-
-OTHER_JAR_MANIFEST_FILE=$(IMAGES_OUTPUTDIR)/tmp/other_manifest.tmp
-$(OTHER_JAR_MANIFEST_FILE): $(MAINMANIFEST)
-	$(prep-target)
-	$(SED) -e "s#@@RELEASE@@#$(RELEASE)#" 		\
-	       -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \
-	       $(MAINMANIFEST) >> $@
-
-# Create resources.jar containing non-class files
-RESOURCES_JAR=$(IMAGES_OUTPUTDIR)/tmp/resources-orig.jar
-$(RESOURCES_JAR): $(RES_JAR_FILELIST) $(OTHER_JAR_MANIFEST_FILE)
-	$(prep-target)
-	$(CD) $(CLASSBINDIR) && \
-	    $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(OTHER_JAR_MANIFEST_FILE) $@ \
-	        @$(RES_JAR_FILELIST) $(BOOT_JAR_JFLAGS)
-	$(CD) $(CLASSBINDIR) && $(java-vm-cleanup)
-
-# Create jsse.jar containing SunJSSE implementation classes
-JSSE_JAR=$(IMAGES_OUTPUTDIR)/tmp/jsse-orig.jar
-$(JSSE_JAR): $(OTHER_JAR_MANIFEST_FILE)
-	$(prep-target)
-	$(CD) $(CLASSBINDIR) && \
-	    $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(OTHER_JAR_MANIFEST_FILE) $@ \
-		$(JSSE_CLASSES_DIRS) $(BOOT_JAR_JFLAGS)
-	@$(CD) $(CLASSBINDIR) && $(java-vm-cleanup)
-
-# Create dnsns.jar 
-# Create without manifest for now to not differ with old buildsystem.
-DNS_JAR=$(IMAGES_OUTPUTDIR)/tmp/dns-orig.jar
-$(DNS_JAR): $(OTHER_JAR_MANIFEST_FILE)
-	$(prep-target)
-	$(CD) $(CLASSBINDIR) && \
-	    $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS_NOMANIFEST) $@ \
-		$(DNS_CLASSES_DIRS) $(BOOT_JAR_JFLAGS)
-	@$(CD) $(CLASSBINDIR) && $(java-vm-cleanup)
-
-# Create localedata.jar containing localedata for non european languages
-LOCALEDATA_JAR=$(IMAGES_OUTPUTDIR)/localedata-orig.jar
-$(LOCALEDATA_JAR): $(LOCALEDATA_JAR_FILES)
-	$(prep-target)
-# Create without manifest for now to not differ with old buildsystem.
-#	$(CD) $(CLASSBINDIR) && \
-#	    $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(OTHER_JAR_MANIFEST_FILE) $@ \
-#	        $(LOCALEDATA_JAR_DIRS) $(BOOT_JAR_JFLAGS)
-	$(CD) $(CLASSBINDIR) && \
-	    $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS_NOMANIFEST) $@ \
-	        $(LOCALEDATA_JAR_DIRS) $(BOOT_JAR_JFLAGS)
-	$(CD) $(CLASSBINDIR) && $(java-vm-cleanup)
-
-# Create sec-bin.zip
-SEC_FILES_ZIP=$(IMAGES_OUTPUTDIR)/tmp/sec-bin.zip
-sec-files::
-	$(prep-target)
-	$(RM) $(SEC_FILES_ZIP)
-	$(CD) $(OUTPUTDIR) && \
-		$(ZIPEXE) -rq9 $(SEC_FILES_ZIP) $(SEC_FILES_DIRS)
-	$(java-vm-cleanup)
-
-# Create sec-windows-bin.zip
-SEC_FILES_WIN_ZIP=$(IMAGES_OUTPUTDIR)/tmp/sec-windows-bin.zip
-sec-files-win::
-ifeq ($(PLATFORM), windows)
-	$(prep-target)
-	$(RM) $(SEC_FILES_WIN_ZIP)
-	$(CD) $(OUTPUTDIR) && \
-		$(ZIPEXE) -rq9 $(SEC_FILES_WIN_ZIP) $(SEC_FILES_WIN_DIRS)
-	$(java-vm-cleanup)
-endif
-
-# Create JGSS files that contains the native Kerberos library
-JGSS_WIN32_FILES_ZIP=$(IMAGES_OUTPUTDIR)/tmp/jgss-windows-i586-bin.zip
-JGSS_WIN64_FILES_ZIP=$(IMAGES_OUTPUTDIR)/tmp/jgss-windows-x64-bin.zip
-jgss-files::
-ifeq ($(PLATFORM), windows)
-	$(prep-target)
-  ifeq ($(ARCH_DATA_MODEL), 32)
-	$(RM) $(JGSS_WIN32_FILES_ZIP)
-	$(CD) $(OUTPUTDIR) && \
-		$(ZIPEXE) -rq9 $(JGSS_WIN32_FILES_ZIP) $(JGSS_FILES_DIRS)
-  else
-	$(RM) $(JGSS_WIN64_FILES_ZIP)
-	$(CD) $(OUTPUTDIR) && \
-		$(ZIPEXE) -rq9 $(JGSS_WIN64_FILES_ZIP) $(JGSS_FILES_DIRS)
-  endif
-	$(java-vm-cleanup)
-endif
-
-# Create rt.jar
-RT_JAR=$(IMAGES_OUTPUTDIR)/tmp/rt-orig.jar
-$(RT_JAR): $(RT_JAR_FILELIST) $(RT_JAR_MANIFEST_FILE)
-	$(prep-target)
-	$(CD) $(CLASSBINDIR) && \
-	    $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(RT_JAR_MANIFEST_FILE) $@ \
-	        @$(RT_JAR_FILELIST) $(BOOT_JAR_JFLAGS)
-	$(CD) $(CLASSBINDIR) && $(java-vm-cleanup)
-
-# SE-Embedded targets if enabled
-include $(JDK_TOPDIR)/makefiles/common/Release-embedded.gmk
-
-
-######################################################
-# JRE Image
-######################################################
-
-initial-image-jre-setup:
-	$(RM) -r $(JRE_IMAGE_DIR)
-	$(MKDIR) -p $(JRE_IMAGE_DIR)
-
-# 64-bit solaris jre image contains only the 64-bit add-on files.
-initial-image-jre-sol64:: initial-image-jre-setup
-	@# Use tar instead of cp to preserve the symbolic links
-	for dir in bin lib ; do \
-	  ( $(CD) $(OUTPUTDIR) && \
-		$(TAR) cf - `$(FIND) $$dir -name '$(ARCH)' -print` | \
-		($(CD) $(JRE_IMAGE_DIR) && $(TAR) xf -) ) ; \
-	done
-	@# Remove some files from the jre area
-	for t in $(NOTJRETOOLS) ; do \
-	    $(RM) $(JRE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \
-	done
-	for l in $(NOTJRELIBS) ; do \
-	    $(RM) $(JRE_IMAGE_DIR)/lib/$$l ; \
-	done
-	$(RM) `$(FIND) $(JRE_IMAGE_DIR)/lib -name 'orb.idl'`
-	$(RM) `$(FIND) $(JRE_IMAGE_DIR)/lib -name 'ir.idl'`
-
-# Construct an initial jre image (initial jdk jre) no trimming or stripping
-# See "initial-image-jdk-setup" for an explanation of the rm of
-# drive names like C:
-initial-image-jre:: initial-image-jre-setup \
-		    $(JRE_DOCFILES) \
-		    $(RT_JAR) $(RESOURCES_JAR) $(JSSE_JAR) $(JFR_JAR) $(DNS_JAR) $(LOCALEDATA_JAR) \
-		    $(BUILD_TOOLS)
-	@# Copy in bin directory
-	$(CD) $(OUTPUTDIR) && $(FIND) bin -depth | $(CPIO) -pdum $(JRE_IMAGE_DIR)
-	@# CTE plugin security change require new empty directory lib/applet
-	$(MKDIR) -p $(JRE_IMAGE_DIR)/lib/applet
-	@# Copy in lib directory
-	$(CD) $(OUTPUTDIR) && $(FIND) lib -depth | $(CPIO) -pdum $(JRE_IMAGE_DIR)
-  ifeq ($(USING_CYGWIN),true)
-	  $(RM) -rf $(JRE_IMAGE_DIR)/[A-Za-z]:
-	  $(RM) -rf $(OUTPUTDIR)/[A-Za-z]:
-  endif
-	@# Make sure all directories are read/execute for everyone
-	$(CHMOD) a+rx `$(FIND) $(JRE_IMAGE_DIR) -type d`
-	@# Remove some files from the jre area
-	for t in $(NOTJRETOOLS) ; do \
-	    $(RM) $(JRE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \
-	done
-	for l in $(NOTJRELIBS) ; do \
-	    $(RM) $(JRE_IMAGE_DIR)/lib/$$l ; \
-	done
-	@# Remove orb.idl and ir.idl from jre
-	$(FIND) $(JRE_IMAGE_DIR)/lib -name 'orb.idl' -exec $(RM) \{} \;
-	$(FIND) $(JRE_IMAGE_DIR)/lib -name 'ir.idl' -exec $(RM) \{} \;
-	@# Copy in rt.jar & resources.jar file
-	$(CP) $(RT_JAR) $(JRE_IMAGE_DIR)/lib/rt.jar
-	$(CP) $(RESOURCES_JAR) $(JRE_IMAGE_DIR)/lib/resources.jar
-	$(CP) $(JSSE_JAR) $(JRE_IMAGE_DIR)/lib/jsse.jar
-ifneq ($(JFR_JAR),)
-	$(CP) $(JFR_JAR) $(JRE_IMAGE_DIR)/lib/jfr.jar
-endif
-	$(CP) $(DNS_JAR) $(JRE_IMAGE_DIR)/lib/ext/dnsns.jar
-	$(CP) $(LOCALEDATA_JAR) $(JRE_IMAGE_DIR)/lib/ext/localedata.jar
-	@# Generate meta-index to make boot and extension class loaders lazier
-	$(CD) $(JRE_IMAGE_DIR)/lib && \
-	    $(TOOL_BUILDMETAINDEX) \
-		-o meta-index *.jar
-	$(CD) $(JRE_IMAGE_DIR)/lib && $(java-vm-cleanup)
-	$(CD) $(JRE_IMAGE_DIR)/lib/ext && \
-	    $(TOOL_BUILDMETAINDEX) \
-		-o meta-index *.jar
-	$(CD) $(JRE_IMAGE_DIR)/lib/ext && $(java-vm-cleanup)
-ifeq ($(PLATFORM), macosx)
-	@#install jobjc, apple mac only
-	$(CP) $(OUTPUTDIR)/JObjC.build/JObjC.jar $(JRE_IMAGE_DIR)/lib/JObjC.jar
-endif
-ifeq ($(PLATFORM), windows)
-	@# Remove certain *.lib files
-	$(CD) $(JRE_IMAGE_DIR)/lib && \
-            $(RM) java.$(LIB_SUFFIX) jvm.$(LIB_SUFFIX) \
-                  awt.$(LIB_SUFFIX) jawt.$(LIB_SUFFIX)
-  ifeq ($(ARCH_DATA_MODEL), 32)
-	@# The Java Kernel JRE image ships with a special VM.  It is not included
-	@# in the full JRE image, so remove it.  Also, is it only for 32-bit windows.
-	$(CD) $(JRE_IMAGE_DIR)/bin && $(RM) -r kernel
-  endif
-endif # Windows
-ifneq ($(PLATFORM), windows)
-	$(call copy-man-pages,$(JRE_IMAGE_DIR),$(JRE_MAN_PAGES))
-endif # !windows
-
-# Trim out any extra files not for the jre shipment but wanted in the jdk jre.
-#   (Note the jdk WILL want the jre image before this trimming)
-#   Removes server VM on Windows 32bit.
-#   Remove certain shared libraries that should not be in the jre image
-#      but should be in the jdk jre image.
-trim-image-jre::
-	@# Clean out all _the. files.
-	$(FIND) $(JRE_IMAGE_DIR) -name "_the.*" $(FIND_DELETE)
-ifeq ($(PLATFORM), windows)
-  ifeq ($(ARCH_DATA_MODEL), 32)
-	$(RM) -r $(JRE_IMAGE_DIR)/bin/server
-  endif
-  ifdef NOTJRE_SHARED_LIBS
-	for l in $(NOTJRE_SHARED_LIBS) ; do \
-	    $(RM) $(JRE_IMAGE_DIR)/bin/$$l ; \
-	done ;
-  endif
-else # PLATFORM
-  ifdef NOTJRE_SHARED_LIBS
-	for l in $(NOTJRE_SHARED_LIBS) ; do \
-	    $(RM) $(JRE_IMAGE_DIR)/lib/$(LIBARCH)/$$l ; \
-	done ;
-  endif
-endif # PLATFORM
-
-# Get list of all binary (COFF or Elf) files in the jre
-JRE_BIN_LIST=$(TEMPDIR)/jre-bin-files.list
-$(JRE_BIN_LIST):
-	$(RM) $@
-ifeq ($(PLATFORM), windows)
-	$(FIND) $(JRE_IMAGE_DIR)/bin -type f -name \*.exe \
-	   -o -name \*.dll | $(EGREP) -v -i "$(MSVCRNN_DLL)" > $@
-else
-	$(FIND) $(JRE_IMAGE_DIR)/lib -type f -name \*.$(LIB_SUFFIX) >> $@
-	$(FILE) `$(FIND) $(JRE_IMAGE_DIR)/bin -type f -name \*$(EXE_SUFFIX)` \
-	    | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
-endif
-
-# Post process the image (strips and mcs on Elf files we are shipping)
-#   (Note the jdk WILL want the jre image before this processing)
-process-image-jre:: $(JRE_BIN_LIST)
-ifneq ($(POST_STRIP_PROCESS), )
-	@for f in `$(CAT) $(JRE_BIN_LIST)`; do \
-	  $(CHMOD) u+w $${f}; \
-	  $(ECHO) $(POST_STRIP_PROCESS) $${f}; \
-	  $(POST_STRIP_PROCESS) $${f}; \
-	  $(CHMOD) go-w $${f}; \
-	done
-endif
-ifneq ($(POST_MCS_PROCESS), )
-	@for f in `$(CAT) $(JRE_BIN_LIST)`; do \
-	  $(CHMOD) u+w $${f}; \
-	  $(ECHO) $(POST_MCS_PROCESS) $${f}; \
-	  $(POST_MCS_PROCESS) $${f}; \
-	  $(CHMOD) go-w $${f}; \
-	done
-endif
-	@for f in `$(CAT) $(JRE_BIN_LIST)`; do \
-	  $(call binary_file_verification,$${f}); \
-	done
-	$(RM) $(JRE_BIN_LIST)
-
-######################################################
-# JDK Image
-######################################################
-# Note: cpio ($(CPIO)) sometimes leaves directories without rx access.
-
-# REMIND: the $(RM) calls for patterns like c:, d: following $(CPIO)
-# are because the 1.7.x versions of cygwin's cpio command drops these
-# in the working directory if the output path begins with that pattern
-# The one for the output jre subdirectory gets there because cpio sees its
-# own dropping in the input jre subdirectory. Need to remove both of these.
-# We can remove these RM's if someone figures out how to stop cpio from
-# leaving these there.
-# Note that its a real problem not because this directory can end up in the
-# bundle (I think it won't since it not in bin or lib and those are the
-# only places from which we copy everything), but because the presence
-# of this file causes cygwin's find to bomb out, thus breaking the build
-# in "install".
-initial-image-jdk-setup:
-	$(RM) -r $(JDK_IMAGE_DIR)
-	$(MKDIR) -p $(JDK_IMAGE_DIR)/jre
-	($(CD) $(JRE_IMAGE_DIR) && $(FIND) . -depth -print \
-	      | $(CPIO) -pdum $(JDK_IMAGE_DIR)/jre )
-  ifeq ($(USING_CYGWIN),true)
-	  $(RM) -rf $(JRE_IMAGE_DIR)/[A-Za-z]:
-	  $(RM) -rf $(JDK_IMAGE_DIR)/jre/[A-Za-z]:
-  endif
-	$(RM) -rf $(JDK_IMAGE_DIR)/jre/man
-	$(CHMOD) a+rx `$(FIND) $(JDK_IMAGE_DIR) -type d`
-
-initial-image-jdk64-bindemos:
-	for dir in bin demo ; do \
-	  ( $(CD) $(OUTPUTDIR) && \
-		$(TAR) cf - `$(FIND) $$dir -name '$(LIBARCH)' -print` | \
-		($(CD) $(JDK_IMAGE_DIR) && $(TAR) xf -) ) ; \
-        done
-
-# Solaris 64 bit image is special
-initial-image-jdk-sol64:: initial-image-jdk-setup \
-			  initial-image-jdk64-bindemos
-
-# DB files to add
-ifdef OPENJDK
-
-initial-image-jdk-db:
-
-else
-
-# Create the list of db *.zip files to bundle with jdk
-ABS_DB_PATH  :=$(call FullPath,$(CLOSED_SHARE_SRC)/db)
-DB_ZIP_LIST := $(shell $(LS) $(ABS_DB_PATH)/*.zip 2>/dev/null)
-# Can't have : in these file names as they are used in a rule
-# below.
-ifdef USING_CYGWIN
-    DB_ZIP_LIST:=$(shell $(CYGPATH) -a -u $(DB_ZIP_LIST))
-endif
-
-# Java DB image. Move the Java DB demo directory into the JDK's demo
-# dir and in the process, rename it to db.  Also remove index.html,
-# since it presumes docs are co-located. Also remove register.html (no
-# longer relevant).
-initial-image-jdk-db: $(DB_ZIP_LIST)
-	$(MKDIR) -p $(JDK_IMAGE_DIR)/db
-	for d in $(DB_ZIP_LIST); do \
-          ($(CD) $(JDK_IMAGE_DIR)/db && $(UNZIP) -o $$d); \
-	done
-	$(CP) $(ABS_DB_PATH)/README-JDK.html $(JDK_IMAGE_DIR)/db
-ifndef NO_DEMOS
-	$(RM) -rf $(NEWDEMODIR)/db
-	$(MV) $(JDK_IMAGE_DIR)/db/demo $(NEWDEMODIR)/db
-	$(CP) $(ABS_DB_PATH)/README-JDK-DEMOS.html $(NEWDEMODIR)/db/
-else
-	$(RM) -rf $(JDK_IMAGE_DIR)/db/demo
-endif
-	$(RM) $(JDK_IMAGE_DIR)/db/index.html $(JDK_IMAGE_DIR)/db/register.html
-endif
-
-# The launcher source files we need for src.zip
-FILES_launcher = $(wildcard $(SHARE_SRC)/bin/*) \
-                 $(wildcard $(PLATFORM_SRC)/bin/java_md*)
-
-# Standard jdk image
-initial-image-jdk:: initial-image-jdk-setup \
-		    initial-image-jdk-db \
-		    $(JDK_DOCFILES) \
-		    $(JDK_DEMOS_AND_SAMPLES_DOCFILES)
-	$(MKDIR) $(JDK_IMAGE_DIR)/lib
-	@#
-	@# Copy in the jars in lib that only belong in the JDK
-	@#
-	for l in $(NOTJRELIBS); do \
-	    if [ -r $(LIBDIR)/$$l ]; then \
-	        $(CP) $(LIBDIR)/$$l $(JDK_IMAGE_DIR)/lib; \
-	    fi; \
-	done
-  ifeq ($(PLATFORM), windows)
-	@#
-	@# lib/
-	@#
-	$(CP) $(LIBDIR)/$(LIB_PREFIX)jvm.$(LIB_SUFFIX) $(JDK_IMAGE_DIR)/lib
-	$(CP) $(LIBDIR)/$(LIB_PREFIX)jawt.$(LIB_SUFFIX) $(JDK_IMAGE_DIR)/lib
-	@#
-	@# bin/
-	@#
-	@# copy all EXE files and only certain DLL files from BINDIR
-	$(MKDIR) -p $(JDK_IMAGE_DIR)/bin
-	$(CP) $(BINDIR)/*$(EXE_SUFFIX) $(JDK_IMAGE_DIR)/bin
-	$(CP) $(BINDIR)/jli.$(LIBRARY_SUFFIX) $(JDK_IMAGE_DIR)/bin
-    ifeq ($(COMPILER_VERSION), VS2010)
-	$(CP) $(BINDIR)/msvc*100.$(LIBRARY_SUFFIX) $(JDK_IMAGE_DIR)/bin
-    endif
-  else # PLATFORM
-	@#
-	@# bin/
-	@#
-	($(CD) $(BINDIR)/.. && $(TAR) cf - \
-	    `$(FIND) bin \( -type f -o -type l \) -print `) | \
-	    ($(CD) $(JDK_IMAGE_DIR) && $(TAR) xf -)
-  endif # PLATFORM
-	@#
-	@# lib/tools.jar
-	@#
-	$(MKDIR) -p $(IMAGES_OUTPUTDIR)/lib
-	$(CD) $(CLASSBINDIR) && \
-	    $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS_NOMANIFEST) $(IMAGES_OUTPUTDIR)/lib/tools.jar \
-	        $(TOOLS) $(BOOT_JAR_JFLAGS)
-	$(CD) $(CLASSBINDIR) && $(java-vm-cleanup)
-	$(CP) $(IMAGES_OUTPUTDIR)/lib/tools.jar $(JDK_IMAGE_DIR)/lib/tools.jar
-	@#
-	@# lib/ct.sym
-	@#
-	$(MKDIR) -p $(IMAGES_OUTPUTDIR)/symbols/META-INF/sym
-	$(BOOT_JAVA_CMD) \
-		-Xbootclasspath/p:$(JAVAC_JAR) \
-		-Xbootclasspath/a:$(JDK_OUTPUTDIR)/classes \
-		-jar $(JAVAC_JAR) $(JAVACFLAGS) \
-	    -XDprocess.packages -proc:only \
-	    -processor com.sun.tools.javac.sym.CreateSymbols \
-	    -Acom.sun.tools.javac.sym.Jar=$(RT_JAR) \
-	    -Acom.sun.tools.javac.sym.Dest=$(IMAGES_OUTPUTDIR)/symbols/META-INF/sym/rt.jar \
-	    $(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS) $(EXPORTED_PRIVATE_PKGS)
-	$(BOOT_JAR_CMD) $(CREATE_JAR_OPTS_NOMANIFEST) $(IMAGES_OUTPUTDIR)/lib/ct.sym \
-	    -C $(IMAGES_OUTPUTDIR)/symbols META-INF $(BOOT_JAR_JFLAGS)
-	$(java-vm-cleanup)
-	$(CP) $(IMAGES_OUTPUTDIR)/lib/ct.sym $(JDK_IMAGE_DIR)/lib/ct.sym
-	@#
-	@# CORBA supported orb.idl and ir.idl should be copied to lib
-	@#
-	$(CP) $(LIBDIR)/orb.idl $(JDK_IMAGE_DIR)/lib/orb.idl
-	$(CP) $(LIBDIR)/ir.idl $(JDK_IMAGE_DIR)/lib/ir.idl
-  ifeq ($(PLATFORM), linux)
-	@#
-	@# on Linux copy jexec from jre/lib to /lib
-	@#
-	$(CP) $(LIBDIR)/jexec $(JDK_IMAGE_DIR)/lib/jexec
-  endif # PLATFORM
-	@#
-	@# src.zip
-	@#
-	$(MKDIR) -p $(JDK_IMAGE_DIR)/src
-	@#
-	@# The '*-*' pattern in the find command excludes files named with dashes,
-	@# such as the java.nio templates for generated classes
-	@#
-	@# The Linux 'tar' command cannot handle the huge command line argument
-	@# generated by the more efficient solaris/windows method of copying files.
-	@# So for Linux, make use of the -T option (like Solaris' -I option) of
-	@# obtaining the list of files from a file. MKS tar has no such option.
-
-  ifneq (,$(findstring $(PLATFORM), linux macosx))
-	for d in $(SOURCE_DIRS); do \
-	  $(RM) $(IMAGES_OUTPUTDIR)/tmp/src-files.list; \
-	  ($(CD) $$d &&  \
-	    for sd in $(SOURCES) ; do \
-              if [ -d $$sd ] ; then \
-	        $(FIND) $$sd $(SOURCE_FILES_filter) \
-		        -name '*.java' -print \
-		        >> $(IMAGES_OUTPUTDIR)/tmp/src-files.list ; \
-	      fi; \
-	    done ; \
-	  ) ; \
-	  if [ -f  $(IMAGES_OUTPUTDIR)/tmp/src-files.list ] ; then \
-	    ($(CD) $$d && $(TAR) cf - -T $(IMAGES_OUTPUTDIR)/tmp/src-files.list ) \
-	       | ($(CD) $(JDK_IMAGE_DIR)/src && $(TAR) xf -); \
-	  fi; \
-	done
-  else
-	for d in $(SOURCE_DIRS); do \
-	  $(RM) $(IMAGES_OUTPUTDIR)/tmp/src-files.list; \
-	  ($(CD) $$d && \
-	    for sd in $(SOURCES) ; do \
-              if [ -d $$sd ] ; then \
-	        $(FIND) $$sd $(SOURCE_FILES_filter) \
-		        -name '*.java' -print \
-		        >> $(IMAGES_OUTPUTDIR)/tmp/src-files.list ; \
-	      fi; \
-	    done ; \
-	  ) ; \
-	  if [ -f  $(IMAGES_OUTPUTDIR)/tmp/src-files.list ] ; then \
-	    ($(CD) $$d && $(TAR) cf - `$(CAT) $(IMAGES_OUTPUTDIR)/tmp/src-files.list`) \
-	      | ($(CD) $(JDK_IMAGE_DIR)/src && $(TAR) xf -); \
-	  fi; \
-	done
-  endif
-	$(RM) $(IMAGES_OUTPUTDIR)/tmp/src-files.list
-	$(CHMOD) -R +w $(JDK_IMAGE_DIR)/src
-	$(MKDIR) -p $(JDK_IMAGE_DIR)/src/launcher
-	$(CP) $(FILES_launcher) $(JDK_IMAGE_DIR)/src/launcher
-	$(CD) $(JDK_IMAGE_DIR)/src && $(ZIPEXE) -qr ../src.zip *
-	$(RM) -r $(JDK_IMAGE_DIR)/src
-	@#
-	@# demo, include
-	@#
-ifndef NO_DEMOS
-	mkdir -p $(JDK_IMAGE_DIR)/demo
-	$(CP) -r -f $(NEWDEMODIR)/* $(JDK_IMAGE_DIR)/demo
-	$(FIND) $(JDK_IMAGE_DIR)/demo -name "_the.*" $(FIND_DELETE)
-endif
-ifndef NO_SAMPLES
-	$(CP) -r -f $(SAMPLEDIR) $(JDK_IMAGE_DIR)
-endif
-	$(CP) -r $(INCLUDEDIR) $(JDK_IMAGE_DIR)
-	@#
-	@# Swing BeanInfo generation
-	@#
-	$(CP) $(JDK_OUTPUTDIR)/lib/dt.jar $(JDK_IMAGE_DIR)/lib/dt.jar
-ifneq ($(PLATFORM), windows)
-	$(call copy-man-pages,$(JDK_IMAGE_DIR),$(JDK_MAN_PAGES))
-endif # !windows
-
-# Trim out files we don't want to ship
-trim-image-jdk::
-	@# Clean out all _the. files.
-	$(FIND) $(JDK_IMAGE_DIR) -name "_the.*" $(FIND_DELETE)
-	@# Remove tools that should not be part of SDK.
-	for t in $(NOTJDKTOOLS); do \
-	    $(RM) $(JDK_IMAGE_DIR)/bin/$${t}$(EXE_SUFFIX); \
-	done
-
-# Get list of binary (COFF or Elf) files in the jdk
-JDK_BIN_LIST=$(TEMPDIR)/jdk-bin-files.list
-$(JDK_BIN_LIST):
-ifeq ($(PLATFORM), windows)
-	$(FIND) $(JDK_IMAGE_DIR)/jre/bin -type f -name \*.exe \
-	   -o -name \*.dll | $(EGREP) -v -i "$(MSVCRNN_DLL)" > $@
-	$(FIND) $(JDK_IMAGE_DIR)/bin -type f -name \*.exe \
-	   -o -name \*.dll | $(EGREP) -v -i "$(MSVCRNN_DLL)" >> $@
-else
-	$(RM) $@
-	$(FIND) $(JDK_IMAGE_DIR)/jre/lib -type f -name \*.$(LIB_SUFFIX) >> $@
-	$(FILE) `$(FIND) $(JDK_IMAGE_DIR)/jre/bin -type f -name \*$(EXE_SUFFIX)` \
-	    | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
-	$(FILE) `$(FIND) $(JDK_IMAGE_DIR)/bin -type f -name \*$(EXE_SUFFIX)` \
-	    | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
-endif
-
-# Post process the image (strips and mcs on files we are shipping)
-process-image-jdk:: $(JDK_BIN_LIST)
-ifneq ($(POST_STRIP_PROCESS), )
-	@for f in `$(CAT) $(JDK_BIN_LIST)`; do \
-	  $(CHMOD) u+w $${f}; \
-	  $(ECHO) $(POST_STRIP_PROCESS) $${f}; \
-	  $(POST_STRIP_PROCESS) $${f}; \
-	  $(CHMOD) go-w $${f}; \
-	done
-endif
-ifneq ($(POST_MCS_PROCESS), )
-	@for f in `$(CAT) $(JDK_BIN_LIST)`; do \
-	  $(CHMOD) u+w $${f}; \
-	  $(ECHO) $(POST_MCS_PROCESS) $${f}; \
-	  $(POST_MCS_PROCESS) $${f}; \
-	  $(CHMOD) go-w $${f}; \
-	done
-endif
-	@for f in `$(CAT) $(JDK_BIN_LIST)`; do \
-	  $(call binary_file_verification,$${f}); \
-	done
-	$(RM) $(JDK_BIN_LIST)
-
-###################################################################
-# What did we build
-###################################################################
-
-# The jdk text info file that lives at the root of the install image.
-
-JDK_INFO_FILE = $(JDK_IMAGE_DIR)/release
-JRE_INFO_FILE = $(JRE_IMAGE_DIR)/release
-
-# Common way to emit a line into the release or info file
-define info-file-item # name value
-$(PRINTF) '%s="%s"\n' $1 $2 >> $@
-endef
-
-# Values to emit
-MINIMUM_OS_NAME    := $(REQUIRED_OS_NAME)
-MINIMUM_OS_VERSION := $(REQUIRED_OS_VERSION)
-MINIMUM_OS_ARCH    := $(ARCH)
-ALL_SOURCE_TIPS     = $(shell \
-  if [ -f $(SOURCE_TIPS) ] ; then \
-    $(CAT) $(SOURCE_TIPS) ; \
-  fi)
-
-$(JDK_INFO_FILE): FRC
-	$(prep-target)
-	$(call info-file-item, "JAVA_VERSION", "$(THIS_JDK_VERSION)")
-	$(call info-file-item, "OS_NAME",      "$(MINIMUM_OS_NAME)")
-	$(call info-file-item, "OS_VERSION",   "$(MINIMUM_OS_VERSION)")
-	$(call info-file-item, "OS_ARCH",      "$(MINIMUM_OS_ARCH)")
-	$(call info-file-item, "SOURCE",       "$(ALL_SOURCE_TIPS)")
-
-# Create release file to identify this image
-identify-image-jdk:: $(JDK_INFO_FILE)
-
-$(JRE_INFO_FILE): FRC
-	$(prep-target)
-	$(call info-file-item, "JAVA_VERSION", "$(THIS_JDK_VERSION)")
-	$(call info-file-item, "OS_NAME",      "$(MINIMUM_OS_NAME)")
-	$(call info-file-item, "OS_VERSION",   "$(MINIMUM_OS_VERSION)")
-	$(call info-file-item, "OS_ARCH",      "$(MINIMUM_OS_ARCH)")
-	$(call info-file-item, "SOURCE",       "$(ALL_SOURCE_TIPS)")
-
-# Create release file to identify this image
-identify-image-jre:: $(JRE_INFO_FILE)
-
-images images-clobber::
-	$(ECHO) ">>>Finished making "$@" @ `$(DATE)` ..."
-	$(java-vm-cleanup)
-
-.PHONY: images image-jre image-jdk \
-	initial-image-jre initial-image-jdk \
-	initial-image-jre-sol64 initial-image-jdk-sol64 \
-        initial-image-jdk-setup \
-	initial-image-jdk-db \
-        initial-image-jdk64-bindemos \
-        initial-image-jre-setup \
-	trim-image-jre trim-image-jdk \
-	process-image-jre process-image-jdk \
-	identify-image-jre identify-image-jdk \
-	images-clobber
-
-# Force rule
-FRC:
-
--- a/jdk/makefiles/common/Rules.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,357 +0,0 @@
-#
-# Copyright (c) 1995, 2008, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-#
-# Rules shared by all Java makefiles.
-#
-# Used to apply to source file $<, checks code conventions, issues warnings.
-define check-conventions
-  if [ "$(CONVENTION_WATCH)" = "true" ] ; then \
-    if [ "`$(CAT) -n -v -t $< | $(EGREP) -v '\@\(\#\)' | $(EGREP) '\^[MLI]'`" != "" ] ; then \
-      $(ECHO) "WARNING: File contains tabs, ^M, or ^L characters: $<"; \
-      if [ "$(CONVENTION_DETAILS)" = "true" ] ; then \
-        $(CAT) -n -v -t $< | $(EGREP) -v '\@\(\#\)' | $(EGREP) '\^[MLI]' ; \
-      fi; \
-    fi; \
-  fi
-endef
-
-# Make sure the default rule is all
-rules_default_rule: all
-
-#
-# Directory set up.  (Needed by deploy workspace)
-# 
-$(CLASSDESTDIR) $(CLASSHDRDIR) $(OBJDIR) $(OUTPUTDIR) $(BINDIR) $(LIBDIR) $(LIBDIR)/$(LIBARCH) $(TEMPDIR) $(EXTDIR):
-	$(MKDIR) -p $@ 
-
-#
-# All source tree areas for java/properties files (a few may be closed)
-#
-ifeq ($(PLATFORM), macosx)
-  ifdef OPENJDK
-    ALL_CLASSES_SRC = $(call JavaSrcDirList,,classes)
-  else
-    ALL_CLASSES_SRC = \
-	  $(CLOSED_SHARE_SRC)/classes $(CLOSED_PLATFORM_SRC)/classes \
-	  $(call JavaSrcDirList,,classes)
-  endif
-else
-  ifdef OPENJDK
-    ALL_CLASSES_SRC = $(SHARE_SRC)/classes $(PLATFORM_SRC)/classes
-  else
-    ALL_CLASSES_SRC = \
-	  $(CLOSED_SHARE_SRC)/classes $(CLOSED_PLATFORM_SRC)/classes \
-	  $(SHARE_SRC)/classes $(PLATFORM_SRC)/classes
-  endif
-endif
-
-#
-# If AUTO_FILES_PROPERTIES_DIRS used, automatically find properties files
-#
-ifdef AUTO_FILES_PROPERTIES_DIRS
-  AUTO_FILES_PROPERTIES_FILTERS1  = $(SCM_DIRs) ',*'
-  AUTO_FILES_PROPERTIES_FILTERS1 += $(AUTO_PROPERTIES_PRUNE)
-  FILES_properties_find_filters1 = $(AUTO_FILES_PROPERTIES_FILTERS1:%=-name % -prune -o)
-  FILES_properties_auto1 := \
-     $(shell \
-        for dir in $(ALL_CLASSES_SRC) ; do \
-          if [ -d $$dir ] ; then \
-            ( $(CD) $$dir; \
-              for sdir in $(AUTO_FILES_PROPERTIES_DIRS); do \
-                if [ -d $$sdir ] ; then \
-                  $(FIND) $$sdir $(FILES_properties_find_filters1) \
-                                 -name '*.properties' -print ; \
-                fi ; \
-              done \
-            ); \
-          fi; \
-        done \
-      )
-else
-  FILES_properties_auto1 =
-endif # AUTO_FILES_PROPERTIES_DIRS
-
-# Add any automatically found properties files to the properties file list
-FILES_properties += $(FILES_properties_auto1)
-
-#
-# Get Resources help
-#
-include $(JDK_TOPDIR)/makefiles/common/internal/Resources.gmk
-
-#
-# Compiling .java files.
-#
-
-#
-# Automatically add to FILES_java if AUTO_FILES_JAVA_DIRS is defined
-#
-#    There are two basic types of sources, normal source files and the
-#    generated ones. The Normal sources will be located in:
-#         $(ALL_CLASSES_SRC)
-#    The generated sources, which might show up late to dinner, are at:
-#         $(GENSRCDIR)
-#    and since they could be generated late, we need to be careful that
-#    we look for these sources late and not use the ':=' assignment which
-#    might miss their generation.
-
-ifdef AUTO_FILES_JAVA_DIRS
-  # Filter out these files or directories
-  AUTO_FILES_JAVA_SOURCE_FILTERS1  = $(SCM_DIRs) ',*'
-  AUTO_FILES_JAVA_SOURCE_FILTERS2  = 
-  AUTO_FILES_JAVA_SOURCE_FILTERS1 += $(AUTO_JAVA_PRUNE)
-  AUTO_FILES_JAVA_SOURCE_FILTERS2 += $(AUTO_JAVA_PRUNE)
-
-  # First list is the normal sources that should always be there,
-  #   by using the ':=', which means we do this processing once.
-  FILES_java_find_filters1 = $(AUTO_FILES_JAVA_SOURCE_FILTERS1:%=-name % -prune -o)
-  FILES_java_auto1 := \
-     $(shell \
-        for dir in $(ALL_CLASSES_SRC) ; do \
-          if [ -d $$dir ] ; then \
-            ( $(CD) $$dir; \
-              for sdir in $(AUTO_FILES_JAVA_DIRS); do \
-                if [ -d $$sdir ] ; then \
-                  $(FIND) $$sdir $(FILES_java_find_filters1) \
-                                 -name '*.java' -print ; \
-                fi ; \
-              done \
-            ); \
-          fi; \
-        done \
-      )
-  # Second list is the generated sources that should be rare, but will likely
-  #   show up late and we need to look for them at the last minute, so we
-  #   cannot use the ':=' assigment here. But if this gets expanded multiple
-  #   times, the if tests should make them relatively cheap.
-  FILES_java_find_filters2 = $(AUTO_FILES_JAVA_SOURCE_FILTERS2:%=-name % -prune -o)
-  FILES_java_auto2 = \
-     $(shell \
-        for dir in $(GENSRCDIR); do \
-          if [ -d $$dir ] ; then \
-            ( $(CD) $$dir; \
-              for sdir in $(AUTO_FILES_JAVA_DIRS); do \
-                if [ -d $$sdir ] ; then \
-                  $(FIND) $$sdir $(FILES_java_find_filters2) \
-                                 -name '*.java' -print ; \
-                fi ; \
-              done \
-            ); \
-          fi; \
-        done \
-      )
-else
-  FILES_java_auto1 =
-  FILES_java_auto2 =
-endif
-
-# Add all found java sources to FILES_java macro (if AUTO_FILES_JAVA_DIRS used)
-FILES_java += $(FILES_java_auto1) $(FILES_java_auto2)
-
-# File that will hold java source names that need compiling
-JAVA_SOURCE_LIST=$(TEMPDIR)/.classes.list
-
-# Add a java source to the list
-define add-java-file
-$(ECHO) "$?" >> $(JAVA_SOURCE_LIST)
-$(check-conventions)
-endef
-
-ifdef DEMOS
-$(CLASSDESTDIR)/%.class: $(SOURCEPATH)/%.java
-	$(add-java-file)
-#Redirect zh_HK java files to tmp directory which created from zh_TW
-#$(CLASSDESTDIR)/%_zh_HK.class: $(JDK_L10N_TMP_OUTPUTDIR)/%_zh_HK.java
-#	$(add-java-file)
-else
-
-#
-# Rules for closed files
-#
-# If filenames are duplicated between open/closed workspaces, prefer
-# the closed files.
-#
-# Rule ordering in this Makefile is important: some targets depend
-# on closed files replacing open ones, and thus the closed file rules
-# must be found before the open ones.
-#
-# Don't reorder without consulting teams that depend on this behavior.
-#
-ifndef OPENJDK
-$(CLASSDESTDIR)/%.class: $(CLOSED_PLATFORM_SRC)/classes/%.java
-	$(add-java-file)
-$(CLASSDESTDIR)/%.class: $(CLOSED_SHARE_SRC)/classes/%.java
-	$(add-java-file)
-endif
-
-$(CLASSDESTDIR)/%.class: $(GENSRCDIR)/%.java
-	$(add-java-file)
-
-ifeq ($(PLATFORM), macosx)
-$(CLASSDESTDIR)/%.class: $(JDK_TOPDIR)/src/macosx/classes/%.java
-	$(add-java-file)
-endif
-$(CLASSDESTDIR)/%.class: $(PLATFORM_SRC)/classes/%.java
-	$(add-java-file)
-
-$(CLASSDESTDIR)/%.class: $(SHARE_SRC)/classes/%.java
-	$(add-java-file)
-
-#Redirect zh_HK java files to tmp directory which created from zh_TW
-$(CLASSDESTDIR)/%_zh_HK.class: $(JDK_L10N_TMP_OUTPUTDIR)/%_zh_HK.java
-	$(add-java-file)
-endif
-
-# List of class files needed
-FILES_class = $(FILES_java:%.java=$(CLASSDESTDIR)/%.class)
-
-# Got to include exported files.
-FILES_class += $(FILES_export:%.java=$(CLASSDESTDIR)/%.class)
-
-# Construct list of java sources we need to compile
-source_list_prime:
-	mkdir -p $(TEMPDIR)
-# Note that we slip resources in so that compiled properties files get created:
-$(JAVA_SOURCE_LIST) : source_list_prime resources $(FILES_class)
-	touch $@
-
-.delete.classlist:
-	rm -f $(JAVA_SOURCE_LIST)
-
-# Make sure all newer sources are compiled (in a batch)
-classes : $(CLASSES_INIT) .delete.classlist .compile.classlist
-
-.compile.classlist : $(JAVA_SOURCE_LIST)
-	$(MKDIR) -p $(CLASSDESTDIR)
-	$(RM) $<.filtered
-	$(CAT) $< | $(NAWK) 'length>0' | $(SORT) -u > $<.filtered
-	numfiles=`$(WC) -l < $<.filtered` ; \
-	  if [ $$numfiles -ge 1 ] ; then \
-	    $(ECHO) "# Java sources to be compiled: (listed in file $<)"; \
-	    $(CAT) $<.filtered; \
-	    $(ECHO) "# Running javac: $$numfiles files; in $(CURDIR)"; \
-	    $(ECHO) $(JAVAC_CMD) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$<.filtered; \
-	    $(JAVAC_CMD) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$<.filtered && \
-	    $(ECHO) "# javac finished"; \
-	  fi
-	$(java-vm-cleanup)
-
-clobber clean::
-	rm -f $(JAVA_SOURCE_LIST)
-
-ifndef DONT_CLOBBER_CLASSES
-  ifndef PACKAGE
-    DONT_CLOBBER_CLASSES = true
-  else
-    DONT_CLOBBER_CLASSES = false
-  endif
-endif
-
-packages.clean:
-ifeq ($(DONT_CLOBBER_CLASSES),false)
-  ifdef AUTO_FILES_JAVA_DIRS
-	for sdir in $(AUTO_FILES_JAVA_DIRS); do \
-	  echo "rm -f -r $(CLASSDESTDIR)/$$sdir"; \
-	  rm -f -r $(CLASSDESTDIR)/$$sdir; \
-        done
-  else
-	rm -f -r $(CLASSDESTDIR)/$(PKGDIR)
-  endif
-endif
-
-ifdef DEMOS
-classes.clean:
-	rm -f -r $(DEMODST) $(CLASSDESTDIR)
-else
-classes.clean: packages.clean
-	rm -f $(JAVA_SOURCE_LIST)
-endif
-
-#
-# C and C++ make dependencies
-#
-include $(JDK_TOPDIR)/makefiles/common/internal/NativeCompileRules.gmk
-
-#
-# Running Javah to generate stuff into CClassHeaders.
-#
-
-ifdef FILES_export
-
-CLASSES.export  = $(subst /,.,$(FILES_export:%.java=%))
-CLASSES.export += $(subst /,.,$(FILES_export2:%.java=%))
-CLASSES.export += $(subst /,.,$(FILES_export3:%.java=%))
-CLASSES_export  = $(FILES_export:%.java=$(CLASSDESTDIR)/%.class)
-CLASSES_export += $(FILES_export2:%.java=$(CLASSDESTDIR)/%.class)
-CLASSES_export += $(FILES_export3:%.java=$(CLASSDESTDIR)/%.class)
-
-# Fix when deploy workspace makefiles don't depend on this name
-#CLASSHDR_DOTFILE=$(CLASSHDRDIR)/.classheaders
-
-CLASSHDR_DOTFILE=$(OBJDIR)/.class.headers.$(ARCH)
-
-classheaders: classes $(CLASSHDR_DOTFILE)
-
-$(CLASSHDR_DOTFILE): $(CLASSES_export)
-	$(prep-target)
-	echo "# Running javah:"
-	echo $(UNCYGDRIVE) $(JAVAH_CMD) -d $(CLASSHDRDIR)/ \
-		$(CLASSES.export) $(subst $$,\$$,$(EXPORTED_inner))
-	$(UNCYGDRIVE) $(JAVAH_CMD) -d $(CLASSHDRDIR)/ \
-		$(CLASSES.export) $(subst $$,\$$,$(EXPORTED_inner))
-	$(java-vm-cleanup)
-	touch $@
-
-classheaders.clean:
-	rm -f $(CLASSHDR_DOTFILE)
-	rm -f -r $(CLASSHDRDIR)
-
-else # FILES_export
-
-classheaders: classes
-
-classheaders.clean: 
-
-endif # FILES_export
-
-clean clobber:: classheaders.clean classes.clean .delete.classlist
-
-# 
-# Default dependencies
-#
-
-all: build
-
-build: classheaders
-
-default: all
-
-.PHONY: all build clean clobber \
-        .delete.classlist classes .compile.classlist classes.clean \
-	 classheaders classheaders.clean \
-	 batch_compile
-
--- a/jdk/makefiles/common/Subdirs.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-# Copyright (c) 2010, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Generic makefile for building subdirectories.
-#
-# SUBDIRS variables to specify the subdirectories to build recursively.
-# Makefile has to include Subdirs.gmk AFTER all SUBDIRS variables are
-# defined.
-#
-# This file does not contain any rule.
-#
-# WARNING: This file is shared with other workspaces.
-#          So when it includes other files, it must use JDK_TOPDIR.
-
-#
-# SUBDIRS          subdirs for the base module always get built
-# SUBDIRS_<group>  subdirs for the named group
-#
-# By default, subdirs specified in the SUBDIRS and all SUBDIRS_* 
-# variables will be built.
-#
-# Variables of the currently supported groups are:
-#  SUBDIRS_desktop    
-#  SUBDIRS_management
-#  SUBDIRS_enterprise
-#  SUBDIRS_misc
-#  SUBDIRS_tools
-# 
-# Change to the above list also need to update 
-# make/common/shared/Sanity.gmk.  NOTE: this list is subject
-# to change.
-# 
-# Eventually we want to restructure the make directory
-# according to these grouping (e.g. make/desktop/...) and
-# the SUBDIRS_<group> variables would not be needed.
-# 
-
-# Iterate the subdirectories specified in $1.
-# - cd into each subdir and make them
-
-# Given a SUBDIRS* list (first argument), cd into them and make them
-#   SUBDIRS_MAKEFLAGS      Make settings for a subdir make
-#   SUBDIRS_MAKEFLAGS-$@   Make settings specific to this target
-#
-define subdirs-group-loop
-$(ECHO) "Begin Processing SUBDIRS: $($1)"
-for i in DUMMY $($1) ; do \
-  if [ "$$i" != "DUMMY" ] ; then \
-    $(MAKE) -C $$i $@ $(SUBDIRS_MAKEFLAGS) $(SUBDIRS_MAKEFLAGS-$@) \
-            FULL_VERSION=$(FULL_VERSION) RELEASE=$(RELEASE) || exit 1; \
-  fi ; \
-done
-$(ECHO) "Done Processing SUBDIRS: $($1)"
-endef
-
-# Given a OTHERSUBDIRS list, cd into them and make them (extra loop define)
-#   OTHERSUBDIRS_MAKEFLAGS      Make settings for a subdir make
-define OTHERSUBDIRS-loop
-$(ECHO) "Begin Processing OTHERSUBDIRS: $(OTHERSUBDIRS)"
-for i in DUMMY $(OTHERSUBDIRS) ; do \
-  if [ "$$i" != "DUMMY" ] ; then \
-    $(MAKE) -C $$i $@ $(OTHERSUBDIRS_MAKEFLAGS) \
-            FULL_VERSION=$(FULL_VERSION) RELEASE=$(RELEASE) || exit 1; \
-  fi ; \
-done
-$(ECHO) "Done Processing OTHERSUBDIRS: $(OTHERSUBDIRS)"
-endef
-
-#
-# Iterate the list specified in SUBDIRS_<group> only if
-# SUBDIRS_<group> is set.
-#
-ifdef SUBDIRS_desktop 
-  define subdirs-desktop-loop
-      $(call subdirs-group-loop,SUBDIRS_desktop)
-  endef
-else   
-  define subdirs-desktop-loop
-  endef
-endif   # SUBDIRS_desktop 
-
-ifdef SUBDIRS_enterprise 
-  define subdirs-enterprise-loop
-      $(call subdirs-group-loop,SUBDIRS_enterprise)
-  endef
-else   
-define subdirs-enterprise-loop
-endef
-endif   # SUBDIRS_enterprise 
-
-ifdef SUBDIRS_management 
-  define subdirs-management-loop
-      $(call subdirs-group-loop,SUBDIRS_management)
-  endef
-else   
-  define subdirs-management-loop
-  endef
-endif   # SUBDIRS_management 
-
-ifdef SUBDIRS_misc 
-  define subdirs-misc-loop
-      $(call subdirs-group-loop,SUBDIRS_misc)
-  endef
-else   
-  define subdirs-misc-loop
-  endef
-endif   # SUBDIRS_misc 
-
-ifdef SUBDIRS_tools 
-  define subdirs-tools-loop
-      $(call subdirs-group-loop,SUBDIRS_tools)
-  endef
-else   
-  define subdirs-tools-loop
-  endef
-endif   # SUBDIRS_tools 
-
-#
-# If BUILD_MODULES is not set or it's set to "all",
-# iterate all groups.
-SUBDIRS_all = $(SUBDIRS) $(SUBDIRS_desktop) $(SUBDIRS_enterprise) \
-	      $(SUBDIRS_management) $(SUBDIRS_misc) $(SUBDIRS_tools)
-
-define SUBDIRS-loop
-  $(call subdirs-group-loop,SUBDIRS_all)
-endef
--- a/jdk/makefiles/common/internal/Defs-corba.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-#
-# Copyright (c) 1997, 2007, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-# The specific packages that come from or go to rt.jar and tools.jar
-IMPORT_RT_PACKAGES +=  \
-     org/omg/CORBA \
-     org/omg/CORBA_2_3 \
-     org/omg/CosNaming \
-     org/omg/Dynamic \
-     org/omg/DynamicAny \
-     org/omg/IOP \
-     org/omg/Messaging \
-     org/omg/PortableInterceptor \
-     org/omg/PortableServer \
-     org/omg/SendingContext \
-     org/omg/stub/java/rmi \
-     javax/rmi \
-     javax/rmi/CORBA \
-     javax/activity \
-     javax/transaction \
-     com/sun/corba/se/GiopIDL \
-     com/sun/corba/se/PortableActivationIDL \
-     com/sun/corba/se/impl \
-     com/sun/corba/se/internal \
-     com/sun/corba/se/org/omg/CORBA \
-     com/sun/corba/se/pept \
-     com/sun/corba/se/spi \
-     com/sun/org/omg/CORBA \
-     com/sun/org/omg/SendingContext \
-     com/sun/tools/corba/se/logutil \
-     sun/corba \
-     sun/rmi/rmic/iiop
-
-IMPORT_TOOLS_PACKAGES += \
-     com/sun/tools/corba/se/idl \
-     sun/rmi/rmic/iiop
-
-IMPORT_CORBA_BINARIES += \
-     lib/orb.idl \
-     lib/ir.idl
-
--- a/jdk/makefiles/common/internal/Defs-jaxp.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-#
-# Copyright (c) 1997, 2007, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-# The specific packages that come from or go to rt.jar and tools.jar
-IMPORT_RT_PACKAGES += \
-     org/w3c/dom \
-     org/xml/sax \
-     javax/xml/XMLConstants.class \
-     javax/xml/datatype \
-     javax/xml/namespace \
-     javax/xml/parsers \
-     javax/xml/stream \
-     javax/xml/transform \
-     javax/xml/validation \
-     javax/xml/xpath \
-     com/sun/java_cup \
-     com/sun/org/apache/bcel \
-     com/sun/org/apache/regexp \
-     com/sun/org/apache/xalan \
-     com/sun/org/apache/xerces \
-     com/sun/org/apache/xml/internal/dtm \
-     com/sun/org/apache/xml/internal/res \
-     com/sun/org/apache/xml/internal/resolver \
-     com/sun/org/apache/xml/internal/serialize \
-     com/sun/org/apache/xml/internal/serializer \
-     com/sun/org/apache/xml/internal/utils \
-     com/sun/org/apache/xpath \
-     com/sun/xml/internal/stream
-
-IMPORT_TOOLS_PACKAGES +=
-
--- a/jdk/makefiles/common/internal/Defs-jaxws.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-#
-# Copyright (c) 1997, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-# The specific packages that come from or go to rt.jar and tools.jar
-IMPORT_RT_PACKAGES += \
-     META-INF/mailcap.default \
-     META-INF/mimetypes.default \
-     javax/activation \
-     com/sun/activation \
-     javax/xml/bind \
-     javax/xml/soap \
-     javax/xml/ws \
-     javax/jws \
-     javax/annotation \
-     com/sun/xml/internal/bind \
-     com/sun/xml/internal/fastinfoset \
-     com/sun/xml/internal/messaging \
-     com/sun/xml/internal/org/jvnet \
-     com/sun/xml/internal/txw2 \
-     com/sun/xml/internal/ws \
-     com/sun/xml/internal/stream/buffer
-
-NOT_USED_PACKAGES += \
-     com/sun/tools/internal/txw2
-
-IMPORT_TOOLS_PACKAGES += \
-     com/sun/codemodel \
-     com/sun/istack/internal/tools \
-     com/sun/xml/internal/rngom \
-     com/sun/xml/internal/xsom \
-     com/sun/xml/internal/dtdparser \
-     com/sun/tools/internal/xjc \
-     com/sun/tools/internal/ws \
-     com/sun/tools/internal/jxc \
-     org/relaxng \
-     META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \
-     META-INF/services/com.sun.tools.internal.xjc.Plugin \
-     com/sun/tools/internal/jxc/ap \
-     com/sun/tools/internal/ws/wscompile/plugin/at_generated
-
-
--- a/jdk/makefiles/common/internal/Defs-langtools.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-#
-# Copyright (c) 1997, 2008, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-# The specific packages that come from or go to rt.jar and tools.jar
-
-IMPORT_RT_PACKAGES +=               \
-      javax/annotation/processing   \
-      javax/lang/model              \
-      javax/tools
-
-IMPORT_TOOLS_PACKAGES +=            \
-      com/sun/javadoc               \
-      com/sun/source                \
-      com/sun/tools/classfile       \
-      com/sun/tools/doclets         \
-      com/sun/tools/javac           \
-      com/sun/tools/javadoc         \
-      com/sun/tools/javah           \
-      com/sun/tools/javap
-
--- a/jdk/makefiles/common/internal/ImportComponents.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-#
-# Copyright (c) 1997, 2008, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
--include $(SPEC)
-
-# JDK jars where component classes come from as second choice
-JDK_RT_JAR    = $(JDK_IMPORT_PATH)/jre/lib/rt.jar
-JDK_TOOLS_JAR = $(JDK_IMPORT_PATH)/lib/tools.jar
-JDK_RESOURCES_JAR = $(JDK_IMPORT_PATH)/jre/lib/resources.jar
-
-# The specific packages that come from or go to rt.jar and tools.jar
-#   IF the component deliverables are not available.
-IMPORT_TOOLS_PACKAGES =
-IMPORT_RT_PACKAGES =
-
-# The following will add to IMPORT_TOOLS_PACKAGES and/or IMPORT_RT_PACKAGES
-ifndef LANGTOOLS_DIST
-  include $(BUILDDIR)/common/internal/Defs-langtools.gmk
-endif
-ifndef CORBA_DIST
-  include $(BUILDDIR)/common/internal/Defs-corba.gmk
-endif
-ifndef JAXP_DIST
-  include $(BUILDDIR)/common/internal/Defs-jaxp.gmk
-endif
-ifndef JAXWS_DIST
-  include $(BUILDDIR)/common/internal/Defs-jaxws.gmk
-endif
-
-# Clean up these lists so empty lists are empty
-IMPORT_TOOLS_PACKAGES := $(strip $(IMPORT_TOOLS_PACKAGES))
-IMPORT_RT_PACKAGES    := $(strip $(IMPORT_RT_PACKAGES))
-
-# Relative paths to import component deliverables
-CLASSES_JAR_FILE=lib/classes.jar
-SRC_ZIP_FILE=lib/src.zip
-BIN_ZIP_FILE=lib/bin.zip
-DOC_ZIP_FILE=lib/doc.zip
-
-#################################################################
-# Macros:
-
-# Importing component class files
-define import-one-classes
-if [ "$($1)" != "" ] ; then \
-  $(ECHO) "Importing classes from component $1"; \
-  $(call Unjar,$2,$($1)/$(CLASSES_JAR_FILE),); \
-fi
-endef
-
-# Importing optional component doc files (for man pages?)
-define import-one-docs
-if [ "$($1)" != "" -a -f $($1)/$(DOC_ZIP_FILE) ] ; then \
-  $(ECHO) "Importing docs from component $1"; \
-  $(call Unzipper,$2,$($1)/$(DOC_ZIP_FILE)); \
-fi
-endef
-
-# Importing optional component src files (for jdk src.zip and javadoc)
-define import-one-sources
-if [ "$($1)" != "" ] ; then \
-  $(ECHO) "Importing sources from component $1"; \
-  $(call Unzipper,$2,$($1)/$(SRC_ZIP_FILE)); \
-fi
-endef
-
-# Importing optional component bin files (for install image)
-define import-one-binaries
-if [ "$($1)" != "" -a -f $($1)/$(BIN_ZIP_FILE) ] ; then \
-  $(ECHO) "Importing binaries from component $1"; \
-  $(call Unzipper,$2,$($1)/$(BIN_ZIP_FILE)); \
-fi
-endef
-
-# Unzip zip file $2 into directory $1 (if $2 exists)
-#   Warning: $2 must be absolute path not relative
-define Unzipper
-( \
-  $(MKDIR) -p $1; \
-  ( $(CD) $1 && $(UNZIP) -o $2 > /dev/null ) \
-)
-endef
-
-# Unjar directories $3 from jar file $2 into directory $1 (if $2 exists)
-#   Warning: $2 must be absolute path not relative
-define Unjar
-( \
-  $(MKDIR) -p $1; \
-  ( $(CD) $1 && $(BOOT_JAR_CMD) xf $2 $3 $(BOOT_JAR_JFLAGS) ) && \
-  ( $(CD) $1 && $(java-vm-cleanup) ) \
-)
-endef
-
-# Import all component sources into directory $1
-define import-component-sources
-$(call import-one-sources,LANGTOOLS_DIST,$1)
-$(call import-one-sources,CORBA_DIST,$1)
-$(call import-one-sources,JAXP_DIST,$1)
-$(call import-one-sources,JAXWS_DIST,$1)
-endef
-
-# Import all component docs into directory $1 (optional)
-define import-component-docs
-$(call import-one-docs,LANGTOOLS_DIST,$1)
-$(call import-one-docs,CORBA_DIST,$1)
-$(call import-one-docs,JAXP_DIST,$1)
-$(call import-one-docs,JAXWS_DIST,$1)
-endef
-
-# Import all component bins into directory $1 (optional)
-define import-component-binaries
-$(call import-one-binaries,LANGTOOLS_DIST,$1)
-$(call import-one-binaries,CORBA_DIST,$1)
-$(call import-one-binaries,JAXP_DIST,$1)
-$(call import-one-binaries,JAXWS_DIST,$1)
-if [ "$(CORBA_DIST)" = "" ] ; then \
-  $(MKDIR) -p $(OUTPUTDIR)/lib ; \
-  ( $(CD) $(JDK_IMPORT_PATH) && $(CP) $(IMPORT_CORBA_BINARIES) $(ABS_OUTPUTDIR)/lib ) ; \
-fi 
-endef
-
-# Import all component classes into directory $1
-#   Here we special case classes coming from JDK when component not supplied
-define import-component-classes
-$(ECHO) "Import classes from $(JDK_IMPORT_PATH)"
-if [ "$(IMPORT_TOOLS_PACKAGES)" != "" ] ; then \
-  $(call Unjar,$1,$(JDK_RESOURCES_JAR),$(IMPORT_TOOLS_PACKAGES)); \
-  $(call Unjar,$1,$(JDK_TOOLS_JAR),$(IMPORT_TOOLS_PACKAGES)); \
-fi
-if [ "$(IMPORT_RT_PACKAGES)" != "" ] ; then \
-  $(call Unjar,$1,$(JDK_RESOURCES_JAR),$(IMPORT_RT_PACKAGES)); \
-  $(call Unjar,$1,$(JDK_RT_JAR),$(IMPORT_RT_PACKAGES)); \
-fi
-$(call import-one-classes,LANGTOOLS_DIST,$1)
-$(call import-one-classes,CORBA_DIST,$1)
-$(call import-one-classes,JAXP_DIST,$1)
-$(call import-one-classes,JAXWS_DIST,$1)
-endef
-
-# Clean up import files
-define import-component-sources-clean
-$(RM) -r $1
-endef
-define import-component-docs-clean
-$(RM) -r $1
-endef
-define import-component-classes-clean
-$(RM) -r $(IMPORT_TOOLS_PACKAGES:%=$1/%)
-$(RM) -r $(IMPORT_RT_PACKAGES:%=$1/%)
-endef
-
--- a/jdk/makefiles/common/internal/NativeCompileRules.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,238 +0,0 @@
-#
-# Copyright (c) 1995, 2007, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Native C/C++ Compile Rules
-#
-
--include $(SPEC)
--include $(VARS)
-
-COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
-COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c
-
-#
-# INCREMENTAL_BUILD: Record the #include file dependencies.
-#
-# NOTE: We build make include files with the suffix
-#       $(DEPEND_SUFFIX) on every compilation. These are initially 
-#       created as temp files just in case a ^C kills it in the middle.
-#	Compiler is smart enough to handle ^C and not create the .o file, or
-#	is supposed to be that smart, but the .$(DEPEND_SUFFIX) file 
-#       creation here isn't.
-#	These .$(DEPEND_SUFFIX) files are included by Library.gmk and 
-#       Program.gmk, when they exist (Search for 'make dependencies').
-#
-
-ifeq ($(INCREMENTAL_BUILD),true)
-
-$(OBJDIR)/%.$(DEPEND_SUFFIX): %.c
-	@$(prep-target)
-	@$(ECHO) "Creating $@"
-	@$(RM) $@.temp
-	@$(CC) $(CC_DEPEND) $(CPPFLAGS) $< 2> $(DEV_NULL) | \
-	    $(CC_DEPEND_FILTER) > $@.temp
-	@$(MV) $@.temp $@
-
-$(OBJDIR)/%.$(DEPEND_SUFFIX): %.cpp
-	@$(prep-target)
-	@$(ECHO) "Creating $@"
-	@$(RM) $@.temp
-	@$(CXX) $(CC_DEPEND) $(CPPFLAGS) $(CXXFLAGS) $< 2> $(DEV_NULL) | \
-	    $(CC_DEPEND_FILTER) > $@.temp
-	@$(MV) $@.temp $@
-
-endif # INCREMENTAL_BUILD
-
-#
-# C, C++, asm files.
-#
-# Normal or parallel compile rule is the same, but batch compiles require
-#  we save up the sources files that use the same compile line so that we
-#  can do one compile line.
-#
-
-ifneq ($(COMPILE_APPROACH), batch)
-
-$(OBJDIR)/%.$(OBJECT_SUFFIX): %.c
-	@$(prep-target)
-	$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$@ $(CFLAGS_GPROF) $<
-	@$(check-conventions)
-
-$(OBJDIR)/%.$(OBJECT_SUFFIX): %.cpp
-	@$(prep-target)
-	$(COMPILE.cc) $(CC_OBJECT_OUTPUT_FLAG)$@ $(CFLAGS_GPROF) $<
-	@$(check-conventions)
-
-else
-  
-  #
-  # Batch compiling might be faster if the compiler was smart about recognizing
-  #   optimization opportunities available when all files are being compiled
-  #   the same way. Unfortunately this is rare.
-  #   Automatic pre-compiled headers (pch) might be a possibility so we
-  #   add any auto pch options here.
-  # So we save all the source files that have the same compile line as the
-  #   first file. A normal compile pass is made after the batch compile
-  #   to catch anything missed.
-  # If the compilers had a -o option that allowed us to direct where to
-  #   write the object files to, then we would not need to save the object
-  #   file list or move them from the make directory to the build directory.
-  #
-
-  # Source names
-  COMPILE_LIST.c         = $(OBJDIR)/.source_names_c
-  COMPILE_LIST.cpp       = $(OBJDIR)/.source_names_cpp
-
-  # Object file list
-  COMPILE_OBJ_LIST.c     = $(OBJDIR)/.obj_names_c
-  COMPILE_OBJ_LIST.cpp   = $(OBJDIR)/.obj_names_cpp
-  
-  # The compile line
-  COMPILE_BATCH.c        = $(OBJDIR)/.compile_c
-  COMPILE_BATCH.cpp      = $(OBJDIR)/.compile_cpp
-
-  # The compile line for the current target
-  THIS_COMPILE_BATCH.c   = $(COMPILE_BATCH.c)-$(@F)
-  THIS_COMPILE_BATCH.cpp = $(COMPILE_BATCH.cpp)-$(@F)
-
-$(OBJDIR)/%.$(OBJECT_SUFFIX): %.c
-	@$(prep-target)
-	@$(ECHO) "$(COMPILE.c) $(CFLAGS_GPROF)" > $(THIS_COMPILE_BATCH.c)
-	@if [ ! -s $(COMPILE_BATCH.c) ] ; then \
-	  $(CP) $(THIS_COMPILE_BATCH.c) $(COMPILE_BATCH.c) ; \
-	  $(ECHO) $< > $(COMPILE_LIST.c); \
-	  $(ECHO) $(@F) > $(COMPILE_OBJ_LIST.c); \
-	elif [ "`$(DIFF) -w -b $(THIS_COMPILE_BATCH.c) $(COMPILE_BATCH.c)`" \
-	       = "" ] ; then \
-	  $(ECHO) $< >> $(COMPILE_LIST.c); \
-	  $(ECHO) $(@F) >> $(COMPILE_OBJ_LIST.c); \
-	fi
-	@$(RM) $(THIS_COMPILE_BATCH.c)
-	@$(check-conventions)
-
-$(OBJDIR)/%.$(OBJECT_SUFFIX): %.cpp
-	@$(prep-target)
-	@$(ECHO) "$(COMPILE.cc) $(CFLAGS_GPROF)" > $(THIS_COMPILE_BATCH.cpp)
-	@if [ ! -s $(COMPILE_BATCH.cpp) ] ; then \
-	  $(CP) $(THIS_COMPILE_BATCH.cpp) $(COMPILE_BATCH.cpp) ; \
-	  $(ECHO) $< > $(COMPILE_LIST.cpp); \
-	  $(ECHO) $(@F) > $(COMPILE_OBJ_LIST.cpp); \
-	elif [ "`$(DIFF) -w -b $(THIS_COMPILE_BATCH.cpp) $(COMPILE_BATCH.cpp)`"\
-	       = "" ] ; then \
-	  $(ECHO) $< >> $(COMPILE_LIST.cpp); \
-	  $(ECHO) $(@F) >> $(COMPILE_OBJ_LIST.cpp); \
-	fi
-	@$(RM) $(THIS_COMPILE_BATCH.cpp)
-	@$(check-conventions)
-
-batch_compile: $(FILES_o)
-	@$(ECHO) "Doing batch compilations"
-	@if [ -s $(COMPILE_LIST.c) ] ; then \
-	  $(ECHO) "$(COMPILE.c) $(CFLAGS_GPROF) $(AUTOMATIC_PCH_OPTION) \
-	   `$(CAT) $(COMPILE_LIST.c)`" ; \
-	  ( $(COMPILE.c) $(CFLAGS_GPROF) $(AUTOMATIC_PCH_OPTION) \
-	    `$(CAT) $(COMPILE_LIST.c)` && \
-	    $(ECHO) "$(MV) `$(CAT) $(COMPILE_OBJ_LIST.c)` $(OBJDIR)" && \
-	    $(MV) `$(CAT) $(COMPILE_OBJ_LIST.c)` $(OBJDIR) ) || exit 1 ; \
-	fi
-	@if [ -s $(COMPILE_LIST.cpp) ] ; then \
-	  $(ECHO) "$(COMPILE.cc) $(CFLAGS_GPROF) $(AUTOMATIC_PCH_OPTION) \
-	   `$(CAT) $(COMPILE_LIST.cpp)`" ; \
-	  ( $(COMPILE.cc) $(CFLAGS_GPROF) $(AUTOMATIC_PCH_OPTION) \
-	    `$(CAT) $(COMPILE_LIST.cpp)` && \
-	    $(ECHO) "$(MV) `$(CAT) $(COMPILE_OBJ_LIST.cpp)` $(OBJDIR)" && \
-	    $(MV) `$(CAT) $(COMPILE_OBJ_LIST.cpp)` $(OBJDIR) ) || exit 1 ; \
-	fi
-	@$(RM) $(COMPILE_BATCH.c)   $(COMPILE_LIST.c)   $(COMPILE_OBJ_LIST.c)
-	@$(RM) $(COMPILE_BATCH.cpp) $(COMPILE_LIST.cpp) $(COMPILE_OBJ_LIST.cpp)
-
-endif
-
-# newer as does not handle c++ style comments
-$(OBJDIR)/%.$(OBJECT_SUFFIX): %.s
-    ifneq ($(CC_VERSION), gcc)
-	@$(prep-target)
-	$(COMPILE.s) $(CC_OBJECT_OUTPUT_FLAG)$@ $<
-    else
-	@$(prep-target)
-	$(CPP) -x assembler-with-cpp $< | $(COMPILE.s) -o $@
-    endif
-	@$(check-conventions)
-
-# Obj-C files (Mac OS X only).
-ifeq ($(PLATFORM), macosx)
-$(OBJDIR)/%.$(OBJECT_SUFFIX): %.m
-	@$(prep-target)
-	$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$@ $(CFLAGS_GPROF) $<
-	@$(check-conventions)
-
-$(OBJDIR)/%.$(OBJECT_SUFFIX): %.mm
-	@$(prep-target)
-	$(COMPILE.cc) $(CC_OBJECT_OUTPUT_FLAG)$@ $(CFLAGS_GPROF) $<
-	@$(check-conventions)
-
-$(OBJDIR)/%.$(OBJECT_SUFFIX): %.c
-	@$(prep-target)
-	$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$@ $(CFLAGS_GPROF) $<
-	@$(check-conventions)
-endif # PLATFORM
-
-#
-# Quick hack for making the compiler generate just the assembly file.
-#	$ gnumake obj/sparc/myfile.s
-#
-$(OBJDIR)/%.s: %.c
-	@$(prep-target)
-	$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$@ -S $<
-	@$(check-conventions)
-
-# remove the intermediate files from the directories.
-#    (If VARIANT=OPT, this removes all debug and fastdebug files too)
-clobber clean::
-	$(RM) -r $(OBJDIR)
-	$(RM) -r $(OBJDIR)_*
-
-#
-# Lint support
-# (The 'lint' rule below is an older rule not using the .$(LINT_SUFFIX) files)
-#
-
-ifeq ($(PLATFORM), solaris)
-$(OBJDIR)/%.$(LINT_SUFFIX): %.c
-	@$(prep-target)
-	$(LINT.c) -dirout=$(OBJDIR) -c $<
-lint.clean:
-	$(RM) $(OBJDIR)/*.$(LINT_SUFFIX)
-# Old rule
-lint: $(FILES_c)
-        ifneq ($(FILES_c),)
-	  $(LINT.c) -Ncheck -Nlevel=3 $? $(LDLIBS) > lint.$(ARCH) 2>&1
-        endif
-endif
-
-.PHONY: batch_compile
-
-
--- a/jdk/makefiles/common/internal/Resources.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,262 +0,0 @@
-#
-# Copyright (c) 1997, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-# 
-# Generic mechanism for installing properties files, resource bundles,
-#   and other resource files.
-#
-# FILES_properties should be defined.
-# FILES_compiled_properties should be defined.
-# 
-# If COMPILED_PROPERTIES_SUPERCLASS is defined, ALL the FILES_properties
-# files will be compiled into java with this super class.
-#
-# You can add locales to LOCALE_SUFFIXES explicitly, or use the
-# LOCALE_SET_DEFINITION variable to add some pre-defined locale lists.
-# The LOCALE_SET_DEFINITION can have the value: jre, plugin, or jdk.
-#
-# Resource bundles to be installed are identified using the following variables.
-# Note that only the file name of the base bundle is given; localized versions
-# are added automatically. For Java files, use a format suitable for inclusion
-# in the FILES_java list; dito for properties, all relative paths.
-#
-#   NEW_RESOURCE_BUNDLES_JAVA        - new resource bundles implemented in
-#                                      Java, not localized
-#   RESOURCE_BUNDLES_JAVA            - resource bundles implemented in
-#                                      Java, localized
-#
-# The following variable is now used for most .properties files in the JDK. 
-# These properties files are converted into java and compiled with javac.
-# The resulting .class files are usually smaller and are always faster to load. 
-# The relative path to the properties file becomes a relative path to a
-# java source file.
-#
-#   RESOURCE_BUNDLES_COMPILED_PROPERTIES - resource bundles implemented as
-#                                          properties files, localized
-#   NEW_RESOURCE_BUNDLES_COMPILED_PROPERTIES - same as above, not localized
-#
-# For non-compiled properties files, use the following variables:
-#
-#   NEW_RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES  - new resource bundles implemented as
-#                                      properties files, not localized
-#   RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES      - resource bundles implemented as
-#                                      properties files, localized
-#
-# Other properties files to be installed are identified using the variable:
-#
-#   OTHER_PROPERTIES
-#
-
-include $(SPEC)
-include $(SRC_ROOT)/jdk/makefiles/Tools.gmk
-
-# Compile properties files into java source?
-ifdef COMPILED_PROPERTIES_SUPERCLASS
-  # Add all properties files to the compiled properties list (all or nothing)
-  COMPILED_PROPERTIES += $(FILES_compiled_properties) $(FILES_properties)
-else
-  COMPILED_PROPERTIES_SUPERCLASS = ListResourceBundle
-  COMPILED_PROPERTIES += $(FILES_compiled_properties)
-endif
-
-# Determine the locale suffixes needed beyond the base bundle
-
-ifeq ($(LOCALE_SET_DEFINITION), plugin)
-  LOCALE_SUFFIXES += $(PLUGIN_LOCALES)
-endif
-ifeq ($(LOCALE_SET_DEFINITION), jdk)
-  LOCALE_SUFFIXES += $(JDK_LOCALES)
-endif
-ifeq ($(LOCALE_SET_DEFINITION), jre)
-  LOCALE_SUFFIXES += $(JRE_LOCALES)
-endif
-
-# Java files get tacked onto the standard list of files to compile
-RESOURCE_BUNDLE_FILES_java += $(NEW_RESOURCE_BUNDLES_JAVA)
-RESOURCE_BUNDLE_FILES_java += $(RESOURCE_BUNDLES_JAVA) \
-    $(foreach file,$(RESOURCE_BUNDLES_JAVA), \
-       $(foreach locale,$(LOCALE_SUFFIXES), \
-	  $(basename $(file))_$(locale).java))
-
-# Add to java sources list
-FILES_java += $(RESOURCE_BUNDLE_FILES_java)
-
-# Compiled properties files are translated to .java.
-#   The .java files are generated into GENSRCDIR.
-COMPILED_PROPERTIES += $(NEW_RESOURCE_BUNDLES_COMPILED_PROPERTIES)
-COMPILED_PROPERTIES += $(RESOURCE_BUNDLES_COMPILED_PROPERTIES) \
-    $(foreach file,$(RESOURCE_BUNDLES_COMPILED_PROPERTIES),\
-      $(foreach locale,$(LOCALE_SUFFIXES),\
-	 $(basename $(file))_$(locale)$(suffix $(file))))
-
-# Add to java sources list
-FILES_java += $(COMPILED_PROPERTIES:%.properties=%.java)
-
-# Non-compiled files
-PROPERTIES_FILES += $(NEW_RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES)
-PROPERTIES_FILES += $(RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES) \
-    $(foreach file,$(RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES), \
-       $(foreach locale,$(LOCALE_SUFFIXES), \
-	  $(basename $(file))_$(locale)$(suffix $(file))))
-# other properties
-PROPERTIES_FILES += $(OTHER_PROPERTIES)
-
-#
-# Process and strip all non-compiled properties files (in a batch mode)
-#
-STRIP_PROP_FILES = $(PROPERTIES_FILES:%=$(CLASSDESTDIR)/%)
-# To efficiently strip properties we use one run of StripProperties. 
-# This macro gathers an option for use later.
-STRIP_PROP_options=$(TEMPDIR)/strip_prop_options
-define install-properties-file
-$(install-file)
-$(call chmod-file, a+rw)
-@$(ECHO) "# Adding to strip properties list: $@"
-$(ECHO) "$@" >> $(STRIP_PROP_options)
-endef
-
-# Constructs command line options file
-$(STRIP_PROP_options): $(STRIP_PROP_FILES)
-	@$(TOUCH) $@
-strip_prop_options_clean:
-	@$(RM) $(STRIP_PROP_options)
-
-# Strip the properties files
-strip_all_props: $(BUILD_TOOLS) $(STRIP_PROP_options)
-	@if [ -s $(STRIP_PROP_options) ] ; then \
-          $(ECHO) "$(TOOL_STRIPPROPERTIES) @$(STRIP_PROP_options)" ; \
-          $(TOOL_STRIPPROPERTIES) @$(STRIP_PROP_options) ; \
-        fi
-	@$(java-vm-cleanup)
-
-#
-# Creates files in CLASSDESTDIR
-#
-
-# In some cases, we move files from package to resources subdir
-$(CLASSDESTDIR)/$(PKGDIR)/resources/%.properties: \
-	     $(SHARE_SRC)/classes/$(PKGDIR)/%.properties
-	$(install-properties-file)
-$(CLASSDESTDIR)/%.properties: $(SHARE_SRC)/classes/%.properties
-	$(install-properties-file)
-$(CLASSDESTDIR)/%.res: $(SHARE_SRC)/classes/%.res
-	$(install-file)
-$(CLASSDESTDIR)/%.dtd: $(SHARE_SRC)/classes/%.dtd
-	$(install-file)
-$(CLASSDESTDIR)/%.xml: $(SHARE_SRC)/classes/%.xml
-	$(install-file)
-$(CLASSDESTDIR)/%.prp: $(SHARE_SRC)/classes/%.prp
-	$(install-file)
-
-#
-# To efficiently compile properties into java sources we use one run
-#   of compileproperties. This macro gathers an option for use later.
-#   Note: The properties file and java source name can be different
-#         locales, e.g. zh_TW and zh_HK. The java source filename
-#         determines the name of the class.
-COMPILE_PROP_options=$(TEMPDIR)/compile_prop_options
-define add-property-java-file
-@$(prep-target)
-@$(ECHO) "# Adding to compile properties list: $? -> $@"
-$(ECHO) "-compile $? $@ $(COMPILED_PROPERTIES_SUPERCLASS)" \
-   >> $(COMPILE_PROP_options)
-endef
-
-$(GENSRCDIR)/%.java: $(PLATFORM_SRC)/classes/%.properties
-	$(add-property-java-file)
-$(GENSRCDIR)/%.java: $(SHARE_SRC)/classes/%.properties
-	$(add-property-java-file)
-$(GENSRCDIR)/%.java: $(GENSRCDIR)/%.properties
-	$(add-property-java-file)
-ifndef OPENJDK
-$(GENSRCDIR)/%.java: $(CLOSED_PLATFORM_SRC)/classes/%.properties
-	$(add-property-java-file)
-$(GENSRCDIR)/%.java: $(CLOSED_SHARE_SRC)/classes/%.properties
-	$(add-property-java-file)
-endif
-
-# Create HK java file from zh_TW (explicit resource bundles only)
-define create-hk-java-file
-@$(prep-target)
-$(CAT) $< | $(SED) -e '/class/s/_zh_TW/_zh_HK/' > $@
-endef
-
-# Explicit resource bundles
-$(GENSRCDIR)/%_zh_HK.java: $(PLATFORM_SRC)/classes/%_zh_TW.java
-	$(create-hk-java-file)
-$(GENSRCDIR)/%_zh_HK.java: $(SHARE_SRC)/classes/%_zh_TW.java
-	$(create-hk-java-file)
-
-# Compile of zh_HK properties just uses the zh_TW properties files
-$(GENSRCDIR)/%_zh_HK.java: $(PLATFORM_SRC)/classes/%_zh_TW.properties
-	$(add-property-java-file)
-$(GENSRCDIR)/%_zh_HK.java: $(SHARE_SRC)/classes/%_zh_TW.properties
-	$(add-property-java-file)
-
-# Simple delivery of zh_HK properties files just copies zh_TW properties files
-$(CLASSDESTDIR)/%_zh_HK.properties: \
-             $(PLATFORM_SRC)/classes/%_zh_TW.properties
-	$(install-properties-file)
-$(CLASSDESTDIR)/%_zh_HK.properties: \
-             $(SHARE_SRC)/classes/%_zh_TW.properties
-	$(install-properties-file)
-
-# List of java files converted from properties files needed
-COMPILE_PROP_JAVA_FILES = $(COMPILED_PROPERTIES:%.properties=$(GENSRCDIR)/%.java)
-
-# Constructs command line options file
-$(COMPILE_PROP_options): $(COMPILE_PROP_JAVA_FILES)
-	@$(TOUCH) $@
-compile_prop_options_clean:
-	@$(RM) $(COMPILE_PROP_options)
-
-# Make sure all are compiled, one compiler run
-compile_all_props: $(BUILD_TOOLS) $(COMPILE_PROP_options)
-	@if [ `$(CAT) $(COMPILE_PROP_options) | $(WC) -l` -ge 1 ] ; then \
-	  $(MKDIR) -p $(GENSRCDIR); \
-	  $(ECHO) "$(TOOL_COMPILEPROPERTIES) @$(COMPILE_PROP_options)";\
-	  $(TOOL_COMPILEPROPERTIES) @$(COMPILE_PROP_options) ; \
-	  $(java-vm-cleanup); \
-	fi
-
-# Make sure the build rule creates all the properties
-resources:
-
-ifneq ($(strip $(PROPERTIES_FILES)),)
-  resources: strip_prop_options_clean   strip_all_props
-  clobber clean:: 
-	$(RM) $(STRIP_PROP_FILES) $(STRIP_PROP_options)
-endif
-
-ifneq ($(strip $(COMPILED_PROPERTIES)),)
-  resources: compile_prop_options_clean compile_all_props
-  clobber clean:: 
-	$(RM) $(COMPILE_PROP_JAVA_FILES) $(COMPILE_PROP_options)
-endif
-
-.PHONY: resources \
-	compile_prop_options_clean compile_all_props \
-	strip_prop_options_clean   strip_all_props
-
--- a/jdk/makefiles/common/shared/Compiler-gcc.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-#
-# Copyright (c) 2005, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# GCC Compiler settings
-#
-
-ifeq ($(PLATFORM), windows)
-
-  # Settings specific to Windows, pretty stale, hasn't been used
-  CC           ?= $(COMPILER_PATH)gcc
-  CPP          ?= $(COMPILER_PATH)gcc -E
-  CXX          ?= $(COMPILER_PATH)g++
-  CCC          ?= $(COMPILER_PATH)g++
-  AR           ?= $(COMPILER_PATH)lib
-  LINK         ?= $(COMPILER_PATH)link
-  RC           ?= $(COMPILER_PATH)rc
-  LINK32       = $(LINK)
-  RSC          = $(RC)
-  # unset any GNU Make settings of MFLAGS and MAKEFLAGS which may mess up nmake
-  NMAKE          = MFLAGS= MAKEFLAGS= $(COMPILER_PATH)nmake -nologo
-  ifeq ($(ARCH_DATA_MODEL), 32)
-    CC_VER  = UNKNOWN
-  else
-    CC_VER  = UNKNOWN
-  endif
-  _LINK_VER :=$(shell $(LINK) 2>&1 | $(HEAD) -n 1)
-  LINK_VER  :=$(call GetVersion,"$(_LINK_VER)")
-
-endif
-
-ifeq ($(PLATFORM), linux)
-
-# Settings specific to Linux
-  CC             ?= $(COMPILER_PATH)gcc
-  CPP            ?= $(COMPILER_PATH)gcc -E
-# Acquire the paths to the compilers and tools
-  # statically link libstdc++ before C++ ABI is stablized on Linux
-  STATIC_CXX     = true
-  ifeq ($(STATIC_CXX),true)
-    # g++ always dynamically links libstdc++, even we use "-Wl,-Bstatic -lstdc++"
-    # We need to use gcc to statically link the C++ runtime. gcc and g++ use
-    # the same subprocess to compile C++ files, so it is OK to build using gcc.
-    CXX            ?= $(CC)
-    #$(COMPILER_PATH)gcc
-  else
-#    CXX            = $(COMPILER_PATH)g++
-  endif
-  # Option used to create a shared library
-  SHARED_LIBRARY_FLAG = -shared
-  SUN_COMP_VER := $(shell $(CC) --verbose 2>&1 )
-
-endif
-
-ifeq ($(PLATFORM), solaris)
-
-  # Settings specific to Solaris
-  CC             ?= $(COMPILER_PATH)gcc
-  CPP            ?= $(COMPILER_PATH)gcc -E
-  CXX            ?= $(COMPILER_PATH)g++
-
-  # Option used to create a shared library
-  SHARED_LIBRARY_FLAG = -G
-  
-endif
-
-# Get gcc version
-_CC_VER :=$(shell $(CC) -dumpversion 2>&1 )
-CC_VER  :=$(call GetVersion,"$(_CC_VER)")
-CC_MAJORVER  :=$(call MajorVersion,$(CC_VER))
-CC_MINORVER  :=$(call MinorVersion,$(CC_VER))
-
-# Name of compiler
-COMPILER_NAME = GCC$(call MajorVersion,$(CC_VER))
-COMPILER_VERSION = $(COMPILER_NAME)
-
--- a/jdk/makefiles/common/shared/Compiler-llvm.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-#
-# Copyright (c) 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# LLVM Compiler settings
-#
-
-ifeq ($(PLATFORM), macosx)
-
-  # Settings specific to Mac OS X
-  ifeq ($(origin CC), default)
-   CC             = $(COMPILER_PATH)llvm-gcc
-  endif
-  CPP             = $(COMPILER_PATH)llvm-gcc -E
-  ifeq ($(origin CXX), default)
-   CXX            = $(COMPILER_PATH)llvm-g++
-  endif
-
-  REQUIRED_CC_VER = 4.2.1
-
-  # Option used to create a shared library
-  SHARED_LIBRARY_FLAG = -Wl,-install_name,@rpath/$(@F) -dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0
-  SUN_COMP_VER := $(shell $(CC) --verbose 2>&1 )
-
-  AR = $(CC)
-  ARFLAGS = -nostdlib -r -arch i386 -arch x86_64 -o
-
-endif
-
-# Get llvm version
-_CC_VER :=$(shell $(CC) -dumpversion 2>&1 )
-CC_VER  :=$(call GetVersion,"$(_CC_VER)")
-
-# Name of compiler
-COMPILER_NAME = LLVM-GCC$(call MajorVersion,$(CC_VER))
-COMPILER_VERSION = $(COMPILER_NAME)
-
--- a/jdk/makefiles/common/shared/Compiler-msvc.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-#
-# Copyright (c) 2005, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# MSVC Compiler settings
-#
-
-ifeq ($(PLATFORM), windows)
-  CC           ?= $(COMPILER_PATH)cl
-  CPP          ?= $(COMPILER_PATH)cl
-  CXX          ?= $(COMPILER_PATH)cl
-  CCC          ?= $(COMPILER_PATH)cl
-  AR           ?= $(COMPILER_PATH)lib
-  LINK         ?= $(COMPILER_PATH)link
-  LINK32       ?= $(LINK)
-# TODO Add dumpbin.exe to configure
-  DUMPBIN      ?= $(COMPILER_PATH)dumpbin.exe
- 
-  # Fill in unknown values
-  COMPILER_NAME=Unknown MSVC Compiler
-  COMPILER_VERSION=
-  
-  # unset any GNU Make settings of MFLAGS and MAKEFLAGS which may mess up nmake
-  NMAKE          = MFLAGS= MAKEFLAGS= $(COMPILER_PATH)nmake -nologo
-
-  # Compiler version and type (Always get word after "Version")
-  CC_VER  := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(SED) 's/.*\(Version.*\)/\1/' | $(NAWK) '{print $$2}')
-
-  LINK_VER := $(shell $(LINK) | $(HEAD) -n 1 | $(NAWK) '{print $$6}')
-  CC_MAJORVER :=$(call MajorVersion,$(CC_VER))
-  
-  # The VS2010 compiler is the same one used on both 32bit and 64bit
-  ifeq ($(CC_MAJORVER), 16)
-    COMPILER_NAME=Microsoft Visual Studio 10 (16.00.30319.01)
-    COMPILER_VERSION=VS2010
-    ifeq ($(WINDOWSSDKDIR),)
-      WINDOWSSDKDIR := $(error WINDOWSSDKDIR cannot be empty here)
-    endif
-    ifeq ($(ARCH_DATA_MODEL), 32)
-      _OTHER_TOOLS_BIN = $(WINDOWSSDKDIR)/Bin
-    else
-      ifeq ($(ARCH), ia64)
-        _OTHER_TOOLS_BIN = $(WINDOWSSDKDIR)/Bin/ia64
-      else
-        _OTHER_TOOLS_BIN = $(WINDOWSSDKDIR)/Bin/x64
-      endif
-    endif
-    RC     = $(_OTHER_TOOLS_BIN)/RC.Exe
-    REBASE = $(_OTHER_TOOLS_BIN)/ReBase.Exe
-    MT     = $(_OTHER_TOOLS_BIN)/mt.exe
-    MTL    = $(_OTHER_TOOLS_BIN)/midl.exe
-  endif
-  
-  # These variables can never be empty
-  ifndef COMPILER_PATH
-    COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
-  endif
-  ifndef COMPILER_VERSION
-    COMPILER_VERSION := $(error COMPILER_VERSION cannot be empty here)
-  endif
-  ifneq ($(COMPILER_VERSION),VS2010)
-    COMPILER_VERSION := $(error COMPILER_VERSION must be VS2010)
-  endif
-  
-  # Shared library generation flag
-  SHARED_LIBRARY_FLAG = -LD
-  # RSC is always same as RC (Not sure who uses this RSC variable)
-  RSC = $(RC)
-
-endif
-
--- a/jdk/makefiles/common/shared/Compiler-sun.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-#
-# Copyright (c) 2005, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Sun Studio Compiler settings
-#
-
-# Sun Studio Compiler settings specific to Solaris
-ifeq ($(PLATFORM), solaris)
-  CC             ?= $(COMPILER_PATH)cc
-  CPP            ?= $(COMPILER_PATH)cc -E
-  CXX            ?= $(COMPILER_PATH)CC
-  LINT           ?= $(COMPILER_PATH)lint
-  # Option used to create a shared library
-  SHARED_LIBRARY_FLAG = -G
-  GCC =$(GCC_COMPILER_PATH)gcc
-endif
-
-# Sun Studio Compiler settings specific to Linux
-ifeq ($(PLATFORM), linux)
-  # This has not been tested
-  CC             ?= $(COMPILER_PATH)cc
-  CPP            ?= $(COMPILER_PATH)cc -E
-  CXX            ?= $(COMPILER_PATH)CC
-  LINT           ?= $(COMPILER_PATH)lint
-  # statically link libstdc++ before C++ ABI is stablized on Linux
-  STATIC_CXX     = true
-  ifeq ($(STATIC_CXX),true)
-    # CC always dynamically links libstdc++, even we use "-Wl,-Bstatic -lstdc++"
-    # We need to use cc to statically link the C++ runtime.
-    CXX            ?= $(COMPILER_PATH)cc
-  else
-    CXX            ?= $(COMPILER_PATH)CC
-  endif
-  # Option used to create a shared library
-  SHARED_LIBRARY_FLAG = -G
-endif
-
-# Get compiler version
-_CC_VER :=$(shell $(CC) -V 2>&1 | $(HEAD) -n 1)
-CC_VER  :=$(call GetVersion,"$(_CC_VER)")
-CC_MAJORVER  :=$(call MajorVersion,$(CC_VER))
-CC_MINORVER  :=$(call MinorVersion,$(CC_VER))
-
-# Name of compilers being used
-COMPILER_VERSION-5.7  = SS10
-COMPILER_NAME-5.7     = Sun Studio 10
-COMPILER_VERSION-5.8  = SS11
-COMPILER_NAME-5.8     = Sun Studio 11
-COMPILER_VERSION-5.9  = SS12
-COMPILER_NAME-5.9     = Sun Studio 12
-COMPILER_VERSION-5.10 = SS12u1
-COMPILER_NAME-5.10    = Sun Studio 12 Update 1
-COMPILER_VERSION-5.11 = OSS12u2
-COMPILER_NAME-5.11    = Oracle Solaris Studio 12 Update 2
-COMPILER_VERSION      = $(COMPILER_VERSION-$(CC_VER))
-COMPILER_NAME         = $(COMPILER_NAME-$(CC_VER))
-
-# Arch specific settings (determines type of .o files and instruction set)
-#  Starting in SS12 (5.9), the arch options changed.
-#  The assembler /usr/ccs/bin/as wants older SS11 (5.8) style options.
-#   Note: We need to have both 32 and 64 values at all times for awt Makefiles.
-#
-XARCH_OPTION_OLD/32 =
-XARCH_OPTION_OLD/64 =
-XARCH_OPTION_NEW/32 = -m32
-XARCH_OPTION_NEW/64 = -m64
-# Lint options are slightly different
-LINT_XARCH_OPTION_OLD/32 =
-LINT_XARCH_OPTION_OLD/64 =
-LINT_XARCH_OPTION_NEW/32 = -m32
-LINT_XARCH_OPTION_NEW/64 = -m64
-ifeq ($(ARCH_FAMILY), sparc)
-  ifdef VIS_NEEDED
-    XARCH_OPTION_OLD/32 += -xarch=v8plusa
-    XARCH_OPTION_OLD/64 += -xarch=v9a
-    XARCH_OPTION_NEW/32 += -xarch=sparcvis
-    XARCH_OPTION_NEW/64 += -xarch=sparcvis
-  else
-    # Someday this should change to improve optimization on UltraSPARC
-    #    and abandon v8, even change to sparcvis or sparcvis2, this
-    #    abandons machines like the SPARCstation 10.
-    #    Indications with jdk6 is that alacrity runs do not show a
-    #    big improvement using v8plus over v8, but other benchmarks might.
-    XARCH_OPTION_OLD/32 += -xarch=v8
-    XARCH_OPTION_OLD/64 += -xarch=v9
-    # Note that this new option (SS12+) effectively means v8plus
-    XARCH_OPTION_NEW/32 += -xarch=sparc
-    XARCH_OPTION_NEW/64 += -xarch=sparc
-  endif
-  LINT_XARCH_OPTION_OLD/64 += -Xarch=v9
-endif
-ifeq ($(ARCH_FAMILY), i586)
-  XARCH_OPTION_OLD/64      += -xarch=amd64
-  LINT_XARCH_OPTION_OLD/64 += -Xarch=amd64
-endif
-# Pick the options we want based on the compiler being used. (5.9 or newer)
-CC_59_OR_NEWER := \
-  $(shell expr $(CC_MAJORVER) \> 5 \| \
-      \( $(CC_MAJORVER) = 5 \& $(CC_MINORVER) \>= 9 \) )
-ifeq ($(CC_59_OR_NEWER), 1)
-  XARCH_OPTION/32 = $(XARCH_OPTION_NEW/32)
-  XARCH_OPTION/64 = $(XARCH_OPTION_NEW/64)
-  LINT_XARCH_OPTION/32 = $(LINT_XARCH_OPTION_NEW/32)
-  LINT_XARCH_OPTION/64 = $(LINT_XARCH_OPTION_NEW/64)
-else
-  XARCH_OPTION/32 = $(XARCH_OPTION_OLD/32)
-  XARCH_OPTION/64 = $(XARCH_OPTION_OLD/64)
-  LINT_XARCH_OPTION/32 = $(LINT_XARCH_OPTION_OLD/32)
-  LINT_XARCH_OPTION/64 = $(LINT_XARCH_OPTION_OLD/64)
-endif
-XARCH_OPTION = $(XARCH_OPTION/$(ARCH_DATA_MODEL))
-LINT_XARCH_OPTION = $(LINT_XARCH_OPTION/$(ARCH_DATA_MODEL))
-# The /usr/ccs/bin/as assembler always wants the older SS11 (5.8) options.
-AS_XARCH_OPTION = $(XARCH_OPTION_OLD/$(ARCH_DATA_MODEL))
-
--- a/jdk/makefiles/common/shared/Defs-control.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-#
-# Copyright (c) 1995, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Common variables used by all the Java makefiles.  This file should
-# not contain rules.
-#
-
-# WARNING: This file is shared with other components.
-#
-
-ifndef JDK_MAKE_SHARED_DIR
-  JDK_MAKE_SHARED_DIR = $(JDK_TOPDIR)/makefiles/common/shared
-endif
-
-ifndef HOTSPOT_TOPDIR
-  HOTSPOT_TOPDIR=$(TOPDIR)/hotspot
-endif
-ifndef LANGTOOLS_TOPDIR
-  LANGTOOLS_TOPDIR=$(TOPDIR)/langtools
-endif
-ifndef CORBA_TOPDIR
-  CORBA_TOPDIR=$(TOPDIR)/corba
-endif
-ifndef JAXP_TOPDIR
-  JAXP_TOPDIR=$(TOPDIR)/jaxp
-endif
-ifndef JAXWS_TOPDIR
-  JAXWS_TOPDIR=$(TOPDIR)/jaxws
-endif
-ifndef JDK_TOPDIR
-  JDK_TOPDIR=$(TOPDIR)/jdk
-endif
-ifndef INSTALL_TOPDIR
-  INSTALL_TOPDIR=$(TOPDIR)/install
-endif
-ifndef SPONSORS_TOPDIR
-  SPONSORS_TOPDIR=$(TOPDIR)/sponsors
-endif
-ifndef DEPLOY_TOPDIR
-  DEPLOY_TOPDIR=$(TOPDIR)/deploy
-endif
-
-# Get shared platform settings
-include $(JDK_MAKE_SHARED_DIR)/Platform.gmk
-
-# Default directory immediately above the "build" output directory (OUTPUTDIR)
-BUILD_PARENT_DIRECTORY=$(TOPDIR)
-
-# Get platform specific settings
-include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
-
-SRC_BUNDLEDIR       = $(OUTPUTDIR)/source-bundles
-ABS_SRC_BUNDLEDIR   = $(ABS_OUTPUTDIR)/source-bundles
-BIN_BUNDLEDIR       = $(OUTPUTDIR)/bundles
-BIN_DEMOS_BUNDLEDIR = $(OUTPUTDIR)/demos-bundles
-ABS_BIN_BUNDLEDIR   = $(ABS_OUTPUTDIR)/bundles
-
-dummy := $(shell $(MKDIR) -p $(BIN_BUNDLEDIR))
-dummy := $(shell $(MKDIR) -p $(BIN_DEMOS_BUNDLEDIR) )
-dummy := $(shell $(MKDIR) -p $(SRC_BUNDLEDIR) )
-
-TEMP_DIR = $(OUTPUTDIR)/tmp
-ABS_TEMP_DIR = $(ABS_OUTPUTDIR)/tmp
-
-dummy := $(shell $(MKDIR) -p $(TEMP_DIR))
-
-# The language version we want for this jdk build
-SOURCE_LANGUAGE_VERSION=7
-# The class version we want for this jdk build
-TARGET_CLASS_VERSION=7
-
-# The MESSAGE, WARNING and ERROR files are used to store sanity check and 
-# source check messages, warnings and errors. 
-export ERROR_FILE   := $(ABS_OUTPUTDIR)/sanityCheckErrors.txt
-export WARNING_FILE := $(ABS_OUTPUTDIR)/sanityCheckWarnings.txt
-export MESSAGE_FILE := $(ABS_OUTPUTDIR)/sanityCheckMessages.txt
-
-# source bundle generation definitions
-BUNDLE_DATE := $(shell $(DATE) '+%d_%b_%Y' | $(TR) "[A-Z]" "[a-z]")
-ifdef ALT_BUNDLE_DATE
-  BUNDLE_DATE := $(ALT_BUNDLE_DATE)
-endif
-
-# If the update version contains non-numeric characters, we need
-# to massage it into a numeric format.  Unfortunately, the
-# Windows VERSIONINFO resource that we stick in jvm.dll cannot
-# handle non-numeric characters.  We have to do this here because
-# Hotspot (nmake) cannot handle calculations.  So we use the
-# following formula:
-# COOKED_JDK_UPDATE_VERSION = JDK_UPDATE_VERSION * 10 + EXCEPTION_VERSION
-# 
-# Here are some examples:
-#     1.5.0    b01  ->  5,0,0,1
-#     1.5.0_10 b01  ->  5,0,100,1 
-#     1.4.2 b01     ->  4,2,0,1
-#     1.4.2_02 b01  ->  4,2,20,1
-#     1.4.2_02a b01 ->  4,2,21,1
-#     1.4.2_02b b01 ->  4,2,22,1
-ifdef JDK_UPDATE_VERSION
-  VTMP := $(shell $(ECHO) $(JDK_UPDATE_VERSION) | $(TR) "abcde" "12345")
-  CHAR1 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 1, 1);}')
-  CHAR2 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 2, 1);}')
-  CHAR3 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 3, 1);}')
-  ifeq ($(CHAR3),)
-    CHAR3 := 0
-  endif
-  ifeq ($(CHAR1), 0)
-    COOKED_JDK_UPDATE_VERSION := $(CHAR2)$(CHAR3)
-  else
-    COOKED_JDK_UPDATE_VERSION := $(CHAR1)$(CHAR2)$(CHAR3)
-  endif
-endif
-
-ifneq ($(JDK_BUILD_NUMBER),)
- COOKED_BUILD_NUMBER = $(shell $(ECHO) $(JDK_BUILD_NUMBER) \
-			       | $(SED) -e 's/^b//' | $(SED) -e 's/^0//')
-else
- COOKED_BUILD_NUMBER = 0
-endif
-
--- a/jdk/makefiles/common/shared/Defs-java.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-#
-# Copyright (c) 2007, 2012, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Common java/javac/jdk variables used by all the Java makefiles.
-# This file should not contain rules.
-#
-
-# WARNING: This file is shared with other workspaces.
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
--include $(SPEC)
-
-#
-# Memory related -J flags that all uses of java tools should use.
-#
-#JAVA_MEM_FLAGS   = -Xmx$(MAX_VM_MEMORY)m
-#ifeq ($(ARCH), ia64)
-  # Special flags for javac on ia64 to work around a VM problem with
-  #   bad code generation during inlining (what version had this problem?):
-  #   Suspect this may not be needed anymore.
-#  JAVA_MEM_FLAGS   += -Xms$(MAX_VM_MEMORY)m -XX:-Inline
-#else
-#  JAVA_MEM_FLAGS   += -Xms$(MIN_VM_MEMORY)m -XX:PermSize=32m -XX:MaxPermSize=160m
-#endif
-
-#
-# All java tools (javac, javah, and javadoc) run faster with certain java
-#    options, this macro should be used with all these tools.
-#    In particular, the client VM makes these tools run faster when
-#    it's available.
-#
-ADD_CLIENT_VM_OPTION = false
-ifeq ($(PLATFORM), solaris)
-  ADD_CLIENT_VM_OPTION = true
-else
-  ifeq ($(ARCH_DATA_MODEL), 32)
-    ADD_CLIENT_VM_OPTION = true
-  endif
-endif
-
-# Options for hotspot to turn off printing of options with fastdebug version
-#   and creating the hotspot.log file.
-#JAVA_HOTSPOT_DISABLE_PRINT_VMOPTIONS = \
-#   -XX:-PrintVMOptions -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput
-
-# JVM options
-ifeq ($(PLATFORM), macosx)
-  JAVA_JVM_FLAGS = $(JAVA_HOTSPOT_DISABLE_PRINT_VMOPTIONS) -Djava.awt.headless=true
-else
-  JAVA_JVM_FLAGS = $(JAVA_HOTSPOT_DISABLE_PRINT_VMOPTIONS)
-endif
-
-#ifeq ($(ADD_CLIENT_VM_OPTION), true)
-#  JAVA_JVM_FLAGS += -client
-#endif
-#ifdef USE_HOTSPOT_INTERPRETER_MODE
-#  JAVA_JVM_FLAGS += -Xint
-#endif
-
-# Various VM flags
-JAVA_TOOLS_FLAGS  = $(JAVA_JVM_FLAGS) $(JAVA_MEM_FLAGS)
-
-# The VM flags for javac
-JAVAC_JVM_FLAGS =
-
-# 64-bit builds require a larger thread stack size.
-#ifeq ($(ARCH_DATA_MODEL), 32)
-#  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=768
-#else
-#  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=1536
-#endif
-JAVAC_JVM_FLAGS    += $(JAVA_TOOLS_FLAGS:%=-J%)
-
-# The jar -J options are special, must be added at the end of the command line
-JAR_JFLAGS       = $(JAVA_TOOLS_FLAGS:%=-J%)
-
-# JAVA_TOOLS_DIR is the default location to find Java tools to run, if
-#    langtools is not available.
-#    This should be the latest promoted JDK javac.
-ifndef JAVA_TOOLS_DIR
-  JAVA_TOOLS_DIR = $(JDK_IMPORT_PATH)/bin
-endif
-
-#
-# Invoking the Java compiler.   In leaf makefiles, choose as follows:
-#  -- Use JAVAC if you want to take full control of what options get
-#     passed to javac.
-#  -- Use JAVAC_CMD if you want to take the defaults given to you.
-#
-
-ifndef DEBUG_CLASSFILES
-  ifeq ($(VARIANT), DBG)
-    DEBUG_CLASSFILES = true
-  endif
-endif
-JAVACFLAGS =
-ifeq ($(DEBUG_CLASSFILES),true)
-  JAVACFLAGS += -g
-endif
-ifeq ($(JAVAC_MAX_WARNINGS), true)
-  JAVAC_LINT_OPTIONS += -Xlint:all
-endif
-ifeq ($(JAVAC_WARNINGS_FATAL), true)
-  JAVACFLAGS  += -Werror
-endif
-
-# TODO: Workaround for CR 7063027. Remove -path eventually.
-JAVAC_LINT_OPTIONS += -Xlint:-path
-
-JAVACFLAGS += $(JAVAC_LINT_OPTIONS)
-
-#
-# Some licensees do not get the Security Source bundles.  We will
-# fall back on the prebuilt jce.jar so that we can do a best
-# attempt at building.  If sources exist, we always want to
-# build/use the most recent source instead of an older jce.jar, whether
-# built implicitly/explicitly.
-#
-ifeq ($(wildcard $(SHARE_SRC)/classes/javax/crypto/Cipher.java),)
-  JCE_PATH = $(CLASSPATH_SEPARATOR)$(LIBDIR)/jce.jar
-endif
-
-# Add the source level
-SOURCE_LANGUAGE_VERSION = 7
-LANGUAGE_VERSION = -source $(SOURCE_LANGUAGE_VERSION)
-JAVACFLAGS  += $(LANGUAGE_VERSION)
-
-# Add the class version we want
-TARGET_CLASS_VERSION = 7
-CLASS_VERSION = -target $(TARGET_CLASS_VERSION)
-JAVACFLAGS  += $(CLASS_VERSION)
-JAVACFLAGS  += -encoding ascii
-JAVACFLAGS  += "-Xbootclasspath:$(CLASSBINDIR)$(JCE_PATH)"
-JAVACFLAGS  += $(OTHER_JAVACFLAGS)
-
-# Needed for javah
-JAVAHFLAGS += -bootclasspath "$(CLASSBINDIR)$(JCE_PATH)"
-
-# Needed for javadoc to ensure it builds documentation
-# against the newly built classes
-JAVADOCFLAGS += -bootclasspath $(CLASSBINDIR)
-
-# Needed for JAVADOC and BOOT_JAVACFLAGS
-NO_PROPRIETARY_API_WARNINGS = -XDignore.symbol.file=true
-
-# Langtools
-LANGTOOLS_DIST ?= $(ALT_LANGTOOLS_DIST)
-
-ifdef LANGTOOLS_DIST
-  JAVAC_JAR   = $(LANGTOOLS_DIST)/bootstrap/lib/javac.jar
-  JAVAH_JAR   = $(LANGTOOLS_DIST)/bootstrap/lib/javah.jar
-  JAVADOC_JAR = $(LANGTOOLS_DIST)/bootstrap/lib/javadoc.jar
-  DOCLETS_JAR = $(LANGTOOLS_DIST)/bootstrap/lib/doclets.jar
-  JAVAC_CMD   = $(BOOT_JAVA_CMD) \
-		"-Xbootclasspath/p:$(JAVAC_JAR)" \
-		-jar $(JAVAC_JAR) $(JAVACFLAGS)
-  JAVAH_CMD   = $(BOOT_JAVA_CMD) \
-		"-Xbootclasspath/p:$(JAVAH_JAR)$(CLASSPATH_SEPARATOR)$(JAVAC_JAR)"  \
-		-jar $(JAVAH_JAR) $(JAVAHFLAGS)
-  JAVADOC_CMD = $(BOOT_JAVA_CMD) \
-		"-Xbootclasspath/p:$(JAVADOC_JAR)$(CLASSPATH_SEPARATOR)$(JAVAC_JAR)$(CLASSPATH_SEPARATOR)$(DOCLETS_JAR)" \
-		-jar $(JAVADOC_JAR) $(JAVADOCFLAGS)
-else
-  # If no explicit tools, use boot tools (add VM flags in this case)
-  JAVAC_CMD     = $(UNCYGDRIVE) $(JAVA_TOOLS_DIR)/javac $(JAVAC_JVM_FLAGS) \
-		  $(JAVACFLAGS)
-  JAVAH_CMD     = $(UNCYGDRIVE) $(JAVA_TOOLS_DIR)/javah \
-		  $(JAVAHFLAGS)
-  JAVADOC_CMD   = $(UNCYGDRIVE) $(JAVA_TOOLS_DIR)/javadoc $(JAVA_TOOLS_FLAGS:%=-J%) \
-		  $(JAVADOCFLAGS)
-endif
-
-# Override of what javac to use (see deploy workspace)
-#ifdef JAVAC
-#  JAVAC_CMD     = $(JAVAC)
-#endif
-
-#
-# The bootstrap java compiler (defined as the javac in the ALT_BOOTDIR jdk).
-#   Will be used to compile java code used to build the jdk, e.g. class files
-#   created by this compiler will NOT become part of this built jdk, but just
-#   used to build this jdk, e.g. run with the java in the ALT_BOOTDIR jdk.
-#
-# The javac supplied with the LANGTOOLS_DIST should be used to build the
-#   classes that will be put into the built jdk. But note that this javac
-#   will use the ALT_BOOTDIR java runtime. Any classes created by the
-#   LANGTOOLS_DIST javac should not be run during this jdk build and indeed
-#   may not even run with the ALT_BOOTDIR jdk because they may be a newer
-#   class file version that the ALT_BOOTDIR jdk doesn't understand.
-#
-# The important observation here is that the built jdk is NOT run during
-#   the build. If the built jdk needs to be verified that it can build this
-#   same jdk, then it should be supplied to the build process as the ALT_BOOTDIR
-#   jdk, and this resulting built jdk should be compared to the first one.
-#   (They should be the same). Re-using this built jdk as the ALT_BOOTDIR
-#   jdk will be the only way and the recommeneded way to verify the built jdk
-#   can bootstrap itself.
-#
-
-# The javac options supplied to the boot javac is limited. This compiler
-#   should only be used to build the 'make/tools' sources, which are not
-#   class files that end up in the classes directory.
-BOOT_JAVACFLAGS += $(JAVAC_LINT_OPTIONS)
-ifeq ($(JAVAC_WARNINGS_FATAL), true)
-  BOOT_JAVACFLAGS  += -Werror
-endif
-
-BOOT_JAVACFLAGS  += -encoding ascii
-BOOT_JAR_JFLAGS += $(JAR_JFLAGS)
-
-BOOT_JAVACFLAGS  += $(NO_PROPRIETARY_API_WARNINGS)
-
-BOOT_JAVA_CMD      = $(UNCYGDRIVE) $(BOOTDIR)/bin/java $(JAVA_TOOLS_FLAGS)
-BOOT_JAVAC_CMD     = $(UNCYGDRIVE) $(BOOTDIR)/bin/javac $(JAVAC_JVM_FLAGS) $(BOOT_JAVACFLAGS)
-BOOT_JAR_CMD       = $(UNCYGDRIVE) $(BOOTDIR)/bin/jar
-BOOT_JARSIGNER_CMD = $(UNCYGDRIVE) $(BOOTDIR)/bin/jarsigner
-
-# Various tools we need to run (FIXUP: Are these the right ones?)
-NATIVE2ASCII    = $(UNCYGDRIVE) $(BOOTDIR)/bin/native2ascii $(JAVA_TOOLS_FLAGS:%=-J%)
-RMIC		= $(UNCYGDRIVE) $(BOOTDIR)/bin/rmic $(JAVA_TOOLS_FLAGS:%=-J%)
-IDLJ		= $(UNCYGDRIVE) $(BOOTDIR)/bin/idlj $(JAVA_TOOLS_FLAGS:%=-J%)
-
-# Should not be used
-#JAVA		= /should/not/be/used
-
--- a/jdk/makefiles/common/shared/Defs-javadoc.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-#
-# Copyright (c) 1997, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-# Copyright year for beginning of Java and some of the apis
-#   (Needed when creating the javadocs)
-FIRST_COPYRIGHT_YEAR                = 1993
-DOMAPI_FIRST_COPYRIGHT_YEAR         = 2005
-MIRROR_FIRST_COPYRIGHT_YEAR         = 2004
-DOCLETAPI_FIRST_COPYRIGHT_YEAR      = 1993
-TAGLETAPI_FIRST_COPYRIGHT_YEAR      = 1993
-JDI_FIRST_COPYRIGHT_YEAR            = 1999
-JAAS_FIRST_COPYRIGHT_YEAR           = 1998
-JGSS_FIRST_COPYRIGHT_YEAR           = 2000
-SMARTCARDIO_FIRST_COPYRIGHT_YEAR    = 2005
-HTTPSERVER_FIRST_COPYRIGHT_YEAR     = 2005
-MGMT_FIRST_COPYRIGHT_YEAR           = 2003
-ATTACH_FIRST_COPYRIGHT_YEAR         = 2005
-JCONSOLE_FIRST_COPYRIGHT_YEAR       = 2006
-SCTPAPI_FIRST_COPYRIGHT_YEAR        = 2009
-TRACING_FIRST_COPYRIGHT_YEAR        = 2008
-TREEAPI_FIRST_COPYRIGHT_YEAR        = 2005
-JNLP_FIRST_COPYRIGHT_YEAR           = 1998
-PLUGIN2_FIRST_COPYRIGHT_YEAR        = 2007
-
-# Oracle name
-FULL_COMPANY_NAME = Oracle and/or its affiliates
-
-# Copyright address
-COMPANY_ADDRESS = 500 Oracle Parkway<br>Redwood Shores, CA 94065 USA.
-
-# The trademark symbol
-TRADEMARK = &trade;
-
-# Common copyright lines used
-#   The word "Copyright" might optionally be a link to the file cpyr.html.
-#   The first year of copyright may vary or not be available.
-#   The address to the company might be optional.
-COMMA:= ,
-EMPTY:=
-SPACE:=$(EMPTY) $(EMPTY)
-COPYRIGHT_SYMBOL = &\#x00a9;
-# Macro to construct the copyright line
-#   (The GNU make 3.78.1 "if" conditional is broken, fixed in GNU make 3.81)
-define CopyrightLine # optionalurl optionalfirstyear optionaladdress
-$(if $(strip $1),<a href="$(strip $1)">Copyright</a>,Copyright) \
-$(COPYRIGHT_SYMBOL) $(if $2,$2${COMMA},) $(COPYRIGHT_YEAR),\
-$(FULL_COMPANY_NAME). $3 All rights reserved.
-endef
-
--- a/jdk/makefiles/common/shared/Defs-linux.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-#
-# Copyright (c) 2005, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Definitions for Linux.
-#
-
-# Default for COMPILER_WARNINGS_FATAL on Linux (C & C++ compiler warnings)
-ifndef COMPILER_WARNINGS_FATAL
-  COMPILER_WARNINGS_FATAL=false
-endif
-
-# Linux should use parallel compilation for best build times
-ifndef COMPILE_APPROACH
-  COMPILE_APPROACH = parallel
-endif
-
-# Indication that we are doing an incremental build.
-#    This may trigger the creation of make depend files.
-ifndef INCREMENTAL_BUILD
-  INCREMENTAL_BUILD = false
-endif
-
-# FullPath just makes sure it never ends with a / and no duplicates
-define FullPath
-$(shell cd $1 2> $(DEV_NULL) && pwd)
-endef
-
-# OptFullPath: Absolute path name of a dir that might not initially exist.
-define OptFullPath
-$(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi)
-endef
-
-# Location on system where jdk installs might be
-USRJDKINSTANCES_PATH =/opt/java
-
-# UNIXCOMMAND_PATH: path to where the most common Unix commands are.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_UNIXCOMMAND_PATH)" "undefined"
-  UNIXCOMMAND_PATH :=$(call PrefixPath,$(ALT_UNIXCOMMAND_PATH))
-else
-  UNIXCOMMAND_PATH  = /bin/
-endif
-
-# USRBIN_PATH: path to where the most common Unix commands are.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_USRBIN_PATH)" "undefined"
-  USRBIN_PATH :=$(call PrefixPath,$(ALT_USRBIN_PATH))
-else
-  USRBIN_PATH  = /usr/bin/
-endif
-
-# UNIXCCS_PATH: path to where the Solaris ported UNIX commands can be found
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_UNIXCCS_PATH)" "undefined"
-  UNIXCCS_PATH :=$(call PrefixPath,$(ALT_UNIXCCS_PATH))
-else
-  UNIXCCS_PATH = /usr/ccs/bin/
-endif
-
-# SLASH_JAVA: location of all network accessable files
-ifdef ALT_SLASH_JAVA
-  SLASH_JAVA  :=$(ALT_SLASH_JAVA)
-else
-  SLASH_JAVA  := $(call DirExists,/java,/java,/NOT-SET)
-endif
-
-# JDK_DEVTOOLS_DIR: common path for all the java devtools
-ifdef ALT_JDK_DEVTOOLS_DIR
-  JDK_DEVTOOLS_DIR  =$(ALT_JDK_DEVTOOLS_DIR)
-else
-  JDK_DEVTOOLS_DIR =$(SLASH_JAVA)/devtools
-endif
-
-# COMPILER_PATH: path to where the compiler and tools are installed.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_COMPILER_PATH)" "undefined"
-  COMPILER_PATH :=$(call PrefixPath,$(ALT_COMPILER_PATH))
-else
-  COMPILER_PATH  =/usr/bin/
-endif
-
-# OPENWIN_HOME: path to where the X11 environment is installed.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq ($(ALT_OPENWIN_HOME),)
-  OPENWIN_HOME :=$(call PrefixPath,$(ALT_OPENWIN_HOME))
-else
-  OPENWIN_HOME  ?=$(SYS_ROOT)/usr/X11R6/
-endif
-
-# DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_DEVTOOLS_PATH)" "undefined"
-  DEVTOOLS_PATH :=$(call PrefixPath,$(ALT_DEVTOOLS_PATH))
-else
-  DEVTOOLS_PATH =/usr/bin/
-endif
-
-# _BOOTDIR1: First choice for a Bootstrap JDK, previous released JDK.
-# _BOOTDIR2: Second choice
-ifndef ALT_BOOTDIR
-  _BOOTDIR1  =$(SLASH_JAVA)/re/jdk/$(PREVIOUS_JDK_VERSION)/archive/fcs/binaries/$(PLATFORM)-$(ARCH)
-  _BOOTDIR2  =$(USRJDKINSTANCES_PATH)/jdk$(PREVIOUS_JDK_VERSION)
-endif
-
-# Always build headless on Linux
-BUILD_HEADLESS = true
-LIBM=-lm
-
-# GCC29_COMPILER_PATH: is the path to where the gcc 2.9 compiler is installed
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifdef ALT_GCC29_COMPILER_PATH
-  GCC29_COMPILER_PATH :=$(call PrefixPath,$(ALT_GCC29_COMPILER_PATH))
-else
-  GCC29_COMPILER_PATH = $(JDK_DEVTOOLS_DIR)/$(PLATFORM)/gcc29/usr/
-endif
-
-_CUPS_HEADERS_PATH=/usr/include
-
-# Import JDK images allow for partial builds, components not built are
-#    imported (or copied from) these import areas when needed.
-
-# BUILD_JDK_IMPORT_PATH: location of JDK install trees to import for 
-#   multiple platforms, e.g. windows-i586, solaris-sparc, linux-586, etc.
-ifdef ALT_BUILD_JDK_IMPORT_PATH
-  BUILD_JDK_IMPORT_PATH  :=$(call FullPath,$(ALT_BUILD_JDK_IMPORT_PATH))
-else
-  BUILD_JDK_IMPORT_PATH   = $(PROMOTED_BUILD_BINARIES)
-endif
-
-# JDK_IMPORT_PATH: location of JDK install tree (this version) to import
-ifdef ALT_JDK_IMPORT_PATH
-  JDK_IMPORT_PATH  :=$(call FullPath,$(ALT_JDK_IMPORT_PATH))
-else
-  JDK_IMPORT_PATH   = $(BUILD_JDK_IMPORT_PATH)/$(PLATFORM)-$(ARCH)$(_JDK_IMPORT_VARIANT)
-endif
-
-# HOTSPOT_IMPORT_PATH: location of hotspot pre-built files
-ifdef ALT_HOTSPOT_IMPORT_PATH
-  HOTSPOT_IMPORT_PATH :=$(call FullPath,$(ALT_HOTSPOT_IMPORT_PATH))
-else
-  HOTSPOT_IMPORT_PATH ?=$(JDK_IMPORT_PATH)
-endif
-
-# HOTSPOT_CLIENT_PATH: location of client jvm library file.
-ifeq ($(ARCH_DATA_MODEL), 32)
-  ifdef ALT_HOTSPOT_CLIENT_PATH
-    HOTSPOT_CLIENT_PATH :=$(call FullPath,$(ALT_HOTSPOT_CLIENT_PATH))
-  else
-    HOTSPOT_CLIENT_PATH   =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/client
-  endif
-endif
-
-# HOTSPOT_SERVER_PATH: location of server jvm library file.
-ifdef ALT_HOTSPOT_SERVER_PATH
-  HOTSPOT_SERVER_PATH :=$(call FullPath,$(ALT_HOTSPOT_SERVER_PATH))
-else
-  HOTSPOT_SERVER_PATH   =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/server
-endif
-
-# Special define for checking the binaries
-
-# Debug builds should downgrade warnings to just info
-MAPFILE_WARNING-DBG=INFO
-MAPFILE_WARNING-OPT=WARNING
-MAPFILE_WARNING-=WARNING
-MAPFILE_WARNING=$(MAPFILE_WARNING-$(VARIANT))
-
-# Macro to check it's input file for banned dependencies and verify the
-#   binary built properly. Relies on process exit code.
-ifndef CROSS_COMPILE_ARCH
-define binary_file_verification # binary_file
-( \
-  $(ECHO) "Checking for mapfile use in: $1" && \
-  if [ "`$(NM) -D -g --defined-only $1 | $(EGREP) 'SUNWprivate'`" = "" ] ; then \
-    $(ECHO) "$(MAPFILE_WARNING): File was not built with a mapfile: $1"; \
-  fi && \
-  $(ECHO) "Library loads for: $1" && \
-  $(LDD) $1 && \
-  $(ECHO) "RUNPATH for: $1" && \
-  ( $(READELF) -d $1 | $(EGREP) 'NEEDED|RUNPATH|RPATH' ) \
-)
-endef
-else
-define binary_file_verification 
-( \
-  $(ECHO) "Skipping binary file verification for cross-compile build" \
-)
-endef
-endif
-
--- a/jdk/makefiles/common/shared/Defs-macosx.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,252 +0,0 @@
-#
-# Copyright (c) 2005, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Definitions for Bsd.
-#
-
-# Default for COMPILER_WARNINGS_FATAL on Bsd (C & C++ compiler warnings)
-ifndef COMPILER_WARNINGS_FATAL
-  COMPILER_WARNINGS_FATAL=false
-endif
-
-# Bsd should use parallel compilation for best build times
-ifndef COMPILE_APPROACH
-  COMPILE_APPROACH = parallel
-endif
-
-# Indication that we are doing an incremental build.
-#    This may trigger the creation of make depend files.
-ifndef INCREMENTAL_BUILD
-  INCREMENTAL_BUILD = false
-endif
-
-# FullPath just makes sure it never ends with a / and no duplicates
-define FullPath
-$(shell cd $1 2> $(DEV_NULL) && pwd)
-endef
-
-# OptFullPath: Absolute path name of a dir that might not initially exist.
-define OptFullPath
-$(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi)
-endef
-
-# Location on system where jdk installs might be
-USRJDKINSTANCES_PATH = $(PACKAGE_PATH)
-
-# UNIXCOMMAND_PATH: path to where the most common Unix commands are.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_UNIXCOMMAND_PATH)" "undefined"
-  UNIXCOMMAND_PATH :=$(call PrefixPath,$(ALT_UNIXCOMMAND_PATH))
-else
-  UNIXCOMMAND_PATH  = /bin/
-endif
-
-# USRBIN_PATH: path to where the most common Unix commands are.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_USRBIN_PATH)" "undefined"
-  USRBIN_PATH :=$(call PrefixPath,$(ALT_USRBIN_PATH))
-else
-  USRBIN_PATH  = /usr/bin/
-endif
-
-# UNIXCCS_PATH: path to where the Solaris ported UNIX commands can be found
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_UNIXCCS_PATH)" "undefined"
-  UNIXCCS_PATH :=$(call PrefixPath,$(ALT_UNIXCCS_PATH))
-else
-  UNIXCCS_PATH = /usr/ccs/bin/
-endif
-
-# SLASH_JAVA: location of all network accessable files
-ifdef ALT_SLASH_JAVA
-  SLASH_JAVA  :=$(ALT_SLASH_JAVA)
-else
-  SLASH_JAVA  := $(call DirExists,/java,/java,/NOT-SET)
-endif
-
-# JDK_DEVTOOLS_DIR: common path for all the java devtools
-ifdef ALT_JDK_DEVTOOLS_DIR
-  JDK_DEVTOOLS_DIR  =$(ALT_JDK_DEVTOOLS_DIR)
-else
-  JDK_DEVTOOLS_DIR =$(SLASH_JAVA)/devtools
-endif
-
-# COMPILER_PATH: path to where the compiler and tools are installed.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_COMPILER_PATH)" "undefined"
-  COMPILER_PATH :=$(call PrefixPath,$(ALT_COMPILER_PATH))
-else
- ifeq ($(OS_VENDOR), Apple)
-  ifndef DEVELOPER_DIR
-   DEVELOPER_DIR = $(shell /usr/bin/xcode-select -print-path)/usr/bin/
-  endif
-  
-  COMPILER_PATH  := $(call DirExists,$(DEVELOPER_DIR),/usr/bin/,/NOT-SET)
- else
-  COMPILER_PATH  =/usr/bin/
- endif
-endif
-
-# OPENWIN_HOME: path to where the X11 environment is installed.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq ($(ALT_OPENWIN_HOME),)
-  OPENWIN_HOME :=$(call PrefixPath,$(ALT_OPENWIN_HOME))
-else
-  OPENWIN_HOME  ?=$(X11_PATH)
-endif
-
-# DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_DEVTOOLS_PATH)" "undefined"
-  DEVTOOLS_PATH :=$(call PrefixPath,$(ALT_DEVTOOLS_PATH))
-else
-  DEVTOOLS_PATH =$(PACKAGE_PATH)/bin/
-endif
-
-# _BOOTDIR1: First choice for a Bootstrap JDK, previous released JDK.
-# _BOOTDIR2: Second choice
-ifndef ALT_BOOTDIR
-  _BOOTDIR1  =$(SLASH_JAVA)/re/jdk/$(PREVIOUS_JDK_VERSION)/archive/fcs/binaries/$(PLATFORM)-$(ARCH)
-  _BOOTDIR2  =$(USRJDKINSTANCES_PATH)/jdk$(PREVIOUS_JDK_VERSION)
-endif
-
-# Always build headless on Bsd
-BUILD_HEADLESS = true
-LIBM=-lm
-
-ifeq ($(OS_VENDOR), Apple)
-  _CUPS_HEADERS_PATH=/usr/include
-else
-  _CUPS_HEADERS_PATH=$(PACKAGE_PATH)/include
-endif
-
-# Import JDK images allow for partial builds, components not built are
-#    imported (or copied from) these import areas when needed.
-
-# BUILD_JDK_IMPORT_PATH: location of JDK install trees to import for 
-#   multiple platforms, e.g. windows-i586, solaris-sparc, bsd-586, etc.
-ifdef ALT_BUILD_JDK_IMPORT_PATH
-  BUILD_JDK_IMPORT_PATH  :=$(call FullPath,$(ALT_BUILD_JDK_IMPORT_PATH))
-else
-  BUILD_JDK_IMPORT_PATH   = $(PROMOTED_BUILD_BINARIES)
-endif
-BUILD_JDK_IMPORT_PATH:=$(call AltCheckValue,BUILD_JDK_IMPORT_PATH)
-
-# JDK_IMPORT_PATH: location of JDK install tree (this version) to import
-ifdef ALT_JDK_IMPORT_PATH
-  JDK_IMPORT_PATH  :=$(call FullPath,$(ALT_JDK_IMPORT_PATH))
-else
-  JDK_IMPORT_PATH   = $(BUILD_JDK_IMPORT_PATH)/$(PLATFORM)-$(ARCH)$(_JDK_IMPORT_VARIANT)
-endif
-JDK_IMPORT_PATH:=$(call AltCheckValue,JDK_IMPORT_PATH)
-
-# HOTSPOT_IMPORT_PATH: location of hotspot pre-built files
-ifdef ALT_HOTSPOT_IMPORT_PATH
-  HOTSPOT_IMPORT_PATH :=$(call FullPath,$(ALT_HOTSPOT_IMPORT_PATH))
-else
-  HOTSPOT_IMPORT_PATH ?=$(JDK_IMPORT_PATH)
-endif
-HOTSPOT_IMPORT_PATH:=$(call AltCheckValue,HOTSPOT_IMPORT_PATH)
-
-# HOTSPOT_CLIENT_PATH: location of client jvm library file.
-ifeq ($(ARCH_DATA_MODEL), 32)
-  ifdef ALT_HOTSPOT_CLIENT_PATH
-    HOTSPOT_CLIENT_PATH :=$(call FullPath,$(ALT_HOTSPOT_CLIENT_PATH))
-  else
-    HOTSPOT_CLIENT_PATH   =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/client
-  endif
-  HOTSPOT_CLIENT_PATH:=$(call AltCheckValue,HOTSPOT_CLIENT_PATH)
-endif
-
-# HOTSPOT_SERVER_PATH: location of server jvm library file.
-ifdef ALT_HOTSPOT_SERVER_PATH
-  HOTSPOT_SERVER_PATH :=$(call FullPath,$(ALT_HOTSPOT_SERVER_PATH))
-else
-  HOTSPOT_SERVER_PATH   =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/server
-endif
-HOTSPOT_SERVER_PATH:=$(call AltCheckValue,HOTSPOT_SERVER_PATH)
-
-# Special define for checking the binaries
-
-# Debug builds should downgrade warnings to just info
-MAPFILE_WARNING-DBG=INFO
-MAPFILE_WARNING-OPT=WARNING
-MAPFILE_WARNING-=WARNING
-MAPFILE_WARNING=$(MAPFILE_WARNING-$(VARIANT))
-
-# Macro to check it's input file for banned dependencies and verify the
-#   binary built properly. Relies on process exit code.
-ifndef CROSS_COMPILE_ARCH
-ifeq ($(OS_VENDOR), Apple)
-define binary_file_verification # binary_file
-( \
-  $(ECHO) "Checking for mapfile use in: $1" && \
-  if [ "`$(NM) -g $1 | $(EGREP) 'SUNWprivate'`" = "" ] ; then \
-    $(ECHO) "WARNING: File was not built with a mapfile: $1"; \
-  fi && \
-  $(ECHO) "Library loads for: $1" && \
-  $(OTOOL) -L $1 && \
-  $(ECHO) "RUNPATH for: $1" && \
-  ( $(OTOOL) -l $1 | $(EGREP) 'path ' ) \
-) || true
-endef
-else
-ifeq ($(OS_VENDOR), OpenBSD)
-define binary_file_verification # binary_file
-( \
-  $(ECHO) "Checking for mapfile use in: $1" && \
-  if [ "`$(OBJDUMP) -T $1 | $(EGREP) '[0-9a-f]* g *DF \.text.*SUNWprivate'`" = "" ] ; then \
-    $(ECHO) "$(MAPFILE_WARNING): File was not built with a mapfile: $1"; \
-  fi && \
-  $(ECHO) "Library loads for: $1" && \
-  $(LDD) $1 && \
-  $(ECHO) "RUNPATH for: $1" && \
-  ( $(READELF) -d $1 | $(EGREP) 'NEEDED|RUNPATH|RPATH' ) \
-) || true
-endef
-else
-define binary_file_verification # binary_file
-( \
-  $(ECHO) "Checking for mapfile use in: $1" && \
-  if [ "`$(NM) -D -g --defined-only $1 | $(EGREP) 'SUNWprivate'`" = "" ] ; then \
-    $(ECHO) "$(MAPFILE_WARNING): File was not built with a mapfile: $1"; \
-  fi && \
-  $(ECHO) "Library loads for: $1" && \
-  $(LDD) $1 && \
-  $(ECHO) "RUNPATH for: $1" && \
-  ( $(READELF) -d $1 | $(EGREP) 'NEEDED|RUNPATH|RPATH' ) \
-)
-endef
-endif # OS_VENDOR == OpenBSD
-endif # OS_VENDOR == Apple
-else
-define binary_file_verification 
-( \
-  $(ECHO) "Skipping binary file verification for cross-compile build" \
-)
-endef
-endif
-
--- a/jdk/makefiles/common/shared/Defs-solaris.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +0,0 @@
-#
-# Copyright (c) 2005, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Definitions for Solaris.
-#
-
-# Default for COMPILER_WARNINGS_FATAL on Solaris (C & C++ compiler warnings)
-ifndef COMPILER_WARNINGS_FATAL
-  COMPILER_WARNINGS_FATAL=false
-endif
-
-# Solaris should use parallel compilation for best build times
-ifndef COMPILE_APPROACH
-  COMPILE_APPROACH = parallel
-endif
-
-# Indication that we are doing an incremental build.
-#    This may trigger the creation of make depend files.
-ifndef INCREMENTAL_BUILD
-  INCREMENTAL_BUILD = false
-endif
-
-# FullPath just makes sure it never ends with a / and no duplicates
-define FullPath
-$(shell cd $1 2> $(DEV_NULL) && pwd)
-endef
-
-# OptFullPath: Absolute path name of a dir that might not initially exist.
-define OptFullPath
-$(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi)
-endef
-
-# Location on system where jdk installs might be
-USRJDKINSTANCES_PATH =/usr/jdk/instances
-
-# UNIXCOMMAND_PATH: path to where the most common Unix commands are.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_UNIXCOMMAND_PATH)" "undefined"
-  UNIXCOMMAND_PATH :=$(call PrefixPath,$(ALT_UNIXCOMMAND_PATH))
-else
-  UNIXCOMMAND_PATH  = /usr/bin/
-endif
-
-# UNIXCCS_PATH: path to where the less common UNIX commands can be found
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_UNIXCCS_PATH)" "undefined"
-  UNIXCCS_PATH :=$(call PrefixPath,$(ALT_UNIXCCS_PATH))
-else
-  UNIXCCS_PATH = /usr/ccs/bin/
-endif
-
-# SLASH_JAVA: location of all network accessable files
-ifdef ALT_SLASH_JAVA
-  SLASH_JAVA  :=$(ALT_SLASH_JAVA)
-else
-  SLASH_JAVA  := $(call DirExists,/java,/java,/NOT-SET)
-endif
-
-# JDK_DEVTOOLS_DIR: common path for all the java devtools
-ifdef ALT_JDK_DEVTOOLS_DIR
-  JDK_DEVTOOLS_DIR  =$(ALT_JDK_DEVTOOLS_DIR)
-else
-  JDK_DEVTOOLS_DIR =$(SLASH_JAVA)/devtools
-endif
-
-# COMPILER_PATH: path to where the compiler and tools are installed.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_COMPILER_PATH)" "undefined"
-  COMPILER_PATH :=$(call PrefixPath,$(ALT_COMPILER_PATH))
-else
-  # If the place where we keep a set of Sun Studio compilers doesn't exist,
-  #  try and use /opt/SUNWspro, the default location for the SS compilers.
-  #  (DirExists checks for this path twice, an automount double check)
-  _SUNSTUDIO_SET_ROOT=$(JDK_DEVTOOLS_DIR)/$(ARCH_FAMILY)/SUNWspro
-  SUNSTUDIO_SET_ROOT:=$(call DirExists,$(_SUNSTUDIO_SET_ROOT),$(_SUNSTUDIO_SET_ROOT),)
-  ifneq ($(SUNSTUDIO_SET_ROOT),)
-    COMPILER_PATH =$(SUNSTUDIO_SET_ROOT)/$(REQUIRED_COMPILER_VERSION)/bin/
-  else
-    COMPILER_PATH =/opt/SUNWspro/bin/
-  endif
-endif
-
-# DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_DEVTOOLS_PATH)" "undefined"
-  DEVTOOLS_PATH :=$(call PrefixPath,$(ALT_DEVTOOLS_PATH))
-else
-  ifdef ALT_JDK_DEVTOOLS_DIR
-    DEVTOOLS_PATH =$(JDK_DEVTOOLS_DIR)/$(ARCH_FAMILY)/bin/
-  else
-    ifdef OPENJDK
-      DEVTOOLS_PATH = /usr/bin/
-    else
-      DEVTOOLS_PATH =$(JDK_DEVTOOLS_DIR)/$(ARCH_FAMILY)/bin/
-    endif
-  endif
-endif
-
-# _BOOTDIR1: First choice for a Bootstrap JDK, previous released JDK.
-# _BOOTDIR2: Second choice
-ifndef ALT_BOOTDIR
-  _BOOTDIR1  =$(SLASH_JAVA)/re/jdk/$(PREVIOUS_JDK_VERSION)/archive/fcs/binaries/$(PLATFORM)-$(ARCH)
-  _BOOTDIR2  =$(USRJDKINSTANCES_PATH)/jdk$(PREVIOUS_JDK_VERSION)
-endif
-
-# GCC_COMPILER_PATH: path to where the gcc/g++ compiler and tools are installed
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_GCC_COMPILER_PATH)" "undefined"
-  GCC_COMPILER_PATH :=$(call PrefixPath,$(ALT_GCC_COMPILER_PATH))
-else
-  GCC_COMPILER_PATH = $(JDK_DEVTOOLS_DIR)/$(ARCH_FAMILY)/gnucc/bin/
-endif
-
-
-# Always build headless on Solaris
-BUILD_HEADLESS = true
-
-_CUPS_HEADERS_PATH=/opt/sfw/cups/include
-
-# Import JDK images allow for partial builds, components not built are
-#    imported (or copied from) these import areas when needed.
-
-# BUILD_JDK_IMPORT_PATH: location of JDK install trees to import for 
-#   multiple platforms, e.g. windows-i586, solaris-sparc, linux-586, etc.
-ifdef ALT_BUILD_JDK_IMPORT_PATH
-  BUILD_JDK_IMPORT_PATH  :=$(call FullPath,$(ALT_BUILD_JDK_IMPORT_PATH))
-else
-  BUILD_JDK_IMPORT_PATH   = $(PROMOTED_BUILD_BINARIES)
-endif
-
-# JDK_IMPORT_PATH: location of previously built JDK (this version) to import
-ifdef ALT_JDK_IMPORT_PATH
-  JDK_IMPORT_PATH  :=$(call FullPath,$(ALT_JDK_IMPORT_PATH))
-else
-  JDK_IMPORT_PATH   = $(BUILD_JDK_IMPORT_PATH)/$(PLATFORM)-$(ARCH)$(_JDK_IMPORT_VARIANT)
-endif
-
-# HOTSPOT_IMPORT_PATH: location of hotspot pre-built files
-ifdef ALT_HOTSPOT_IMPORT_PATH
-  HOTSPOT_IMPORT_PATH :=$(call FullPath,$(ALT_HOTSPOT_IMPORT_PATH))
-else
-  HOTSPOT_IMPORT_PATH ?=$(JDK_IMPORT_PATH)
-endif
-
-# HOTSPOT_CLIENT_PATH: location of client jvm library file.
-ifeq ($(ARCH_DATA_MODEL), 32)
-  ifdef ALT_HOTSPOT_CLIENT_PATH
-    HOTSPOT_CLIENT_PATH :=$(call FullPath,$(ALT_HOTSPOT_CLIENT_PATH))
-  else
-    HOTSPOT_CLIENT_PATH   =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/client
-  endif
-endif
-
-# HOTSPOT_SERVER_PATH: location of server jvm library file.
-ifdef ALT_HOTSPOT_SERVER_PATH
-  HOTSPOT_SERVER_PATH :=$(call FullPath,$(ALT_HOTSPOT_SERVER_PATH))
-else
-  HOTSPOT_SERVER_PATH   =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/server
-endif
-
-# Special define for checking the binaries
-
-# Debug builds should downgrade warnings to just info
-MAPFILE_WARNING-DBG=INFO
-MAPFILE_WARNING-OPT=WARNING
-MAPFILE_WARNING-=WARNING
-MAPFILE_WARNING=$(MAPFILE_WARNING-$(VARIANT))
-
-# Some libraries do not have mapfiles for multiple reasons.
-#   These libraries for sparc and sparcv9 are exceptions to the mapfile rule:
-#     libjdgaSUNWafb.so
-#     libjdgaSUNWcg6.so
-#     libjdgaSUNWffb.so
-#     libjdgaSUNWm64.so
-#     libxinerama.so
-#   The library libJdbcOdbc.so has also been given an exception.
-#   The JNI/JVMTI demo libraries are also missing mapfiles, no exceptions yet.
-ifeq ($(ARCH_FAMILY),sparc)
-  MAPFILE_EXCEPTIONS = \
-    (libJdbcOdbc|libjdgaSUNWafb|libjdgaSUNWcg6|libjdgaSUNWffb|libjdgaSUNWm64|libxinerama)
-else
-  MAPFILE_EXCEPTIONS = (libJdbcOdbc)
-endif
-
-# Macro to check it's input file for banned dependencies and verify the
-#   binary built properly. Relies on process exit code.
-ifndef CROSS_COMPILE_ARCH
-ifneq (,$(DUMP))
-define binary_file_verification # binary_file
-( \
-  $(ECHO) "Checking for mapfile use in: $1" && \
-  if [ "`$(ECHO) $(basename $(notdir $1)) | $(EGREP) '$(MAPFILE_EXCEPTIONS)'`" = "" \
-       -a "`$(NM) -g -D $1 | $(EGREP) -v 'UNDEF' | $(EGREP) 'SUNWprivate'`" = "" ] ; then \
-    $(ECHO) "$(MAPFILE_WARNING): File was not built with a mapfile: $1"; \
-  fi && \
-  $(ECHO) "Library loads for: $1" && \
-  $(LDD) $1 && \
-  $(ECHO) "RUNPATH for: $1" && \
-  ( $(DUMP) -L -v $1 | $(EGREP) 'NEEDED|RUNPATH|RPATH' ) \
-)
-endef
-else
-define binary_file_verification 
-( \
-  $(ECHO) "Skipping binary file verification since no dump command found" \
-)
-endef
-endif
-else
-define binary_file_verification 
-( \
-  $(ECHO) "Skipping binary file verification for cross-compile build" \
-)
-endef
-endif
-
--- a/jdk/makefiles/common/shared/Defs-versions.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,215 +0,0 @@
-#
-# Copyright (c) 2009, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# WARNING: This file is shared with other workspaces.
-#
-
-# This file needs these set: PLATFORM, ARCH_FAMILY, and ARCH_DATA_MODEL.
-
-# Windows uses Microsoft compilers by default
-ifeq ($(PLATFORM), windows)
-  override CC_VERSION = msvc
-endif
-
-# Solaris uses Sun Studio compilers by default
-ifeq ($(PLATFORM), solaris)
-  override CC_VERSION = sun
-endif
-
-# Linux uses GNU compilers by default
-ifeq ($(PLATFORM), linux)
-  override CC_VERSION = gcc
-endif
-
-# Mac OS X uses LLVM by default
-ifeq ($(PLATFORM), macosx)
-  override CC_VERSION = llvm
-endif
-
-##########################################################################
-#
-# List of JDK official minimum, expected, or required versions:
-#
-# REQUIRED_ALSA_VERSION
-#   Linux only: The ALSA sound library version expected.
-#
-# REQUIRED_ANT_VER
-#   The minimum 'ant' version.
-#
-# REQUIRED_BOOT_VER
-#   The minimum boot jdk version.
-#
-# REQUIRED_CC_VER
-#   The primary C compiler version expected.
-#
-# REQUIRED_COMPILER_NAME
-#   The long descriptive name of the compiler we should use
-#
-# REQUIRED_COMPILER_VERSION
-#   The one word name that identifies the compilers being used.
-#
-# REQUIRED_CYGWIN_VER
-#   Windows only: If CYGWIN is used, the minimum CYGWIN version.
-#
-# REQUIRED_DXSDK_VER
-#   Windows only: The version of DirectX SDK expected.
-#
-# REQUIRED_FREETYPE_VERSION
-#   If we are using freetype, the freetype version expected.
-#
-# REQUIRED_GCC_VER
-#   Solaris and Linux only. The required version of gcc/g++ for the legacy OJI plugin.
-#
-# REQUIRED_LINK_VER
-#   Windows only: The version of link.exe expected.
-#
-# REQUIRED_MAKE_VER
-#   The minimum version of GNU make.
-#
-# REQUIRED_MKS_VER
-#   Windows only: If MKS used instead of CYGWIN, the minimum version of MKS.
-#
-# REQUIRED_OS_VARIANT_NAME
-#   The OS variation name required.
-#     Solaris: Solaris or OpenSolaris
-#     Windows: Windows2000, WindowsXP, Windows2003, etc.
-#     Linux: Fedora, RedHat, SuSE, Ubuntu, etc.
-#
-# REQUIRED_OS_VARIANT_VERSION
-#   The version number associated with the above OS variant name.
-#     Solaris: output of uname -r
-#     Windows: 5.0 for Windows2000, 5.1 for WindowsXP, 5.2 for Windows2003, etc.
-#     Linux: number for the variant, e.g. 9 for Fedora 9
-#
-# REQUIRED_OS_VERSION
-#   The formal OS version number.
-#     Solaris & Windows: same as REQUIRED_OS_VARIANT_VERSION
-#     Linux: the kernel version, or output of uname -r
-#
-# REQUIRED_UNZIP_VER
-#   The minimum version of unzip.
-#
-# REQUIRED_ZIP_VER
-#   The minimum version of unzip.
-#
-###########
-#
-# Differences in the build platform from these versions may trigger warnings
-#   messages during the sanity checking when building the JDK.
-#
-# When building the OpenJDK most of these required or expected  versions are 
-#  ignored or allowed to vary widely to accomodate the many build situations
-#  of the OpenJDK.
-#
-##########################################################################
-
-# Solaris specific
-ifeq ($(PLATFORM), solaris)
-  REQUIRED_OS_NAME            = SunOS
-  REQUIRED_OS_VERSION         = 5.10
-  REQUIRED_OS_VARIANT_NAME    = Solaris
-  REQUIRED_OS_VARIANT_VERSION = $(REQUIRED_OS_VERSION)
-  REQUIRED_COMPILER_NAME      = Sun Studio 12 Update 1
-  REQUIRED_COMPILER_VERSION   = SS12u1
-  # Cross-compilation compiler versions are target specific
-  # so don't set a required version if cross-compiling
-  ifndef CROSS_COMPILE_ARCH
-    ifeq ($(CC_VERSION),sun)
-      REQUIRED_CC_VER           = 5.10
-    endif
-    ifeq ($(CC_VERSION),gcc)
-      REQUIRED_CC_VER           = 3.4.3
-    endif
-  endif
-  REQUIRED_GCC_VER            = 2.95.2
-endif
-
-# Linux specific
-ifeq ($(PLATFORM), linux)
-  REQUIRED_OS_NAME            = Linux
-  REQUIRED_OS_VERSION         = 2.6
-  REQUIRED_OS_VARIANT_NAME    = Fedora
-  REQUIRED_OS_VARIANT_VERSION = 9
-  REQUIRED_ALSA_VERSION       = 0.9.1
-  REQUIRED_COMPILER_NAME      = GCC4
-  REQUIRED_COMPILER_VERSION   = GCC4
-  REQUIRED_GCC_VER            = 2.95
-  # Cross-compilation compiler versions are target specific
-  # so don't set a required version if cross-compiling
-  ifndef CROSS_COMPILE_ARCH
-    ifeq ($(CC_VERSION),gcc)
-      REQUIRED_CC_VER           = 4.3.0
-    endif
-    ifeq ($(CC_VERSION),sun)
-      REQUIRED_CC_VER           = 5.10
-    endif
-  endif
-endif
-
-# Mac specific
-ifeq ($(PLATFORM), macosx)
-  REQUIRED_OS_NAME            = Darwin
-  REQUIRED_OS_VERSION         = 11.2
-  REQUIRED_OS_VARIANT_NAME    = MacOSX
-  REQUIRED_OS_VARIANT_VERSION = 10.7.2
-  REQUIRED_COMPILER_NAME      = GCC4
-  REQUIRED_COMPILER_VERSION   = GCC4
-  REQUIRED_CC_VER             = 4.2.1
-endif
-
-# Windows specific
-ifeq ($(PLATFORM), windows)
-  REQUIRED_OS_NAME            = Windows
-  ifeq ($(ARCH_DATA_MODEL),64)
-    REQUIRED_OS_VERSION       = 5.2
-    REQUIRED_OS_VARIANT_NAME  = Windows2003
-  else
-    REQUIRED_OS_VERSION       = 5.1
-    REQUIRED_OS_VARIANT_NAME  = WindowsXP
-  endif
-  REQUIRED_OS_VARIANT_VERSION = $(REQUIRED_OS_VERSION)
-  REQUIRED_CYGWIN_VER         = 4.0
-  REQUIRED_MKS_VER            = 6.1
-  REQUIRED_DXSDK_VER          = 0x0900
-  ifeq ($(CC_VERSION),msvc)
-    REQUIRED_COMPILER_NAME    = Visual Studio 10
-    REQUIRED_COMPILER_VERSION = VS2010
-    REQUIRED_CC_VER           = 16.00.30319.01
-    REQUIRED_LINK_VER         = 10.00.30319.01
-  endif
-  ifeq ($(CC_VERSION),gcc)
-    REQUIRED_CC_VER           = 3.4.3
-  endif
-endif
-
-# Generic
-REQUIRED_ANT_VER          = 1.7.1
-REQUIRED_BOOT_VER         = 1.7
-REQUIRED_FREETYPE_VERSION = 2.3.0
-REQUIRED_MAKE_VER         = 3.81
-REQUIRED_UNZIP_VER        = 5.12
-REQUIRED_ZIP_VER          = 2.2
-
--- a/jdk/makefiles/common/shared/Defs-windows.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,696 +0,0 @@
-#
-# Copyright (c) 2005, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Definitions for Windows.
-#
-
-# Default for COMPILER_WARNINGS_FATAL on Windows (C++ compiler warnings)
-#    Level: Default is 3, 0 means none, 4 is the most but may be unreliable
-#    Some makefiles may have set this to 0 to turn off warnings completely,
-#    which also effectively creates a COMPILER_WARNINGS_FATAL=false situation.
-#    Program.gmk may turn this down to 2 (building .exe's).
-#    Windows 64bit platforms are less likely to be warning free.
-#    Historically, Windows 32bit builds should be mostly warning free.
-#    VS2010 introduced a large number of security warnings that are off by
-#    default but will be turned back on with SHOW_ALL_WARNINGS=true.
-ifndef COMPILER_WARNING_LEVEL
-  COMPILER_WARNING_LEVEL=3
-endif
-ifndef COMPILER_WARNINGS_FATAL
-  COMPILER_WARNINGS_FATAL=false
-endif
-ifndef SHOW_ALL_WARNINGS
-  SHOW_ALL_WARNINGS = false
-endif
-
-# Windows should use parallel compilation for best build times
-ifndef COMPILE_APPROACH
-  COMPILE_APPROACH = normal
-endif
-
-# Indication that we are doing an incremental build.
-#    This may trigger the creation of make depend files.
-#    (This may not be working on windows yet, always force to false.)
-override INCREMENTAL_BUILD = false
-
-# WARNING: This is extremely touch stuff, between CYGWIN vs. MKS and all
-#          variations of MKS and CYGWIN releases, and 32bit vs 64bit,
-#          this file can give you nightmares.
-#
-# Notes:
-#   Keep all paths in the windows "mixed" style except CYGWIN UNXIXCOMMAND_PATH.
-#   Use of PrefixPath is critical, some variables must end with / (see NOTE).
-#   Use of quotes is critical due to possible spaces in paths coming from
-#     the environment variables, be careful.
-#   First convert \ to / with subst, keep it quoted due to blanks, then
-#     use cygpath -s or dosname -s to get the short non-blank name.
-#   If the MKS is old and doesn't have a dosname -s, you will be forced
-#     to set ALT variables with the short non-space directory names.
-#     If dosname doesn't appear to work, we won't use it.
-#     The dosname utility also wants to accept stdin if it is not supplied
-#     any path on the command line, this is really dangerous when using
-#     make variables that can easily become empty, so I use:
-#        echo $1 | dosname -s     instead of    dosname -s $1
-#     to prevent dosname from hanging up the make process when $1 is empty.
-#     The cygpath utility does not have this problem.
-#   The ALT values should never really have spaces or use \.
-#   Suspect these environment variables to have spaces and/or \ characters:
-#     SYSTEMROOT, SystemRoot, WINDIR, windir, PROGRAMFILES, ProgramFiles,
-#     DXSDK_DIR, MSTOOLS, Mstools, MSSDK, MSSdk, VCnnCOMNTOOLS, 
-#     MSVCDIR, MSVCDir.
-#     So use $(subst \,/,) on them first adding quotes and placing them in
-#         their own variable assigned with :=, then use FullPath.
-#
-
-ifdef USING_CYGWIN
-# Macro to effectively do a toupper without an exec
-define ToUpper
-$(subst a,A,$(subst b,B,$(subst c,C,$(subst d,D,$(subst e,E,$(subst f,F,\
-$(subst g,G,$(subst h,H,$(subst i,I,$(subst j,J,$(subst k,K,$(subst l,L,\
-$(subst m,M,$(subst n,N,$(subst o,O,$(subst p,P,$(subst q,Q,$(subst r,R,\
-$(subst s,S,$(subst t,T,$(subst u,U,$(subst v,V,$(subst w,W,$(subst x,X,\
-$(subst y,Y,$(subst z,Z,$1))))))))))))))))))))))))))
-endef
-# All possible drive letters
-drives=a b c d e f g h i j k l m n o p q r s t v u w x y z
-# Convert /cygdrive/ paths to the mixed style without an exec of cygpath
-#   Must be a path with no spaces. /cygdrive/letter is always lowercase
-#   and letter:/ is always uppercase coming from cygpath.
-define MixedPath
-$(patsubst /%,$(CYGWIN_HOME)/%,$(sort $(filter-out /cygdrive/%,$(foreach drive,$(drives),$(patsubst /cygdrive/$(drive)/%,$(call ToUpper,$(drive)):/%,$1)))))
-endef
-# Use FullPath to get C:/ style non-spaces path. Never ends with a /!
-# We assume cygpath is available in the search path
-#    NOTE: Use of 'pwd' with CYGWIN will not get you a mixed style path!
-define FullPath
-$(if $(word 2,$1),$(shell $(CYGPATH_CMD) $1 2> $(DEV_NULL)),$(call MixedPath,$(realpath $(subst ",,$1))))
-endef
-define OptFullPath
-$(shell if [ "$1" != "" -a -d "$1" ]; then $(CYGPATH_CMD) "$1" 2> $(DEV_NULL); else echo "$1"; fi)
-endef
-else
-# Temporary until we upgrade to MKS 8.7, MKS pwd returns mixed mode path
-define FullPath
-$(shell cd $1 2> $(DEV_NULL) && pwd)
-endef
-define OptFullPath
-$(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi)
-endef
-endif
-
-# System drive
-ifdef SYSTEMDRIVE
-  _system_drive =$(SYSTEMDRIVE)
-else
-  ifdef SystemDrive
-    _system_drive =$(SystemDrive)
-  endif
-endif
-_system_drive:=$(call CheckValue,_system_drive,C:)
-
-# UNIXCOMMAND_PATH: path to where the most common Unix commands are.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-#        With cygwin, just use this as is don't use FullPath on it.
-ifdef ALT_UNIXCOMMAND_PATH
-  ifdef USING_CYGWIN
-    UNIXCOMMAND_PATH       :=$(call PrefixPath,$(ALT_UNIXCOMMAND_PATH))
-  else
-    xALT_UNIXCOMMAND_PATH  :="$(subst \,/,$(ALT_UNIXCOMMAND_PATH))"
-    fxALT_UNIXCOMMAND_PATH :=$(call FullPath,$(xALT_UNIXCOMMAND_PATH))
-    UNIXCOMMAND_PATH       :=$(call PrefixPath,$(fxALT_UNIXCOMMAND_PATH))
-  endif
-else
-  ifdef USING_CYGWIN
-    UNIXCOMMAND_PATH :=$(call PrefixPath,/usr/bin)
-  else
-    ifdef ROOTDIR
-      xROOTDIR :="$(subst \,/,$(ROOTDIR))"
-      _rootdir :=$(call FullPath,$(xROOTDIR))
-    else
-      xROOTDIR :="$(_system_drive)/mksnt"
-      _rootdir :=$(call FullPath,$(xROOTDIR))
-    endif
-    ifneq ($(_rootdir),)
-      UNIXCOMMAND_PATH :=$(call PrefixPath,$(_rootdir)/mksnt)
-    endif
-  endif
-endif
-UNIXCOMMAND_PATH:=$(call AltCheckSpaces,UNIXCOMMAND_PATH)
-
-# Get version of MKS or CYGWIN
-ifndef USING_CYGWIN
-_MKS_VER :=$(shell $(MKSINFO) 2>&1 | $(GREP) Release | $(TAIL) -1 | $(SED) -e 's@.*\(Release.*\)@\1@')
-MKS_VER  :=$(call GetVersion,$(_MKS_VER))
-# At this point, we can re-define FullPath to use DOSNAME_CMD
-CHECK_MKS87:=$(call CheckVersions,$(MKS_VER),8.7)
-TRY_DOSNAME:=false
-ifeq ($(CHECK_MKS87),same)
-TRY_DOSNAME:=true
-endif
-# Newer should be ok
-ifeq ($(CHECK_MKS87),newer)
-TRY_DOSNAME:=true
-endif
-ifeq ($(TRY_DOSNAME),true)
-ifeq ($(shell $(UNIXCOMMAND_PATH)dosname -s $(_system_drive)/ 2> $(DEV_NULL)),$(_system_drive)/)
-_DOSNAME=$(UNIXCOMMAND_PATH)dosname
-DOSNAME_CMD:=$(_DOSNAME) -s
-define FullPath
-$(subst //,/,$(shell echo $1 | $(DOSNAME_CMD) 2> $(DEV_NULL)))
-endef
-endif # test dosname -s
-endif # TRY_DOSNAME
-endif # MKS
-
-# We try to get references to what we need via the default component
-#    environment variables, or what was used historically.
-
-# Process Windows values into FullPath values, these paths may have \ chars
-
-# System root
-ifdef SYSTEMROOT
-  xSYSTEMROOT  :="$(subst \,/,$(SYSTEMROOT))"
-  _system_root :=$(call FullPath,$(xSYSTEMROOT))
-else
-  ifdef SystemRoot
-     xSYSTEMROOT :="$(subst \,/,$(SystemRoot))"
-    _system_root :=$(call FullPath,$(xSYSTEMROOT))
-  else
-    ifdef WINDIR
-      xWINDIR      :="$(subst \,/,$(WINDIR))"
-      _system_root :=$(call FullPath,$(xWINDIR))
-    else
-      ifdef windir
-        xWINDIR      :="$(subst \,/,$(windir))"
-        _system_root :=$(call FullPath,$(xWINDIR))
-      endif
-    endif
-  endif
-endif
-_system_root:=$(call CheckValue,_system_root,$(_system_drive)/WINNT)
-
-# Program Files directory
-ifdef PROGRAMFILES
-  xPROGRAMFILES      :="$(subst \,/,$(PROGRAMFILES))"
-else
-  ifeq ($(ARCH_DATA_MODEL), 32)
-    xPROGRAMFILES    :="$(_system_drive)/Program Files"
-  else
-    xPROGRAMFILES    :="$(_system_drive)/Program Files (x86)"
-  endif
-endif
-ifeq ($(ARCH_DATA_MODEL), 32)
-  _program_files     :=$(call FullPath,$(xPROGRAMFILES))
-  _program_files32   :=$(_program_files)
-else
-  ifdef PROGRAMW6432
-    xPROGRAMW6432    :="$(subst \,/,$(PROGRAMW6432))"
-  else
-    xPROGRAMW6432    :="$(_system_drive)/Program Files"
-  endif
-  _program_files     :=$(call FullPath,$(xPROGRAMW6432))
-  _program_files32   :=$(call FullPath,$(xPROGRAMFILES))
-  ifneq ($(word 1,$(_program_files32)),$(_program_files32))
-    _program_files32:=
-  endif
-endif
-ifneq ($(word 1,$(_program_files)),$(_program_files))
-  _program_files:=
-endif
-
-# DirectX SDK
-ifdef ALT_DXSDK_DRIVE
-  _dx_sdk_dir  =$(ALT_DXSDK_DRIVE):/DXSDK
-else
-  ifdef DXSDK_DIR
-    xDXSDK_DIR  :="$(subst \,/,$(DXSDK_DIR))"
-  else
-    xDXSDK_DIR  :="$(_system_drive)/DXSDK"
-  endif
-  _dx_sdk_dir :=$(call FullPath,$(xDXSDK_DIR))
-endif
-
-# Use of the Visual Studio compilers requires certain env variables be set:
-#   PATH should include the path to cl.exe
-#   INCLUDE should be defined
-#   LIB     should be defined
-#   LIBPATH should be defined
-#   VS100COMNTOOLS should be defined
-#   WINDOWSSDKDIR should be defined
-#     The 7.0a path is from VS2010 Pro, the 7.1 path is the standalone SDK.
-#     For 64bit either will work for us.
-#     If a developer chooses to install the standalone SDK in some other
-#     location, then they need to set WINDOWSSDKDIR.
-#
-# Compilers for 64bit may be from the free SDK, or Visual Studio Professional.
-#   The free Express compilers don't contain 64 bit compilers, which is why
-#   you instead need the SDK.
-#   Release enginering will use VS2010 Pro, so the frequency of testing of
-#     SDK based builds will depend entirely on individual usage.
-
-# We only need to do this once
-ifndef VS2010_EXISTS
-  # The 2 key paths we need are WINDOWSSDKDIR and VS100COMNTOOLS.
-  #   If not defined try to see if default location exists.
-  #   If defined make sure that the path has no spaces.
-  #   Finally, export path with no spaces so logic minimizes FullPath calls.
-  ifndef WINDOWSSDKDIR
-    # The 7.0a SDK is the second choice.
-    xWINDOWSSDKDIR :="$(_program_files32)/Microsoft SDKs/Windows/v7.0a/"
-    fWINDOWSSDKDIR :=$(call FullPath,$(xWINDOWSSDKDIR))
-    # The 7.1 SDK is the second choice.
-    ifeq ($(fWINDOWSSDKDIR),)
-      xWINDOWSSDKDIR :="$(_program_files32)/Microsoft SDKs/Windows/v7.1/"
-      fWINDOWSSDKDIR :=$(call FullPath,$(xWINDOWSSDKDIR))
-    endif
-  else
-    ifneq ($(word 2,$(WINDOWSSDKDIR)),)
-      xWINDOWSSDKDIR :="$(subst \,/,$(WINDOWSSDKDIR))"
-      fWINDOWSSDKDIR :=$(call FullPath,$(xWINDOWSSDKDIR))
-    else
-      fWINDOWSSDKDIR :=$(WINDOWSSDKDIR)
-    endif
-  endif
-  ifneq ($(fWINDOWSSDKDIR),)
-    WINDOWSSDKDIR  :=$(fWINDOWSSDKDIR)/
-  endif
-  ifndef VS100COMNTOOLS
-    xVS100COMNTOOLS :="$(_program_files32)/Microsoft Visual Studio 10.0/Common7/Tools/"
-    fVS100COMNTOOLS :=$(call FullPath,$(xVS100COMNTOOLS))
-  else
-    xVS100COMNTOOLS :="$(subst \,/,$(VS100COMNTOOLS))"
-    ifneq ($(word 2,$(VS100COMNTOOLS)),)
-      fVS100COMNTOOLS :=$(call FullPath,$(xVS100COMNTOOLS))
-    else
-      fVS100COMNTOOLS :=$(xVS100COMNTOOLS)
-    endif
-  endif
-  ifneq ($(fVS100COMNTOOLS),)
-    VS100COMNTOOLS :=$(fVS100COMNTOOLS)/
-  endif
-  # Check to see that both exist
-  ifeq ($(WINDOWSSDKDIR),)
-    _vs2010_message := No WINDOWSSDKDIR found on system. $(_vs2010_message)
-    VS2010_EXISTS   := false
-  endif
-  ifeq ($(VS100COMNTOOLS),)
-    _vs2010_message := No VS100COMNTOOLS found on system. $(_vs2010_message)
-    VS2010_EXISTS   := false
-  endif
-  ifeq ($(VS2010_EXISTS),false)
-    x:=$(warning WARNING: No VS2010 available. $(_vs2010_message))
-    VS100COMNTOOLS :=
-    WINDOWSSDKDIR  :=
-  else
-    VS2010_EXISTS := true
-    _msvc_dir     :=$(VS100COMNTOOLS)/../../Vc
-  endif
-  export VS2010_EXISTS
-  export VS100COMNTOOLS
-  export WINDOWSSDKDIR
-endif
-
-ifneq ($(VS2010_EXISTS),true)
-  x:=$(error ERROR: No VS2010 found on system.)
-endif 
-
-# VS2010 Compiler root directory
-_msvc_dir :=$(VS100COMNTOOLS)/../../Vc
-# SDK root directory
-_ms_sdk   :=$(WINDOWSSDKDIR)
-# Compiler bin directory and redist directory
-ifeq ($(ARCH_DATA_MODEL), 32)
-  _compiler_bin :=$(_msvc_dir)/Bin
-  _redist_sdk   :=$(call FullPath,$(_msvc_dir)/redist/x86/Microsoft.VC100.CRT)
-endif
-ifeq ($(ARCH_DATA_MODEL), 64)
-  _compiler_bin :=$(_msvc_dir)/bin/amd64
-  _redist_sdk   :=$(call FullPath,$(_msvc_dir)/redist/x64/Microsoft.VC100.CRT)
-endif
-ifeq ($(_redist_sdk),)
-  _redist_sdk   :=$(_system_root)/system32
-endif
-
-# Location on system where jdk installs might be
-ifneq ($(_program_files),)
-  USRJDKINSTANCES_PATH =$(_program_files)/Java
-else
-  USRJDKINSTANCES_PATH =$(_system_drive)/
-endif
-
-# SLASH_JAVA: location of all network accessable files
-# NOTE: Do not use FullPath on this because it's often a drive letter and
-#       plain drive letters are ambiguous, so just use this 'as is'.
-ifdef ALT_SLASH_JAVA
-  xALT_SLASH_JAVA :="$(subst \,/,$(ALT_SLASH_JAVA))"
-  SLASH_JAVA      :=$(xALT_SLASH_JAVA)
-else
-  ifdef ALT_JDK_JAVA_DRIVE
-    SLASH_JAVA  =$(JDK_JAVA_DRIVE)
-  else
-    SLASH_JAVA  =J:
-  endif
-endif
-#SLASH_JAVA:=$(call AltCheckSpaces,SLASH_JAVA)
-
-# JDK_DEVTOOLS_DIR: common path for all the java devtools
-ifdef ALT_JDK_DEVTOOLS_DIR
-  xALT_JDK_DEVTOOLS_DIR :="$(subst \,/,$(ALT_JDK_DEVTOOLS_DIR))"
-  JDK_DEVTOOLS_DIR      :=$(call FullPath,$(xALT_JDK_DEVTOOLS_DIR))
-else
-  JDK_DEVTOOLS_DIR =$(SLASH_JAVA)/devtools
-endif
-JDK_DEVTOOLS_DIR:=$(call AltCheckSpaces,JDK_DEVTOOLS_DIR)
-
-# COMPILER_PATH: path to where the compiler and tools are installed.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifdef ALT_COMPILER_PATH
-  xALT_COMPILER_PATH  :="$(subst \,/,$(ALT_COMPILER_PATH))"
-  fxALT_COMPILER_PATH :=$(call FullPath,$(xALT_COMPILER_PATH))
-  COMPILER_PATH       :=$(call PrefixPath,$(fxALT_COMPILER_PATH))
-else
-  COMPILER_PATH :=$(call PrefixPath,$(_compiler_bin))
-endif
-COMPILER_PATH :=$(call AltCheckSpaces,COMPILER_PATH)
-
-# MSDEVTOOLS_PATH: path to where the additional MS Compiler tools are.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifdef ALT_MSDEVTOOLS_PATH
-  xALT_MSDEVTOOLS_PATH  :="$(subst \,/,$(ALT_MSDEVTOOLS_PATH))"
-  fxALT_MSDEVTOOLS_PATH :=$(call FullPath,$(xALT_MSDEVTOOLS_PATH))
-  MSDEVTOOLS_PATH       :=$(call PrefixPath,$(fxALT_MSDEVTOOLS_PATH))
-else
-  ifeq ($(ARCH_DATA_MODEL), 64)
-    ifdef MSTOOLS
-      xMSTOOLS  :="$(subst \,/,$(MSTOOLS))"
-      _ms_tools :=$(call FullPath,$(xMSTOOLS))
-    else
-      ifdef Mstools
-        xMSTOOLS  :="$(subst \,/,$(Mstools))"
-        _ms_tools :=$(call FullPath,$(xMSTOOLS))
-      else
-        _ms_tools :=
-      endif
-    endif
-    ifneq ($(_ms_tools),)
-      _ms_tools_bin :=$(_ms_tools)/Bin
-    else
-      # Assumes compiler bin is .../Bin/win64/x86/AMD64, rc.exe is 3 levels up
-      _ms_tools_bin :=$(_compiler_bin)/../../..
-    endif
-  else
-    _ms_tools_bin :=$(_compiler_bin)
-  endif
-  MSDEVTOOLS_PATH :=$(call PrefixPath,$(_ms_tools_bin))
-endif
-MSDEVTOOLS_PATH:=$(call AltCheckSpaces,MSDEVTOOLS_PATH)
-
-# DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifdef ALT_DEVTOOLS_PATH
-  xALT_DEVTOOLS_PATH  :="$(subst \,/,$(ALT_DEVTOOLS_PATH))"
-  fxALT_DEVTOOLS_PATH :=$(call FullPath,$(xALT_DEVTOOLS_PATH))
-  DEVTOOLS_PATH       :=$(call PrefixPath,$(fxALT_DEVTOOLS_PATH))
-else
-  ifdef USING_CYGWIN
-    DEVTOOLS_PATH :=$(UNIXCOMMAND_PATH)
-  else
-    xDEVTOOLS_PATH  :="$(_system_drive)/utils"
-    fxDEVTOOLS_PATH :=$(call FullPath,$(xDEVTOOLS_PATH))
-    DEVTOOLS_PATH  :=$(call PrefixPath,$(fxDEVTOOLS_PATH))
-  endif
-endif
-DEVTOOLS_PATH:=$(call AltCheckSpaces,DEVTOOLS_PATH)
-
-# _BOOTDIR1: First choice for a Bootstrap JDK, previous released JDK.
-# _BOOTDIR2: Second choice
-# The _BOOTDIR3 is defind optionally.
-ifndef ALT_BOOTDIR
-  _BOOTDIR1  =$(_system_drive)/jdk$(PREVIOUS_JDK_VERSION)
-  _BOOTDIR2  =$(USRJDKINSTANCES_PATH)/jdk$(PREVIOUS_JDK_VERSION)
-  _BOOTDIR3  =$(SLASH_JAVA)/re/jdk/$(PREVIOUS_JDK_VERSION)/archive/fcs/binaries/$(PLATFORM)-$(ARCH)
-endif
-
-# Everybody needs the MSVCRNN runtime starting with VS2010
-_NEEDS_MSVCRNN = true
-
-ifeq ($(_NEEDS_MSVCRNN), true)
-  # MSVCRNN_DLL_PATH: location of msvcrnn.dll that will be re-distributed
-  ifdef ALT_MSVCRNN_DLL_PATH
-    xALT_MSVCRNN_DLL_PATH :="$(subst \,/,$(ALT_MSVCRNN_DLL_PATH))"
-    MSVCRNN_DLL_PATH      :=$(call FullPath,$(xALT_MSVCRNN_DLL_PATH))
-  else
-    MSVCRNN_DLL_PATH :=$(_redist_sdk)
-  endif
-  MSVCRNN_DLL_PATH :=$(call AltCheckSpaces,MSVCRNN_DLL_PATH)
-endif
-
-# DXSDK_PATH: path to Microsoft DirectX SDK Include and Lib
-ifdef ALT_DXSDK_PATH
-  xALT_DXSDK_PATH :="$(subst \,/,$(ALT_DXSDK_PATH))"
-  DXSDK_PATH      :=$(call FullPath,$(xALT_DXSDK_PATH))
-else
-  _DXSDK_PATH1 :=$(_dx_sdk_dir)
-  _DXSDK_PATH2 :=$(JDK_DEVTOOLS_DIR)/windows/dxsdk
-  DXSDK_PATH  :=$(call DirExists,$(_DXSDK_PATH1),$(_DXSDK_PATH2),$(_dx_sdk_dir))
-endif
-DXSDK_PATH :=$(call AltCheckSpaces,DXSDK_PATH)
-
-# DXSDK_INCLUDE_PATH: path to Microsoft DirectX SDK Include
-ifdef ALT_DXSDK_INCLUDE_PATH
-  xALT_DXSDK_INCLUDE_PATH :="$(subst \,/,$(ALT_DXSDK_INCLUDE_PATH))"
-  DXSDK_INCLUDE_PATH      :=$(call FullPath,$(xALT_DXSDK_INCLUDE_PATH))
-else
-  DXSDK_INCLUDE_PATH =$(subst //,/,$(DXSDK_PATH)/Include)
-endif
-
-# DXSDK_LIB_PATH: path to Microsoft DirectX SDK Lib
-ifdef ALT_DXSDK_LIB_PATH
-  xALT_DXSDK_LIB_PATH :="$(subst \,/,$(ALT_DXSDK_LIB_PATH))"
-  DXSDK_LIB_PATH      :=$(call FullPath,$(xALT_DXSDK_LIB_PATH))
-else
-  ifeq ($(ARCH_DATA_MODEL), 64)
-    # 64bit libs are located in "Lib/x64" subdir
-    DXSDK_LIB_PATH =$(subst //,/,$(DXSDK_PATH)/Lib/x64)
-  else
-    DXSDK_LIB_PATH =$(subst //,/,$(DXSDK_PATH)/Lib)
-  endif
-endif
-
-# DEPLOY_MSSDK: Microsoft SDK for this platform (for deploy)
-ifdef ALT_DEPLOY_MSSDK
-  xALT_DEPLOY_MSSDK :="$(subst \,/,$(ALT_DEPLOY_MSSDK))"
-  DEPLOY_MSSDK      :=$(call FullPath,$(xALT_DEPLOY_MSSDK))
-else
-  DEPLOY_MSSDK      :=$(_ms_sdk)
-endif
-DEPLOY_MSSDK:=$(call AltCheckSpaces,DEPLOY_MSSDK)
-
-# INSTALL_MSSDK: Microsoft Installer SDK for this platform (for install)
-ifdef ALT_INSTALL_MSSDK
-  xALT_INSTALL_MSSDK :="$(subst \,/,$(ALT_INSTALL_MSSDK))"
-  INSTALL_MSSDK      :=$(call FullPath,$(xALT_INSTALL_MSSDK))
-else
-  INSTALL_MSSDK      :=$(_ms_sdk)
-endif
-INSTALL_MSSDK:=$(call AltCheckSpaces,INSTALL_MSSDK)
-
-# WSCRIPT: path to wscript.exe (used in creating install bundles)
-ifdef ALT_WSCRIPT
-  xALT_WSCRIPT :="$(subst \,/,$(ALT_WSCRIPT))"
-  WSCRIPT  =$(xALT_WSCRIPT)
-else
-  _WSCRIPT1 :=$(_system_root)/system32/wscript.exe
-  _WSCRIPT2 :=$(DEVTOOLS_PATH)wscript.exe
-  WSCRIPT  :=$(call FileExists,$(_WSCRIPT1),$(_WSCRIPT2))
-endif
-WSCRIPT:=$(call AltCheckSpaces,WSCRIPT)
-# batch mode no modal dialogs on errors, please.
-WSCRIPT += -B
-
-# CSCRIPT: path to cscript.exe (used in creating install bundles)
-ifdef ALT_CSCRIPT
-  xALT_CSCRIPT :="$(subst \,/,$(ALT_CSCRIPT))"
-  CSCRIPT  =$(xALT_CSCRIPT)
-else
-  _CSCRIPT1 :=$(_system_root)/system32/cscript.exe
-  _CSCRIPT2 :=$(DEVTOOLS_PATH)cscript.exe
-  CSCRIPT  :=$(call FileExists,$(_CSCRIPT1),$(_CSCRIPT2))
-endif
-CSCRIPT:=$(call AltCheckSpaces,CSCRIPT)
-
-# CABARC: path to cabarc.exe (used in creating install bundles)
-ifdef ALT_CABARC
-  xALT_CABARC :="$(subst \,/,$(ALT_CABARC))"
-  CABARC  =$(xALT_CABARC)
-else
-  _CABARC1 :=$(_system_root)/system32/cabarc.exe
-  _CABARC2 :=$(DEVTOOLS_PATH)cabarc.exe
-  CABARC  :=$(call FileExists,$(_CABARC1),$(_CABARC2))
-endif
-CABARC:=$(call AltCheckSpaces,CABARC)
-
-# MSICERT: path to msicert.exe (used in creating install bundles)
-ifdef ALT_MSICERT
-  xALT_MSICERT :="$(subst \,/,$(ALT_MSICERT))"
-  MSICERT  =$(xALT_MSICERT)
-else
-  _MSICERT1 :=$(INSTALL_MSSDK)/Bin/msicert.exe
-  _MSICERT2 :=$(DEVTOOLS_PATH)msicert.exe
-  MSICERT   :=$(call FileExists,$(_MSICERT1),$(_MSICERT2))
-endif
-MSICERT:=$(call AltCheckSpaces,MSICERT)
-
-# Import JDK images allow for partial builds, components not built are
-#    imported (or copied from) these import areas when needed.
-
-# BUILD_JDK_IMPORT_PATH: location of JDK install trees to import for
-#   multiple platforms, e.g. windows-i586, solaris-sparc, linux-586, etc.
-ifdef ALT_BUILD_JDK_IMPORT_PATH
-  BUILD_JDK_IMPORT_PATH  :=$(call FullPath,$(ALT_BUILD_JDK_IMPORT_PATH))
-else
-  BUILD_JDK_IMPORT_PATH   = $(PROMOTED_BUILD_BINARIES)
-endif
-BUILD_JDK_IMPORT_PATH:=$(call AltCheckSpaces,BUILD_JDK_IMPORT_PATH)
-
-# JDK_IMPORT_PATH: location of previously built JDK (this version) to import
-ifdef ALT_JDK_IMPORT_PATH
-  JDK_IMPORT_PATH  :=$(call FullPath,$(ALT_JDK_IMPORT_PATH))
-else
-  JDK_IMPORT_PATH   = $(BUILD_JDK_IMPORT_PATH)/$(PLATFORM)-$(ARCH)$(_JDK_IMPORT_VARIANT)
-endif
-JDK_IMPORT_PATH:=$(call AltCheckSpaces,JDK_IMPORT_PATH)
-
-# HOTSPOT_CLIENT_PATH: location of client jvm library file.
-ifeq ($(ARCH_DATA_MODEL), 32)
-  ifdef ALT_HOTSPOT_CLIENT_PATH
-    HOTSPOT_CLIENT_PATH :=$(call FullPath,$(ALT_HOTSPOT_CLIENT_PATH))
-  else
-    HOTSPOT_CLIENT_PATH   =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/client
-  endif
-  HOTSPOT_CLIENT_PATH:=$(call AltCheckSpaces,HOTSPOT_CLIENT_PATH)
-endif
-
-# HOTSPOT_SERVER_PATH: location of server jvm library file.
-ifdef ALT_HOTSPOT_SERVER_PATH
-  HOTSPOT_SERVER_PATH :=$(call FullPath,$(ALT_HOTSPOT_SERVER_PATH))
-else
-  HOTSPOT_SERVER_PATH   =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/server
-endif
-HOTSPOT_SERVER_PATH:=$(call AltCheckSpaces,HOTSPOT_SERVER_PATH)
-
-# HOTSPOT_LIB_PATH: location of jvm.lib file.
-ifdef ALT_HOTSPOT_LIB_PATH
-  xALT_HOTSPOT_LIB_PATH :="$(subst \,/,$(ALT_HOTSPOT_LIB_PATH))"
-  HOTSPOT_LIB_PATH      :=$(call FullPath,$(xALT_HOTSPOT_LIB_PATH))
-else
-  HOTSPOT_LIB_PATH  =$(HOTSPOT_IMPORT_PATH)/lib
-endif
-HOTSPOT_LIB_PATH:=$(call AltCheckSpaces,HOTSPOT_LIB_PATH)
-
-# Special define for checking the binaries
-
-# All windows dll and exe files should have been built with /NXCOMPAT
-#   and be setup for dynamic base addresses.
-#   In addition, we should not be dependent on certain dll files that
-#   we do not or cannot redistribute.
-
-# List of filenames we should NOT be dependent on
-ifeq ($(MFC_DEBUG),true)
-  BANNED_DLLS=msvcp100[.]dll
-else
-  BANNED_DLLS=msvcp100[.]dll|msvcr100d[.]dll|msvcrtd[.]dll
-endif
-
-# Check for /safeseh (only used on 32bit)
-define binary_file_safeseh_verification # binary_file
-( \
-  $(ECHO) "Checking for /SAFESEH usage in: $1" && \
-  if [ "`$(DUMPBIN) /loadconfig $1 | $(EGREP) -i 'Safe Exception Handler Table'`" = "" ] ; then \
-    $(ECHO) "ERROR: Did not find 'Safe Exception Handler Table' in loadconfig: $1" ; \
-    $(DUMPBIN) /loadconfig $1 ; \
-    exit 6 ; \
-  fi ; \
-)
-endef
-
-# Check for /NXCOMPAT usage
-define binary_file_nxcompat_verification # binary_file
-( \
-  $(ECHO) "Checking for /NXCOMPAT usage in: $1" && \
-  if [ "`$(DUMPBIN) /headers $1 | $(EGREP) -i 'NX compatible'`" = "" ] ; then \
-    $(ECHO) "ERROR: Did not find 'NX compatible' in headers: $1" ; \
-    $(DUMPBIN) /headers $1 ; \
-    exit 7 ; \
-  fi ; \
-)
-endef
-
-# Check for /DYNAMICBASE usage
-define binary_file_dynamicbase_verification # binary_file
-( \
-  $(ECHO) "Checking for /DYNAMICBASE usage in: $1" && \
-  if [ "`$(DUMPBIN) /headers $1 | $(EGREP) -i 'Dynamic base'`" = "" ] ; then \
-    $(ECHO) "ERROR: Did not find 'Dynamic base' in headers: $1" ; \
-    $(DUMPBIN) /headers $1 ; \
-    exit 8 ; \
-  fi ; \
-)
-endef
-
-# Check for banned dll usage
-define binary_file_dll_verification # binary_file
-( \
-  $(ECHO) "Checking for banned dependencies in: $1" && \
-  if [ "`$(DUMPBIN) /dependents $1 | $(EGREP) -i '$(BANNED_DLLS)'`" != "" ] ; then \
-    $(ECHO) "ERROR: Found use of $(BANNED_DLLS)"; \
-    $(DUMPBIN) /dependents $1 ; \
-    exit 9 ; \
-  fi ; \
-)
-endef
-
-# Macro to check it's input file for properly built executables.
-#   Relies on process exit code. Different for 32bit vs 64bit.
-ifeq ($(ARCH_DATA_MODEL),32)
-define binary_file_verification # binary_file
-( \
-  $(call binary_file_safeseh_verification,$1); \
-  $(call binary_file_nxcompat_verification,$1); \
-  $(call binary_file_dynamicbase_verification,$1); \
-  $(call binary_file_dll_verification,$1); \
-)
-endef
-else
-define binary_file_verification # binary_file
-( \
-  $(call binary_file_nxcompat_verification,$1); \
-  $(call binary_file_dynamicbase_verification,$1); \
-  $(call binary_file_dll_verification,$1); \
-)
-endef
-endif
-
--- a/jdk/makefiles/common/shared/Defs.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,662 +0,0 @@
-#
-# Copyright (c) 2005, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Definitions for all platforms.
-#
-# Normally the convention is that these alternate definitions of
-#   primary make variables are never defined inside the Makefiles anywhere
-#   but are defined via environment variables or set on the make command
-#   line. So you should never see an ALT_* variable defined in any
-#   makefiles, just used. This is the convention and there are some
-#   exceptions, either mistakes or unusual circumstances.
-#
-# The naming convention for the default value of one of these variables
-#   that has an ALT_* override capability is to name the default value with a
-#   leading underscore (_). So for XXX you would have:
-#      _XXX      default value
-#      ALT_XXX   any override the user is providing if any
-#      XXX       the final value, either the default _XXX or the ALT_XXX value.
-#
-
-# On Directory names. In very rare cases should the Windows directory
-#    names use the backslash, please use the C:/ style of windows paths.
-#    Avoid duplicating the // characters in paths, this has known to cause
-#    strange problems with jar and other utilities, e.g. /a//b/ != /a/b/.
-#    Some of these variables have an explicit trailing / character, but in
-#    general, they should NOT have the trailing / character.
-
--include $(SPEC)
--include $(VARS)
-
-# Assumes ARCH, PLATFORM, ARCH_VM_SUBDIR, JDK_TOPDIR, etc. have been defined.
-
-# Simple pwd path
-# NOTE: Just use the shell's cd and pwd here, more reliable at sanity time.
-define PwdPath
-$(shell cd $1 2> $(DEV_NULL) && pwd)
-endef
-define AbsPwdPathCheck
-$(shell cd .. 2> $(DEV_NULL) && cd $1 2> $(DEV_NULL) && pwd)
-endef
-
-# Checks an ALT value for spaces (should be one word), 
-#       warns and returns Check_ALT_$1 if spaces
-define AltCheckSpaces
-$(if $(word 2,$($1)),$(warning "WARNING: Value of $1 contains a space: '$($1)', check or set ALT_$1")Check_ALT_$1,$($1))
-endef
-
-# Checks an ALT value for empty, warns and returns Check_ALT_$1 if empty
-define AltCheckValue
-$(if $($1),$($1),$(warning "WARNING: Value of $1 cannot be empty, check or set ALT_$1")Check_ALT_$1)
-endef
-
-# Checks any value for empty, warns and returns $2 if empty
-define CheckValue
-$(if $($1),$($1),$(warning "WARNING: Value of $1 cannot be empty, will use '$2'")$2)
-endef
-
-# Prefix for a utility prefix path, if empty leave alone, otherwise end with a /
-define PrefixPath
-$(if $1,$(subst //,/,$1/),)
-endef
-
-# Select a directory if it exists, or the alternate 2 or the alternate 3
-define DirExists
-$(shell \
-  if [ -d "$1" ]; then  \
-    echo "$1"; \
-  elif [ -d "$2" ]; then \
-    echo "$2"; \
-  else \
-    echo "$3"; \
-  fi)
-endef
-
-# Select a directory if it exists, or the alternate 2, or the alternate 3, or the alternate 4
-define DirExists4
-$(shell \
-  if [ -d "$1" ]; then  \
-    echo "$1"; \
-  elif [ -d "$2" ]; then \
-    echo "$2"; \
-  elif [ -d "$3" ]; then \
-    echo "$3"; \
-  else \
-    echo "$4"; \
-  fi)
-endef
-
-
-# Select a writable directory if it exists and is writable, or the alternate
-define WriteDirExists
-$(shell \
-  if [ -d "$1" -a -w "$1" ]; then  \
-    echo "$1"; \
-  else \
-    echo "$2"; \
-  fi)
-endef
-
-# Select a file if it exists, or the alternate 1, or the alternate 2
-define FileExists
-$(shell \
-  if [ -r "$1" ]; then \
-    echo "$1"; \
-  elif [ -r "$2" ]; then \
-    echo "$2"; \
-  else \
-    echo "NO_FILE_EXISTS"; \
-  fi)
-endef
-
-# Given a line of text, get the version number from it
-define GetVersion
-$(shell echo $1 | sed -e 's@[^0-9]*\([0-9][0-9]*\.[0-9][.0-9]*\).*@\1@' )
-endef
-
-# Return one part of the version numbers, watch out for non digits.
-define VersionWord # Number Version
-$(word $1,$(subst ., ,$(subst -, ,$2)))
-endef
-
-# Given a major.minor.micro version, return the major, minor, or micro number
-define MajorVersion
-$(if $(call VersionWord,1,$1),$(call VersionWord,1,$1),0)
-endef
-define MinorVersion
-$(if $(call VersionWord,2,$1),$(call VersionWord,2,$1),0)
-endef
-define MicroVersion
-$(if $(call VersionWord,3,$1),$(call VersionWord,3,$1),0)
-endef
-
-# Macro that returns missing, same, newer, or older $1=version $2=required
-define CheckVersions
-$(shell \
-  if [ "$1" = "" -o "$2" = "" ]; then \
-    echo missing; \
-  elif [ "$1" = "$2" ]; then \
-    echo same; \
-  elif [ $(call MajorVersion,$1) -lt $(call MajorVersion,$2) ] ; then \
-    echo older; \
-  elif [ $(call MajorVersion,$1) -gt $(call MajorVersion,$2) ] ; then \
-    echo newer; \
-  elif [ $(call MinorVersion,$1) -lt $(call MinorVersion,$2) ]; then \
-    echo older; \
-  elif [ $(call MinorVersion,$1) -gt $(call MinorVersion,$2) ]; then \
-    echo newer; \
-  elif [ $(call MicroVersion,$1) -lt $(call MicroVersion,$2) ]; then \
-    echo older; \
-  elif [ $(call MicroVersion,$1) -gt $(call MicroVersion,$2) ]; then \
-    echo newer; \
-  else \
-    echo same; \
-  fi)
-endef
-
-# Expand SRCDIR_LIST, which is used to automatically include various
-# platform and shared sources/headers.  This is mainly useful for the
-# Mac OS X build, which pulls its platform sources from the solaris and/or
-# macosx trees, depending on the component.
-ifeq ($(PLATFORM), macosx)
-  define JavaSrcDirList
-  $(JAVA_SRCDIR_LIST:%=$1$(JDK_TOPDIR)/%/$2)
-  endef
-  define NativeSrcDirList
-  $(NATIVE_SRCDIR_LIST:%=$1$(JDK_TOPDIR)/%/$2)
-  endef
-endif
-
-# Make sure certain variables are non-empty at this point
-_check_values:=\
-$(call CheckValue,ARCH,),\
-$(call CheckValue,ARCH_DATA_MODEL,),\
-$(call CheckValue,ARCH_VM_SUBDIR,),\
-$(call CheckValue,JDK_TOPDIR,),\
-$(call CheckValue,JDK_MAKE_SHARED_DIR,),\
-$(call CheckValue,VARIANT,),\
-$(call CheckValue,PLATFORM,)
-
-# Misc common settings for all workspaces
-#   This determines the version of the product, and the previous version or boot
-ifndef JDK_MAJOR_VERSION
-  JDK_MAJOR_VERSION      = 1
-  PREVIOUS_MAJOR_VERSION = 1
-endif
-
-ifndef JDK_MINOR_VERSION
-  JDK_MINOR_VERSION      = 8
-  PREVIOUS_MINOR_VERSION = 7
-endif
-
-ifndef JDK_MICRO_VERSION
-  JDK_MICRO_VERSION      = 0
-  PREVIOUS_MICRO_VERSION = 0
-endif
-
-ifndef MILESTONE
-  MILESTONE = internal
-endif
-
-# Default names
-ifdef OPENJDK
-  LAUNCHER_NAME = openjdk
-  PRODUCT_NAME = OpenJDK
-  PRODUCT_SUFFIX = Runtime Environment
-  JDK_RC_PLATFORM_NAME = Platform
-  COMPANY_NAME = N/A
-else
-  LAUNCHER_NAME = java
-  PRODUCT_NAME = Java(TM)
-  PRODUCT_SUFFIX = SE Runtime Environment
-  JDK_RC_PLATFORM_NAME = Platform SE
-  COMPANY_NAME = Oracle Corporation
-endif
-
-RUNTIME_NAME = $(PRODUCT_NAME) $(PRODUCT_SUFFIX)
-
-ifndef BUILD_NUMBER
-  JDK_BUILD_NUMBER = b00
-else
-  ifndef JDK_BUILD_NUMBER
-    JDK_BUILD_NUMBER = $(BUILD_NUMBER)
-  endif
-endif
-
-# Default variant is the optimized version of everything
-#    can be OPT or DBG,  default is OPT
-#    Determine the extra pattern to add to the release name for debug/fastdebug.
-#    Determine the JDK_IMPORT_VARIANT, so we get the right VM files copied over.
-#    Determine suffix for obj directory or OBJDIR, for .o files.
-#    (by keeping .o files separate, just .o files, they don't clobber each
-#     other, however, the library files will clobber each other).
-#
-ifeq ($(VARIANT), DBG)
-  BUILD_VARIANT_RELEASE=-debug
-  OBJDIRNAME_SUFFIX=_g
-else
-  BUILD_VARIANT_RELEASE=
-  OBJDIRNAME_SUFFIX=
-endif
-ifeq ($(FASTDEBUG), true)
-  VARIANT=DBG
-  BUILD_VARIANT_RELEASE=-fastdebug
-  OBJDIRNAME_SUFFIX=_gO
-  _JDK_IMPORT_VARIANT=/fastdebug
-endif
-
-# Depending on the flavor of the build, add a -debug or -fastdebug to the name
-ifdef DEBUG_NAME
-  BUILD_VARIANT_RELEASE=-$(DEBUG_NAME)
-endif
-
-# These default values are redefined during a release build.
-#    CTE can set JDK_UPDATE_VERSION during the update release
-ifdef JDK_UPDATE_VERSION
-  JDK_VERSION  = $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)_$(JDK_UPDATE_VERSION)
-  MARKETING_NUMBER := $(shell \
-	$(ECHO) $(JDK_UPDATE_VERSION) | $(NAWK) '{if (substr($$0,1,1)=="0") print substr($$0, 2); else print $$0;}')
-  MARKET_NAME= $(shell $(ECHO) " Update $(MARKETING_NUMBER)")
-  JDK_MKTG_VERSION  = $(JDK_MINOR_VERSION)u$(MARKETING_NUMBER)
-else
-  JDK_VERSION  = $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
-  JDK_MKTG_VERSION  = $(JDK_MINOR_VERSION)
-  MARKET_NAME=
-endif
-JDK_UNDERSCORE_VERSION =  $(subst .,_,$(JDK_VERSION))
-JDK_MKTG_UNDERSCORE_VERSION =  $(subst .,_,$(JDK_MKTG_VERSION))
-
-# RELEASE is JDK_VERSION and -MILESTONE if MILESTONE is set
-ifneq ($(MILESTONE),fcs)
-  RELEASE      = $(JDK_VERSION)-$(MILESTONE)$(BUILD_VARIANT_RELEASE)
-else
-  RELEASE      = $(JDK_VERSION)$(BUILD_VARIANT_RELEASE)
-endif
-
-# FULL_VERSION is RELEASE and -BUILD_NUMBER if BUILD_NUMBER is set
-ifdef BUILD_NUMBER
-  FULL_VERSION = $(RELEASE)-$(BUILD_NUMBER)
-else
-  BUILD_NUMBER = b00
-  ifndef USER_RELEASE_SUFFIX
-    BUILD_DATE := $(shell $(DATE) '+%Y_%m_%d_%H_%M')
-    # Avoid [:alnum:] since it depends on the locale.
-    CLEAN_USERNAME := $(shell $(ECHO) "$(USER)" | $(TR) -d -c 'abcdefghijklmnopqrstuvqxyz0123456789')
-    USER_RELEASE_SUFFIX := $(shell $(ECHO) "$(CLEAN_USERNAME)_$(BUILD_DATE)" | $(TR) 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvqxyz')
-  endif
-  export USER_RELEASE_SUFFIX
-  FULL_VERSION = $(RELEASE)-$(USER_RELEASE_SUFFIX)-$(BUILD_NUMBER)
-endif
-
-# Promoted build location
-PROMOTED_RE_AREA = $(SLASH_JAVA)/re/jdk/$(JDK_VERSION)/promoted
-PROMOTED_BUILD_LATEST = latest
-PROMOTED_BUILD_BASEDIR = $(PROMOTED_RE_AREA)/$(PROMOTED_BUILD_LATEST)
-PROMOTED_BUILD_DISTDIR = $(PROMOTED_BUILD_BASEDIR)/dist/$(PLATFORM)-$(ARCH)
-PROMOTED_BUILD_BINARIES = $(PROMOTED_BUILD_BASEDIR)/binaries
-
-# PARALLEL_COMPILE_JOBS: is the number of compiles done in parallel.
-#  If the user sets ALT_PARALLEL_COMPILE_JOBS, then COMPILE_APPROACH is set
-#  to parallel.
-#
-#  Recommended setting: 2 seems to be ideal for single cpu machines,
-#                       2 times the number of CPU's is a basic formula, 
-#                       but probably not more than 4 if the machine is 
-#                       being shared by others, or the machine is limited 
-#                       in RAM or swap.
-#
-ifdef ALT_PARALLEL_COMPILE_JOBS
-  PARALLEL_COMPILE_JOBS=$(ALT_PARALLEL_COMPILE_JOBS)
-else
-  PARALLEL_COMPILE_JOBS=2
-endif
-
-# Previous JDK release (version of BOOTDIR version)
-ifdef ALT_PREVIOUS_JDK_VERSION
-  PREVIOUS_JDK_VERSION = $(ALT_PREVIOUS_JDK_VERSION)
-else
-  PREVIOUS_JDK_VERSION  = $(PREVIOUS_MAJOR_VERSION).$(PREVIOUS_MINOR_VERSION).$(PREVIOUS_MICRO_VERSION)
-endif
-export PREVIOUS_JDK_VERSION
-PREVIOUS_JDK_VERSION:=$(call AltCheckSpaces,PREVIOUS_JDK_VERSION)
-
-# Version with _ instead of . in number
-ifeq ($(PREVIOUS_MINOR_VERSION),5)
-  PREVIOUS_JDK_UNDERSCORE_VERSION =  $(subst .,_,$(PREVIOUS_JDK_VERSION))
-else
-  PREVIOUS_JDK_UNDERSCORE_VERSION = $(PREVIOUS_MINOR_VERSION)
-endif
-
-# Include any private definitions for this set of workspaces
-_PRIVATE_DEFS_FILE=$(JDK_MAKE_SHARED_DIR)/PrivateDefs.gmk
-ifeq ($(USING_PRIVATE_DEFS),)
-  USING_PRIVATE_DEFS:=$(shell if [ -f $(_PRIVATE_DEFS_FILE) ]; then echo true; else echo false; fi)
-endif
-ifeq ($(USING_PRIVATE_DEFS),true)
-dummy:=$(warning "WARNING: Using definitions from $(_PRIVATE_DEFS_FILE)")
-include $(_PRIVATE_DEFS_FILE)
-endif
-
-# OUTPUTDIR: Location of all output for the build
-ifdef ALT_OUTPUTDIR
-  OUTPUTDIR:=$(subst \,/,$(ALT_OUTPUTDIR))
-  # Assumes this is absolute (checks later)
-  ABS_OUTPUTDIR:=$(OUTPUTDIR)
-else
-  ifndef _OUTPUTDIR
-    # Default:  Get "build" parent directory, which should always exist
-    ifndef BUILD_PARENT_DIRECTORY
-      BUILD_PARENT_DIRECTORY=$(BUILDDIR)/..
-    endif
-    ifdef OPENJDK
-      _OUTPUTDIRNAME=$(PLATFORM)-$(ARCH)$(OPENJDK_SUFFIX)
-    else
-      _OUTPUTDIRNAME=$(PLATFORM)-$(ARCH)
-    endif
-    _OUTPUTDIR=$(BUILD_PARENT_DIRECTORY)/build/$(_OUTPUTDIRNAME)
-  endif
-  OUTPUTDIR:=$(_OUTPUTDIR)
-endif
-# Check for spaces and null value
-OUTPUTDIR:=$(call AltCheckSpaces,OUTPUTDIR)
-
-# Get platform specific settings
-# NB: OUTPUTDIR must be defined. Otherwise hotspot import detection will not work correctly
-# On other hand this must be included early as it provides platform specific defines such as FullPath
-include $(JDK_MAKE_SHARED_DIR)/Defs-versions.gmk
-
-# Get platform specific settings (defines COMPILER_PATH)
-include $(JDK_MAKE_SHARED_DIR)/Defs-$(PLATFORM).gmk
-
-# Components
-ifdef ALT_LANGTOOLS_DIST
-  LANGTOOLS_DIST :=$(call FullPath,$(ALT_LANGTOOLS_DIST))
-else
-  LANGTOOLS_DIST =
-endif
-ifdef ALT_CORBA_DIST
-  CORBA_DIST :=$(call FullPath,$(ALT_CORBA_DIST))
-else
-  CORBA_DIST =
-endif
-ifdef ALT_JAXP_DIST
-  JAXP_DIST :=$(call FullPath,$(ALT_JAXP_DIST))
-else
-  JAXP_DIST =
-endif
-ifdef ALT_JAXWS_DIST
-  JAXWS_DIST :=$(call FullPath,$(ALT_JAXWS_DIST))
-else
-  JAXWS_DIST =
-endif
-
-# HOTSPOT_DOCS_IMPORT_PATH: Path to hotspot docs files to import into the docs generation
-ifdef ALT_HOTSPOT_DOCS_IMPORT_PATH
-  HOTSPOT_DOCS_IMPORT_PATH :=$(call FullPath,$(ALT_HOTSPOT_DOCS_IMPORT_PATH))
-else
-  HOTSPOT_DOCS_IMPORT_PATH :=$(call DirExists,$(HOTSPOT_IMPORT_PATH)/docs,$(PROMOTED_BUILD_BASEDIR)/docs,/NO_DOCS_DIR)
-endif
-
-# These are the same on all platforms but require the above platform include 1st
-
-# BOOTDIR: Bootstrap JDK, previous released JDK.
-#   _BOOTDIR1 and _BOOTDIR2 picked by platform
-#   Platform may optionally define _BOOTDIR3 as well.
-ifdef ALT_BOOTDIR
-  BOOTDIR =$(ALT_BOOTDIR)
-else
-  ifdef _BOOTDIR3
-    BOOTDIR  :=$(call DirExists4,$(_BOOTDIR1),$(_BOOTDIR2),$(_BOOTDIR3),/NO_BOOTDIR)
-  else
-    BOOTDIR  :=$(call DirExists,$(_BOOTDIR1),$(_BOOTDIR2),/NO_BOOTDIR)
-  endif
-endif
-export BOOTDIR
-BOOTDIR:=$(call AltCheckSpaces,BOOTDIR)
-
-# PREVIOUS_FCS_RE_AREA: re path to where previous release binaries/bundles are
-PREVIOUS_FCS_RE_AREA = $(SLASH_JAVA)/re/jdk/$(PREVIOUS_JDK_VERSION)/archive/fcs
-
-# PREVIOUS_RELEASE_IMAGE: Previous install image to compare against
-ifdef ALT_PREVIOUS_RELEASE_IMAGE
-  
-  # Explicit image provided, no bundle access needed
-  PREVIOUS_RELEASE_IMAGE :=$(call FullPath,$(ALT_PREVIOUS_RELEASE_IMAGE))
-
-else
-  
-  # PREVIOUS_RELEASE_PATH: path to where previous release bundles are
-  ifdef ALT_PREVIOUS_RELEASE_PATH
-    PREVIOUS_RELEASE_PATH :=$(call OptFullPath,$(ALT_PREVIOUS_RELEASE_PATH))
-  else
-    PREVIOUS_RELEASE_PATH := \
-	$(call DirExists,$(PREVIOUS_FCS_RE_AREA)/bundles/$(PLATFORM)-$(ARCH),,)
-  endif
-
-  # Depending on if we have access to these bundles
-  ifeq ($(PREVIOUS_RELEASE_PATH),)
-    # Use images in re area or BOOTDIR (which is normally the previous release)
-    PREVIOUS_RELEASE_IMAGE := \
-         $(call DirExists,$(PREVIOUS_FCS_RE_AREA)/binaries/$(PLATFORM)-$(ARCH),$(BOOTDIR),)
-  else
-    # Get names of and paths to bundles
-    PREVIOUS_RELEASE_PATH:=$(call AltCheckSpaces,PREVIOUS_RELEASE_PATH)
-    export PREVIOUS_RELEASE_PATH
-  
-    # PREVIOUS_JDK_FILE: filename of install bundle for previous JDK
-    ifdef ALT_PREVIOUS_JDK_FILE
-      PREVIOUS_JDK_FILE  =$(ALT_PREVIOUS_JDK_FILE)
-    else
-      PREVIOUS_JDK_FILE = \
-	  jdk-$(PREVIOUS_JDK_UNDERSCORE_VERSION)-$(PLATFORM)-$(ARCH)$(BUNDLE_FILE_SUFFIX)
-    endif
-    export PREVIOUS_JDK_FILE
-    PREVIOUS_JDK_FILE:=$(call AltCheckSpaces,PREVIOUS_JDK_FILE)
-
-    # PREVIOUS_JRE_FILE: filename of install bundle for previous JRE
-    ifdef ALT_PREVIOUS_JRE_FILE
-      PREVIOUS_JRE_FILE  =$(ALT_PREVIOUS_JRE_FILE)
-    else
-      PREVIOUS_JRE_FILE = \
-	  jre-$(PREVIOUS_JDK_UNDERSCORE_VERSION)-$(PLATFORM)-$(ARCH)$(BUNDLE_FILE_SUFFIX)
-    endif
-    export PREVIOUS_JRE_FILE
-    PREVIOUS_JRE_FILE:=$(call AltCheckSpaces,PREVIOUS_JRE_FILE)
-   
-    # Paths to these bundles
-    PREVIOUS_JRE_BUNDLE = $(PREVIOUS_RELEASE_PATH)/$(PREVIOUS_JRE_FILE)
-    PREVIOUS_JDK_BUNDLE = $(PREVIOUS_RELEASE_PATH)/$(PREVIOUS_JDK_FILE)
-  endif
-
-endif
-
-# Indicate we are using an image comparison
-ifneq ($(PREVIOUS_RELEASE_IMAGE),)
-    PREVIOUS_RELEASE_PATH = USING-PREVIOUS_RELEASE_IMAGE
-    PREVIOUS_JRE_BUNDLE   = USING-PREVIOUS_RELEASE_IMAGE
-    PREVIOUS_JDK_BUNDLE   = USING-PREVIOUS_RELEASE_IMAGE
-endif
-
-# CACERTS_FILE: if OPENJDK is false and the internal version of the file 
-#		(that is, non-empty) is available, use it, otherwise use an 
-#		empty keystore.
-#
-# We put this variable here for sanity checks and in case another
-# components will need to know which cacerts file is being used.
-#
-ifdef ALT_CACERTS_FILE
-  CACERTS_FILE = $(ALT_CACERTS_FILE)
-else
-  CACERTS_EXT   = $(SHARE_SRC)/lib/security/cacerts
-  ifdef OPENJDK
-    CACERTS_FILE  :=$(CACERTS_EXT)
-  else # (!OPENJDK)
-    CACERTS_INT   = $(CLOSED_SHARE_SRC)/lib/security/cacerts.internal
-    CACERTS_FILE  :=$(call FileExists,$(CACERTS_INT),$(CACERTS_EXT))
-  endif # (OPENJDK)
-endif
-CACERTS_FILE:=$(call AltCheckSpaces,CACERTS_FILE)
-
-#
-# When signing the JCE framework and provider, we could be using built
-# bits on a read-only filesystem.  If so, this test will fail and crash
-# the build.
-#
-ifndef IGNORE_WRITABLE_OUTPUTDIR_TEST
-# Create the output directory and make sure it exists and is writable
-_create_outputdir:=$(shell $(MKDIR) -p "$(OUTPUTDIR)" > $(DEV_NULL) 2>&1)
-ifeq ($(call WriteDirExists,$(OUTPUTDIR),/dev/null),/dev/null)
-  _outputdir_error:=$(error "ERROR: OUTPUTDIR '$(OUTPUTDIR)' not created or not writable")
-endif
-endif
-
-# Define absolute path if needed and check for spaces and null value
-ifndef ABS_OUTPUTDIR
-  ifdef _OUTPUTDIRNAME
-    #Could not define this at the same time as _OUTPUTDIRNAME as FullPath is not defined at that point
-    ABS_BUILD_PARENT_DIRECTORY:=$(call FullPath,$(BUILD_PARENT_DIRECTORY))
-    ABS_OUTPUTDIR:=$(ABS_BUILD_PARENT_DIRECTORY)/build/$(_OUTPUTDIRNAME)
-  else
-    ABS_OUTPUTDIR:=$(call FullPath,$(OUTPUTDIR))
-  endif
-endif
-ABS_OUTPUTDIR:=$(call AltCheckSpaces,ABS_OUTPUTDIR)
-# Make doubly sure this is a full path
-ifeq ($(call AbsPwdPathCheck,$(ABS_OUTPUTDIR)), )
-  ifdef ALT_OUTPUTDIR
-    _outputdir_error:=$(error "ERROR: Trouble with the absolute path for OUTPUTDIR '$(OUTPUTDIR)', was ALT_OUTPUTDIR '$(ALT_OUTPUTDIR)' an absolute path?")
-  else
-    _outputdir_error:=$(error "ERROR: Trouble with the absolute path for OUTPUTDIR '$(OUTPUTDIR)'")
-  endif
-endif
-_dir1:=$(call FullPath,$(ABS_OUTPUTDIR))
-_dir2:=$(call FullPath,$(OUTPUTDIR))
-ifneq ($(_dir1),$(_dir2))
-  _outputdir_error:=$(error "ERROR: ABS_OUTPUTDIR '$(ABS_OUTPUTDIR)' is not the same directory as OUTPUTDIR '$(OUTPUTDIR)', '$(_dir1)'!='$(_dir2)'")
-endif
-
-# Bin directory
-#   NOTE: ISA_DIR is usually empty, on Solaris it might be /sparcv9 or /amd64
-BINDIR      = $(OUTPUTDIR)/bin$(ISA_DIR)
-
-# MOZILLA_HEADERS_PATH: path to mozilla header files for plugin
-ifdef ALT_MOZILLA_HEADERS_PATH
-  MOZILLA_HEADERS_PATH :=$(call FullPath,$(ALT_MOZILLA_HEADERS_PATH))
-else
-  MOZILLA_HEADERS_PATH  =$(JDK_DEVTOOLS_DIR)/share/plugin
-endif
-MOZILLA_HEADERS_PATH:=$(call AltCheckSpaces,MOZILLA_HEADERS_PATH)
-
-# CUPS_HEADERS_PATH: path to Cups headers files for Unix printing
-#ifneq ($(PLATFORM), windows)
-#JDK_CUPS_HEADERS_PATH=$(JDK_DEVTOOLS_DIR)/share/cups/include
-#  ifdef ALT_CUPS_HEADERS_PATH
-#     CUPS_HEADERS_PATH:=$(call FullPath,$(ALT_CUPS_HEADERS_PATH))
-#     CUPS_HEADERS_PATH:=$(call AltCheckValue,CUPS_HEADERS_PATH)
-#  else 
-#    CUPS_HEADERS_PATH:= \
-#      $(shell if [ -d "$(JDK_CUPS_HEADERS_PATH)" ]; then \
-#        echo "$(JDK_CUPS_HEADERS_PATH)"; \
-#      else \
-#         echo "$(_CUPS_HEADERS_PATH)";\
-#      fi)
-#  endif
-#endif
-
-# Utilities ant
-ifeq ($(PLATFORM), windows)
-  ifeq ($(ANT_HOME),)
-    ANT_HOME := $(call DirExists,$(JDK_DEVTOOLS_DIR)/share/ant/latest,,)
-  endif
-endif
-
-# There are few problems with ant we need to workaround:
-#  1) ant is using temporary directory java.io.tmpdir
-#     However, this directory is not unique enough and two separate ant processes
-#     can easily end up using the exact same temp directory. This may lead to weird build failures
-#     To workaround this we will define tmp dir explicitly
-#  2) ant attempts to detect JDK location based on java.exe location
-#     This is fragile as developer may have JRE first on the PATH. 
-#     To workaround this we will specify JAVA_HOME explicitly
-
-ANT_TMPDIR = $(ABS_OUTPUTDIR)/tmp
-ANT_WORKAROUNDS = ANT_OPTS=-Djava.io.tmpdir='$(ANT_TMPDIR)' JAVA_HOME='$(BOOTDIR)'
-
-ifeq ($(ANT_HOME),)
-  ANT = $(ANT_WORKAROUNDS) ant
-else
-  ANT = $(ANT_WORKAROUNDS) $(ANT_HOME)/bin/ant
-endif
-
-ifdef ALT_COPYRIGHT_YEAR
-  COPYRIGHT_YEAR = $(ALT_COPYRIGHT_YEAR)
-else
-  COPYRIGHT_YEAR = $(shell $(DATE) '+%Y')
-endif
-
-# Create file with source information
-SOURCE_TIPS=$(ABS_OUTPUTDIR)/source_tips
-
-# The source tips can come from the Mercurial repository, or in the files
-#   $(HGTIP_FILENAME) which contains the tip but is also positioned in the same
-#   directory as the original $(HGDIR) directory.
-#   These should not be := assignments, only used from the root Makefile.
-HG_VERSION = $(shell $(HG) version 2> $(DEV_NULL))
-HG_DIRECTORY=.hg
-HGTIP_FILENAME=.hgtip
-HG_SEARCH = ./REPO ./*/REPO ./*/*/REPO ./*/*/*/REPO
-REPO_LIST = $(patsubst ./%,%,$(patsubst %/,%,$(sort $(dir \
-    $(shell ( $(LS) -d $(HG_SEARCH:%/REPO=%/$(HG_DIRECTORY)) ; \
-              $(LS)    $(HG_SEARCH:%/REPO=%/$(HGTIP_FILENAME)) ) \
-	        2> $(DEV_NULL))))))
-
-# Emit the repo:tip pairs to $@
-define GetSourceTips
-for i in $(REPO_LIST) IGNORE ; do \
-  if [ "$${i}" = "IGNORE" ] ; then \
-    continue; \
-  elif [ -d $${i}/$(HG_DIRECTORY) -a "$(HG_VERSION)" != "" ] ; then \
-    $(PRINTF) " %s:%s" \
-      "$${i}" `$(HG) tip --repository $${i} --template '{node|short}\n'` ; \
-  elif [ -f $${i}/$(HGTIP_FILENAME) ] ; then \
-    $(PRINTF) " %s:%s" \
-      "$${i}" `$(CAT) $${i}/$(HGTIP_FILENAME)` ; \
-  fi; \
-done >> $@
-$(PRINTF) "\n" >> $@
-endef
-
-# Create the HGTIP_FILENAME file
-define CreateHgTip
-$(HG) tip --repository $1 --template '{node|short}\n' > $1/$(HGTIP_FILENAME);\
-$(ECHO) $1/$(HGTIP_FILENAME)
-endef
-
-# Get the compiler specific settings (will run the compiler to find out)
-#   NOTE: COMPILER_PATH must be set by this time.
-#   Up until we include this file, we don't know what specific compiler
-#   version is actually being used (i.e. what is in PATH or COMPILER_PATH).
-include $(JDK_MAKE_SHARED_DIR)/Compiler-$(CC_VERSION).gmk
--- a/jdk/makefiles/common/shared/Platform.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,526 +0,0 @@
-#
-# Copyright (c) 1997, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Shared platform (OS/ARCH) variable settings for the JDK builds.
-#
-# Includes basic system requirements, versions of utilities required,
-#   suffixes on files, and basic defaults attributed to the build platform.
-#
-
-#
-# Assumes some basic unix system utilities (e.g. uname) are in the search path
-#   in order to figure out the system.
-#
-
-ifndef PLATFORM_SHARED
-
-PLATFORM_SHARED=done
-
-# Possible Input variables:
-#     ARCH_DATA_MODEL             32 or 64, default to 32
-#     USER, LOGNAME               user name (runs logname, or id if not set)
-#     PROCESSOR_IDENTIFIER        windows only: needed in environment
-#
-# (Also gets input by running the utilities uname, logname, isainfo, or id.)
-#
-# Variables set by this file:
-#     SYSTEM_UNAME                what 'uname' says this system is
-#     USER                        login name of user (minus blanks)
-#     PLATFORM                    windows, solaris, or linux
-#     VARIANT                     OPT or DBG, OPT is the default
-#     TEMP_DISK                   /tmp or C:/temp
-#     ARCH_DATA_MODEL             32 or 64
-#     ARCH                        sparc, sparcv9, i586, amd64, or ia64
-#     ARCH_FAMILY                 sparc or i586
-#     ARCHPROP                    sparc or x86
-#     ARCH_VM_SUBDIR              jre/bin, jre/lib/sparc, etc.
-#     LIBARCH                     sparc, sparcv9, i386, amd64, or ia64
-#     DEV_NULL                    destination of /dev/null, NUL or /dev/NULL
-#     CLASSPATH_SEPARATOR         separator in classpath, ; or :
-#     LIB_PREFIX                  dynamic or static library prefix, lib or empty
-#     LIB_SUFFIX                  static library file suffix, .lib or .a?
-#     LIBRARY_SUFFIX              dynamic library file suffix, .dll or .so
-#     OBJECT_SUFFIX               object file suffix, .o or .obj
-#     EXE_SUFFIX                  executable file suffix, .exe or empty
-#     BUNDLE_FILE_SUFFIX          suffix for bundles: .tar or .tar.gz
-#     ISA_DIR                     solaris only: /sparcv9 or /amd64
-#     LIBARCH32                   solaris only: sparc or i386
-#     LIBARCH64                   solaris only: sparcv9 or amd64
-#     USING_CYGWIN                windows only: true or false
-#     ISHIELD_TEMP_MIN            windows only: minimum disk space in temp area
-
-# Only run uname once in this make session.
-ifndef SYSTEM_UNAME
-  SYSTEM_UNAME := $(shell uname)
-  export SYSTEM_UNAME
-endif
-
-#
-# Prune out all known SCM (Source Code Management) directories
-# so they will not be included when copying directory trees
-# or packaging up .jar files, etc.  This applies to all workspaces.
-#
-SCM_DIRs = .hg .svn CVS RCS SCCS Codemgr_wsdata deleted_files .hgignore .hgtags
-# When changing SCM_DIRs also change SCM_DIRS_rexp and SCM_DIRS_prune:
-SCM_DIRS_rexp = ".hg|.svn|CVS|RCS|SCCS|Codemgr_wsdata|deleted_files|.hgignore|.hgtags"
-SCM_DIRS_prune = \( -name .hg -o -name .svn -o -name CVS -o -name RCS -o -name SCCS -o -name Codemgr_wsdata -o -name deleted_files -o -name .hgignore -o -name .hgtags \) -prune
-
-# Don't define this unless it's not defined
-ifndef VARIANT
-  VARIANT=OPT
-endif
-
-# Platform settings specific to Solaris
-ifeq ($(SYSTEM_UNAME), SunOS)
-  PLATFORM = solaris
-  # Solaris sparc build can be either 32-bit or 64-bit.
-  #   Default to 32, but allow explicit setting to 32 or 64.
-  ifndef ARCH_DATA_MODEL
-    ARCH_DATA_MODEL=32
-  endif
-  ifeq ($(ARCH_DATA_MODEL), 32)
-    processor := $(shell uname -p)
-    archExpr = case "$(processor)" in  \
-                i[3-9]86) \
-                    echo i586 \
-                    ;; \
-                sparc*)  \
-                    echo sparc \
-                    ;; \
-                *) \
-                    echo $(processor)  \
-                    ;; \
-        esac
-    ARCH        := $(shell $(archExpr))
-  else
-    ARCH := $(shell isainfo -n)
-    # ISA_DIR is used to locate 64-bit specific libraries which are generally
-    # in the same general place as other libraries under the ./$(ARCH) directory
-    ISA_DIR = /$(ARCH)
-  endif
-  # Need to maintain the jre/lib/i386 location for 32-bit Intel
-  ifeq ($(ARCH), i586)
-     ARCH_FAMILY = $(ARCH)
-     LIBARCH     = i386
-     # Value of Java os.arch property
-     ARCHPROP    = x86
-  else
-     ifeq ($(ARCH), amd64)
-        ARCH_FAMILY = i586
-     else
-        ARCH_FAMILY = sparc
-     endif
-     LIBARCH  = $(ARCH)
-     # Value of Java os.arch property
-     ARCHPROP = $(LIBARCH)
-  endif
-  # The two LIBARCH names
-  ifeq ($(ARCH_FAMILY), sparc)
-    LIBARCH32 = sparc
-    LIBARCH64 = sparcv9
-  else
-    LIBARCH32 = i386
-    LIBARCH64 = amd64
-  endif
-  # Suffix for file bundles used in previous release
-  BUNDLE_FILE_SUFFIX=.tar
-  # How much RAM does this machine have (zones send an error to stderr):
-  MB_OF_MEMORY:=$(shell /usr/sbin/prtconf 2>/dev/null | fgrep 'Memory size:' | expand | cut -d' ' -f3)
-endif
-
-# Platform settings specific to Linux
-ifeq ($(SYSTEM_UNAME), Linux)
-  PLATFORM = linux
-  # Arch and OS name/version
-  ifdef CROSS_COMPILE_ARCH
-    mach := $(CROSS_COMPILE_ARCH)
-  else
-    mach := $(shell uname -m)
-  endif
-  archExpr = case "$(mach)" in \
-                i[3-9]86) \
-                    echo i586 \
-                    ;; \
-                ia64) \
-                    echo ia64 \
-                    ;; \
-                x86_64) \
-                    echo amd64 \
-                    ;; \
-                sparc*) \
-                    echo sparc \
-                    ;; \
-                arm*) \
-                    echo arm \
-                    ;; \
-                *) \
-                    echo $(mach) \
-                    ;; \
-      esac
-  ARCH        := $(shell $(archExpr) )
-  ARCH_FAMILY := $(ARCH)
-
-  # Linux builds may be 32-bit or 64-bit data model.
-  ifeq ($(ARCH), sparc)
-    # Linux sparc build can be either 32-bit or 64-bit.
-    #   Default to 32, but allow explicit setting to 32 or 64.
-    ifndef ARCH_DATA_MODEL
-      ARCH_DATA_MODEL=32
-    endif
-    ifeq ($(ARCH_DATA_MODEL), 32)
-      ARCH=sparc
-    else
-      ARCH=sparcv9
-    endif
-  else
-    # Most archs are 32-bit
-    ifndef ARCH_DATA_MODEL
-      ARCH_DATA_MODEL=32
-      ifeq ($(ARCH), amd64)
-        ARCH_DATA_MODEL=64
-      endif
-      ifeq ($(ARCH), ia64)
-        ARCH_DATA_MODEL=64
-      endif
-    endif
-  endif
-
-  # Need to maintain the jre/lib/i386 location for 32-bit Intel
-  ifeq ($(ARCH), i586)
-    LIBARCH = i386
-  else
-    LIBARCH = $(ARCH)
-  endif
-
-  # Value of Java os.arch property
-  ARCHPROP  = $(LIBARCH)
-
-  # Suffix for file bundles used in previous release
-  BUNDLE_FILE_SUFFIX=.tar.gz
-  # How much RAM does this machine have:
-  MB_OF_MEMORY := $(shell free -m | fgrep Mem: | awk '{print $$2;}' )
-endif
-
-ifeq ($(SYSTEM_UNAME), Darwin)
-  PLATFORM = macosx
-  OS_NAME = darwin
-  OS_VENDOR = Apple
-  GB_OF_MEMORY := $(shell system_profiler SPHardwareDataType | fgrep Memory: | awk '{print $$2}')
-  MB_OF_MEMORY := $(shell expr ${GB_OF_MEMORY} '*' 1024)
-endif
-
-# Platform settings specific to BSD/Mac OS X
-ifeq ($(PLATFORM), macosx)
-  OS_VERSION := $(shell uname -r)
-
-  # Arch and OS name/version
-  # Darwin x86 builds are i386/amd64 universal by default.
-  # Allow arch to be set from the environment to avoid this.
-  ifeq ($(origin ARCH), undefined)
-   ifeq ($(PLATFORM), macosx)
-#     ifdef OPENJDK -- when universal 32/64 binaries available in Hotspot
-#        mach := universal
-#     else
-        mach := x86_64
-#     endif
-   else
-    mach := $(shell uname -m)
-   endif
-  else
-   mach := $(ARCH)
-  endif
-
-  archExpr = case "$(mach)" in \
-                i[3-9]86) \
-                    echo i586 \
-                    ;; \
-                sparc64) \
-                    echo sparcv9 \
-                    ;; \
-                sparc*) \
-                    echo sparc \
-                    ;; \
-                x86_64) \
-                    echo amd64 \
-                    ;; \
-                universal) \
-                    echo universal \
-                    ;; \
-                "Power Macintosh") \
-                    echo ppc \
-                    ;; \
-                *) \
-                    echo $(mach) \
-                    ;; \
-      esac
-  ARCH        := $(shell $(archExpr) )
-  ARCH_FAMILY := $(ARCH)
-
-  # i586, sparc, and ppc are 32 bit, amd64 and sparc64 are 64
-  # ARCH_DATA_MODEL does not exactly mean anything in universal
-  # but it has to be one or the other, so pick 32
-  ifneq (,$(findstring $(ARCH), i586 sparc ppc universal))
-    ARCH_DATA_MODEL=32
-  else
-    ARCH_DATA_MODEL=64
-  endif
-
-  # Need to maintain the jre/lib/i386 location for 32-bit Intel
-  ifeq ($(ARCH), i586)
-    LIBARCH = i386
-  else
-    LIBARCH = $(ARCH)
-  endif
-
-  # Value of Java os.arch property
-  ARCHPROP  = $(LIBARCH)
-
-  # Suffix for file bundles used in previous release
-  BUNDLE_FILE_SUFFIX=.tar.gz
-  # How much RAM does this machine have:
-endif
-
-# Windows with and without CYGWIN will be slightly different
-ifeq ($(SYSTEM_UNAME), Windows_NT)
-  PLATFORM = windows
-endif
-ifneq (,$(findstring CYGWIN,$(SYSTEM_UNAME)))
-  PLATFORM = windows
-  USING_CYGWIN = true
-  export USING_CYGWIN
-  CYGPATH_CMD=cygpath -a -s -m
-  # Only run "cygpath /" once in this make session.
-  ifndef CYGWIN_HOME
-    CYGWIN_HOME := $(shell $(CYGPATH_CMD) /)
-    export CYGWIN_HOME
-  endif
-endif
-
-# Platform settings specific to Windows
-ifeq ($(PLATFORM), windows)
-  # Windows builds default to the appropriate for the underlaying
-  # architecture.
-  # Temporary disk area
-  TEMP_DISK=C:/temp
-  # GNU Make or MKS overrides $(PROCESSOR_ARCHITECTURE) to always
-  #  return "x86". Use the first word of $(PROCESSOR_IDENTIFIER) instead.
-  #  And sometimes PROCESSOR_IDENTIFIER is not defined at all
-  #  (in some restricted shells), so we use uname if we have to.
-  ifeq ($(PROCESSOR_IDENTIFIER),)
-    # Only run uname -m once in this make session.
-    ifndef SYSTEM_UNAME_M
-      SYSTEM_UNAME_M := $(shell uname -m)
-      export SYSTEM_UNAME_M
-    endif
-    PROC_ARCH:=$(SYSTEM_UNAME_M)
-  else
-    PROC_ARCH:=$(word 1, $(PROCESSOR_IDENTIFIER))
-  endif
-  # Cover all the possibilities, MKS uname, CYGWIN uname, PROCESSOR_IDENTIFIER
-  #    Get: X86, X64, or IA64
-  PROC_ARCH:=$(patsubst 386,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst 486,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst 586,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst 686,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst i386,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst i486,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst i586,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst i686,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst x86,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst intel64,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst Intel64,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst INTEL64,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst em64t,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst EM64T,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst amd64,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst AMD64,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst 8664,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst x86_64,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst ia64,IA64,$(PROC_ARCH))
-  ifndef ARCH_DATA_MODEL
-    ifeq ($(PROC_ARCH),IA64)
-      ARCH_DATA_MODEL=64
-    else
-      ifeq ($(PROC_ARCH),X64)
-        ARCH_DATA_MODEL=64
-      else
-        ARCH_DATA_MODEL=32
-      endif
-    endif
-  endif
-  export ARCH_DATA_MODEL
-  ifeq ($(ARCH_DATA_MODEL), 64)
-    # If the user wants to perform a cross compile build then they must
-    # - set ARCH_DATA_MODEL=64 and either
-    #      + set ARCH to ia64 or amd64, or
-    ifeq ($(PROC_ARCH),X64)
-      ARCH=amd64
-    else
-      ifeq ($(PROC_ARCH),IA64)
-        ARCH=ia64
-      endif
-    endif
-    LIBARCH=$(ARCH)
-    # Value of Java os.arch property
-    ARCHPROP=$(LIBARCH)
-  else
-    # LIBARCH is used to preserve the jre/lib/i386 directory name for 32-bit intel
-    ARCH=i586
-    LIBARCH=i386
-    # Value of Java os.arch property
-    ARCHPROP=x86
-  endif
-  ARCH_FAMILY = $(ARCH)
-  # Where is unwanted output to be delivered?
-  # MKS uses the special file "NUL", cygwin uses the customary unix file.
-  ifeq ($(USING_CYGWIN),true)
-    DEV_NULL = /dev/null
-  else
-    DEV_NULL = NUL
-  endif
-  export DEV_NULL
-  # Classpath separator
-  CLASSPATH_SEPARATOR = ;
-  # The suffix used for object file (.o for unix .obj for windows)
-  OBJECT_SUFFIX = obj
-  # The suffix applied to executables (.exe for windows, nothing for solaris)
-  EXE_SUFFIX = .exe
-  # The prefix applied to library files (lib for solaris, nothing for windows)
-  LIB_PREFIX=
-  LIBRARY_SUFFIX = dll
-  LIB_SUFFIX     = lib
-  # User name determination (set _USER)
-  ifndef USER
-    ifdef USERNAME
-      _USER := $(USERNAME)
-    else
-      ifdef LOGNAME
-        _USER := $(LOGNAME)
-      else
-        _USER := $(shell id -un)
-      endif
-    endif
-  else
-    _USER:=$(USER)
-  endif
-  # Location of client/server directories
-  ARCH_VM_SUBDIR=jre/bin
-  # Suffix for file bundles used in previous release
-  BUNDLE_FILE_SUFFIX=.tar
-  # ISHIELD_TEMP_MIN is the difference of an empty C:\TEMP vs. one after a
-  #     bundles build on windows.
-  ISHIELD_TEMP_MIN=250000
-  # How much RAM does this machine have:
-  ifeq ($(JDK_HAS_MEM_INFO),)
-    MB_OF_MEMORY := 1024
-  endif
-endif
-
-# Unix type settings (same for all unix platforms)
-ifneq ($(PLATFORM), windows)
-  # Temporary disk area
-  TEMP_DISK=/tmp
-  # Where is unwanted output to be delivered?
-  DEV_NULL = /dev/null
-  export DEV_NULL
-  # Character used between entries in classpath 
-  CLASSPATH_SEPARATOR = :
-  # suffix used for object file (.o for unix .obj for windows)
-  OBJECT_SUFFIX = o
-  # The suffix applied to runtime libraries
-  LIBRARY_SUFFIX = so
-  # The suffix applied to link libraries
-  LIB_SUFFIX = so
-  # The suffix applied to executables (.exe for windows, nothing for solaris)
-  EXE_SUFFIX =
-  # The prefix applied to library files (lib for solaris, nothing for windows)
-  LIB_PREFIX = lib
-  # User name determination (set _USER)
-  ifndef USER
-    ifdef LOGNAME
-      _USER := $(LOGNAME)
-    else
-      _USER := $(shell logname)
-    endif
-  else
-    _USER:=$(USER)
-  endif
-  # Location of client/server directories
-  ARCH_VM_SUBDIR=jre/lib/$(LIBARCH)
-endif
-
-# Darwin-specific Overrides
-ifeq ($(SYSTEM_UNAME),Darwin)
-  # The suffix applied to runtime libraries
-  LIBRARY_SUFFIX = dylib
-  # The suffix applied to link libraries
-  ifeq ($(ARCH), universal)
-    LIB_SUFFIX = o
-  else
-    LIB_SUFFIX = a
-  endif
-
-  ifeq ($(PLATFORM), macosx)
-  	ARCH_VM_SUBDIR=jre/lib/$(LIBARCH)
-  endif
-endif
-
-# Machines with 512Mb or less of real memory are considered low memory
-#    build machines and adjustments will be made to prevent excessing
-#    system swapping during the build.
-ifeq ($(JDK_HAS_MEM_INFO),)
-  JDK_HAS_MEM_INFO=true
-  export JDK_HAS_MEM_INFO
-  ifneq ($(MB_OF_MEMORY),)
-    LOW_MEMORY_MACHINE := $(shell \
-      if [ $(MB_OF_MEMORY) -le 512 ] ; then \
-        echo "true"; \
-      else \
-        echo "false"; \
-      fi)
-    MAX_VM_MEMORY := 512
-    MIN_VM_MEMORY := $(MAX_VM_MEMORY)
-  else
-    MB_OF_MEMORY       := unknown
-    LOW_MEMORY_MACHINE := true
-    MAX_VM_MEMORY      := 384
-    MIN_VM_MEMORY      := 128
-  endif
-  export MB_OF_MEMORY
-  export LOW_MEMORY_MACHINE
-  export MAX_VM_MEMORY
-  export MIN_VM_MEMORY
-endif
-
-# If blanks in the username, use the first 4 words and pack them together
-_USER1:=$(subst ', ,$(_USER))
-_USER2:=$(subst ", ,$(_USER1))
-USER:=$(word 1,$(_USER2))$(word 2,$(_USER2))$(word 3,$(_USER2))$(word 4,$(_USER2))
-export USER
-
-export PLATFORM
-endif
-
--- a/jdk/makefiles/common/shared/PrivateDefs.gmk-example	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-
-# This file, when re-named to PrivateDefs.gmk will get included in the
-#   makefile definitions (before the ALT_ variables are read) so that you can
-#   override makefile settings permanently for a workspace.
-#   Use of this file will cause WARNING errors, repeatedly, for a reason.
-#
-# WARNING: Use with caution.
-#
-
-# EXAMPLE: Testing a special build of hotspot
-#    (this is the build/solaris/export-solaris-sparc directory from doing
-#     a 'cd hotspot/make; gnumake' build)
-#
-ifeq ($(PLATFORM),solaris)
-  ifeq ($(ARCH),sparc)
-    ALT_HOTSPOT_IMPORT_PATH=$(JDK_TOPDIR)/../export-solaris-sparc
-  endif
-endif
-
--- a/jdk/makefiles/common/shared/Sanity-Settings.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,267 +0,0 @@
-#
-# Copyright (c) 2005, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Shared sanity settings file. Fills in the variable ALL_SETTINGS.
-#
-
-# On Windows in particular, it can happen that quotes get into the PATH
-#    variable. This is very bad, and must be caught early or you can
-#    see errors like: sh: -c: line 0: syntax error near unexpected token
-#
-ifneq ($(PATH), $(subst ",,$(PATH)))
-  dummy1:=$(error ERROR: PATH variable contains double quotes, fix your PATH.)
-endif
-ifneq ($(PATH), $(subst ',,$(PATH)))
-  dummy1:=$(error ERROR: PATH variable contains single quotes, fix your PATH.)
-endif
-
-# Used to add a heading to ALL_SETTINGS
-define addHeading
-"\n$1:\n"
-endef
-
-# Used to add a line to ALL_SETTINGS for an optional value
-#   (need if test for windows which has issues with ; characters in values)
-define addOptionalSetting
-$(if $($1)," $1 = $($1)\n"," $1 = $($1)\n")
-endef
-
-# Used to add a line to ALL_SETTINGS for something that must have a value
-define addRequiredSetting
-$(if $($1)," $1 = $($1)\n",$(warning WARNING: $1 should not be empty [Sanity-Settings.gmk]))
-endef
-
-# Used to add a line to ALL_SETTINGS for something that must have a value
-define addRequiredVersionSetting
-$(if $($1)," $1 = $($1) [requires at least $(REQUIRED_$1)]\n",$(warning WARNING: $1 should not be empty [Sanity-Settings.gmk]))
-endef
-
-# Used to add a series of lines to ALL_SETTINGS
-define addAltSetting
-" $1 = $($1)\n    ALT_$1 = $(ALT_$1)\n"
-endef
-
-# Variable that contains a string of all information
-
-# Make sure this is a 'do it now' variable.
-ALL_SETTINGS:=$(call addHeading,Bootstrap Settings)
-ALL_SETTINGS+=$(call addAltSetting,BOOTDIR)
-ALL_SETTINGS+=$(call addRequiredVersionSetting,BOOT_VER)
-ALL_SETTINGS+=$(call addAltSetting,OUTPUTDIR)
-ALL_SETTINGS+=$(call addRequiredSetting,ABS_OUTPUTDIR)
-
-
-ALL_SETTINGS+=$(call addHeading,Build Tool Settings)
-ALL_SETTINGS+=$(call addAltSetting,SLASH_JAVA)
-ALL_SETTINGS+=$(call addRequiredSetting,VARIANT)
-ALL_SETTINGS+=$(call addAltSetting,JDK_DEVTOOLS_DIR)
-ALL_SETTINGS+=$(call addOptionalSetting,ANT_HOME)
-ALL_SETTINGS+=$(call addAltSetting,UNIXCOMMAND_PATH)
-ALL_SETTINGS+=$(call addAltSetting,COMPILER_PATH)
-ALL_SETTINGS+=$(call addAltSetting,DEVTOOLS_PATH)
-ifeq ($(PLATFORM),linux)
-  ALL_SETTINGS+=$(call addAltSetting,UNIXCCS_PATH)
-  ALL_SETTINGS+=$(call addAltSetting,USRBIN_PATH)
-  ifndef OPENJDK
-    ALL_SETTINGS+=$(call addAltSetting,GCC29_COMPILER_PATH)
-  endif
-endif
-ifeq ($(PLATFORM),solaris)
-  ALL_SETTINGS+=$(call addAltSetting,UNIXCCS_PATH)
-  ifndef OPENJDK
-    ALL_SETTINGS+=$(call addAltSetting,GCC_COMPILER_PATH)
-  endif
-endif
-ifeq ($(PLATFORM),windows)
-  ifneq ($(MSVCRNN_DLL),)
-    ALL_SETTINGS+=$(call addAltSetting,MSVCRNN_DLL_PATH)
-  endif
-  ALL_SETTINGS+=$(call addRequiredSetting,INCLUDE)
-  ALL_SETTINGS+=$(call addRequiredSetting,LIB)
-endif
-ALL_SETTINGS+=$(call addOptionalSetting,COMPILER_NAME)
-ALL_SETTINGS+=$(call addOptionalSetting,COMPILER_VERSION)
-ifdef REQUIRED_CC_VER
-  ALL_SETTINGS+=$(call addRequiredVersionSetting,CC_VER)
-else
-  ALL_SETTINGS+=$(call addOptionalSetting,CC_VER)
-endif
-ifeq ($(PLATFORM),solaris)
-  ifeq ($(ARCH_DATA_MODEL), 32)
-    ifndef OPENJDK
-      ALL_SETTINGS+=$(call addRequiredVersionSetting,GCC_VER)
-    endif
-  endif
-endif
-ALL_SETTINGS+=$(call addRequiredVersionSetting,ZIP_VER)
-ALL_SETTINGS+=$(call addRequiredVersionSetting,UNZIP_VER)
-ifeq ($(PLATFORM),windows)
-  ALL_SETTINGS+=$(call addRequiredVersionSetting,LINK_VER)
-  ALL_SETTINGS+=$(call addRequiredSetting,CC)
-  ALL_SETTINGS+=$(call addRequiredSetting,LINK)
-  ALL_SETTINGS+=$(call addRequiredSetting,DUMPBIN)
-endif
-ALL_SETTINGS+=$(call addRequiredVersionSetting,ANT_VER)
-ALL_SETTINGS+=$(call addRequiredSetting,TEMPDIR)
-
-
-ALL_SETTINGS+=$(call addHeading,Build Directives)
-ALL_SETTINGS+=$(call addOptionalSetting,OPENJDK)
-ALL_SETTINGS+=$(call addOptionalSetting,USE_HOTSPOT_INTERPRETER_MODE)
-ALL_SETTINGS+=$(call addOptionalSetting,PEDANTIC)
-ALL_SETTINGS+=$(call addOptionalSetting,DEV_ONLY)
-ALL_SETTINGS+=$(call addOptionalSetting,NO_DOCS)
-ALL_SETTINGS+=$(call addOptionalSetting,NO_DEMOS)
-ALL_SETTINGS+=$(call addOptionalSetting,NO_SAMPLES)
-ALL_SETTINGS+=$(call addOptionalSetting,NO_IMAGES)
-ALL_SETTINGS+=$(call addOptionalSetting,TOOLS_ONLY)
-ALL_SETTINGS+=$(call addOptionalSetting,INSANE)
-ALL_SETTINGS+=$(call addRequiredSetting,COMPILE_APPROACH)
-ifeq ($(COMPILE_APPROACH), parallel)
-  ALL_SETTINGS+=$(call addAltSetting,PARALLEL_COMPILE_JOBS)
-endif
-ALL_SETTINGS+=$(call addOptionalSetting,FASTDEBUG)
-ALL_SETTINGS+=$(call addRequiredSetting,COMPILER_WARNINGS_FATAL)
-ALL_SETTINGS+=$(call addOptionalSetting,COMPILER_WARNING_LEVEL)
-ALL_SETTINGS+=$(call addOptionalSetting,SHOW_ALL_WARNINGS)
-ALL_SETTINGS+=$(call addRequiredSetting,INCREMENTAL_BUILD)
-ALL_SETTINGS+=$(call addOptionalSetting,CC_HIGHEST_OPT)
-ALL_SETTINGS+=$(call addOptionalSetting,CC_HIGHER_OPT)
-ALL_SETTINGS+=$(call addOptionalSetting,CC_LOWER_OPT)
-ALL_SETTINGS+=$(call addOptionalSetting,CXXFLAGS)
-ALL_SETTINGS+=$(call addOptionalSetting,CFLAGS)
-
-ALL_SETTINGS+=$(call addOptionalSetting,BOOT_JAVA_CMD)
-ALL_SETTINGS+=$(call addOptionalSetting,BOOT_JAVAC_CMD)
-ALL_SETTINGS+=$(call addOptionalSetting,BOOT_JAR_CMD)
-ALL_SETTINGS+=$(call addOptionalSetting,BOOT_JARSIGNER_CMD)
-
-# These don't print out well with windows due to the ';' characters
-ifneq ($(PLATFORM),windows)
-  ALL_SETTINGS+=$(call addOptionalSetting,JAVAC_CMD)
-  ALL_SETTINGS+=$(call addOptionalSetting,JAVAH_CMD)
-  ALL_SETTINGS+=$(call addOptionalSetting,JAVADOC_CMD)
-endif
-
-ALL_SETTINGS+=$(call addHeading,Build Platform Settings)
-ALL_SETTINGS+=$(call addRequiredSetting,USER)
-ALL_SETTINGS+=$(call addRequiredSetting,PLATFORM)
-ALL_SETTINGS+=$(call addRequiredSetting,ARCH)
-ALL_SETTINGS+=$(call addRequiredSetting,LIBARCH)
-ALL_SETTINGS+=$(call addRequiredSetting,ARCH_FAMILY)
-ALL_SETTINGS+=$(call addRequiredSetting,ARCH_DATA_MODEL)
-ALL_SETTINGS+=$(call addRequiredSetting,ARCHPROP)
-ifeq ($(PLATFORM),windows)
-  ALL_SETTINGS+=$(call addRequiredSetting,PROCESSOR_ARCHITECTURE)
-  ALL_SETTINGS+=$(call addRequiredSetting,PROCESSOR_IDENTIFIER)
-  ifdef USING_CYGWIN
-    ALL_SETTINGS+=$(call addRequiredSetting,USING_CYGWIN)
-    ALL_SETTINGS+=$(call addRequiredVersionSetting,CYGWIN_VER)
-    ALL_SETTINGS+=$(call addRequiredSetting,CYGPATH_CMD)
-  else
-    ALL_SETTINGS+=$(call addRequiredVersionSetting,MKS_VER)
-    ALL_SETTINGS+=$(call addOptionalSetting,DOSNAME_CMD)
-  endif
-endif
-ifeq ($(PLATFORM),linux)
-  ifdef REQUIRED_ALSA_VERSION
-    ALL_SETTINGS+=$(call addRequiredSetting,ALSA_VERSION)
-  endif
-endif
-ALL_SETTINGS+=$(call addRequiredVersionSetting,OS_VERSION)
-ALL_SETTINGS+=$(call addOptionalSetting,OS_VARIANT_NAME)
-ALL_SETTINGS+=$(call addOptionalSetting,OS_VARIANT_VERSION)
-ALL_SETTINGS+=$(call addRequiredSetting,MB_OF_MEMORY)
-
-
-ALL_SETTINGS+=$(call addHeading,GNU Make Settings)
-ALL_SETTINGS+=$(call addRequiredSetting,MAKE)
-ALL_SETTINGS+=$(call addRequiredVersionSetting,MAKE_VER)
-ALL_SETTINGS+=$(call addOptionalSetting,MAKECMDGOALS)
-ALL_SETTINGS+=$(call addOptionalSetting,MAKEFLAGS)
-ALL_SETTINGS+=$(call addRequiredSetting,SHELL)
-
-
-ALL_SETTINGS+=$(call addHeading,Target Build Versions)
-ALL_SETTINGS+=$(call addRequiredSetting,JDK_VERSION)
-ALL_SETTINGS+=$(call addOptionalSetting,MILESTONE)
-ALL_SETTINGS+=$(call addOptionalSetting,RELEASE)
-ALL_SETTINGS+=$(call addRequiredSetting,FULL_VERSION)
-ALL_SETTINGS+=$(call addOptionalSetting,BUILD_NUMBER)
-
-
-ALL_SETTINGS+=$(call addHeading,External File/Binary Locations)
-ALL_SETTINGS+=$(call addRequiredSetting,USRJDKINSTANCES_PATH)
-ALL_SETTINGS+=$(call addAltSetting,BUILD_JDK_IMPORT_PATH)
-ALL_SETTINGS+=$(call addAltSetting,JDK_IMPORT_PATH)
-ALL_SETTINGS+=$(call addAltSetting,LANGTOOLS_DIST)
-ALL_SETTINGS+=$(call addAltSetting,CORBA_DIST)
-ALL_SETTINGS+=$(call addAltSetting,JAXP_DIST)
-ALL_SETTINGS+=$(call addAltSetting,JAXWS_DIST)
-ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_DOCS_IMPORT_PATH)
-ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_IMPORT_PATH)
-ifeq ($(ARCH_DATA_MODEL), 32)
-  ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_CLIENT_PATH)
-endif
-ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_SERVER_PATH)
-ifeq ($(PLATFORM),windows)
-  ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_LIB_PATH)
-  ALL_SETTINGS+=$(call addRequiredSetting,DXSDK_VER)
-  ALL_SETTINGS+=$(call addAltSetting,DXSDK_PATH)
-  ALL_SETTINGS+=$(call addAltSetting,DXSDK_INCLUDE_PATH)
-  ALL_SETTINGS+=$(call addAltSetting,DXSDK_LIB_PATH)
-  ALL_SETTINGS+=$(call addAltSetting,WINDOWSSDKDIR)
-  ALL_SETTINGS+=$(call addRequiredSetting,RC)
-  ALL_SETTINGS+=$(call addRequiredSetting,REBASE)
-  ifndef OPENJDK
-    ALL_SETTINGS+=$(call addAltSetting,DEPLOY_MSSDK)
-    ALL_SETTINGS+=$(call addAltSetting,INSTALL_MSSDK)
-    ALL_SETTINGS+=$(call addAltSetting,WSCRIPT)
-    ALL_SETTINGS+=$(call addAltSetting,MSICERT)
-  endif
-endif
-ALL_SETTINGS+=$(call addAltSetting,CACERTS_FILE)
-ifndef OPENJDK
-  ALL_SETTINGS+=$(call addAltSetting,MOZILLA_HEADERS_PATH)
-endif
-ifneq ($(PLATFORM),windows)
-  ALL_SETTINGS+=$(call addAltSetting,CUPS_HEADERS_PATH)
-endif
-
-ifdef OPENJDK
-  ALL_SETTINGS+=$(call addHeading,OpenJDK-specific settings)
-  ALL_SETTINGS+=$(call addAltSetting,FREETYPE_HEADERS_PATH)
-  ALL_SETTINGS+=$(call addAltSetting,FREETYPE_LIB_PATH)
-endif
-
-ifdef OPENJDK
-  ALL_SETTINGS+=$(call addHeading,Previous JDK Settings)
-  ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_RELEASE_PATH)
-  ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_JDK_VERSION)
-  ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_JDK_FILE)
-  ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_JRE_FILE)
-  ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_RELEASE_IMAGE)
-endif
--- a/jdk/makefiles/java/Makefile	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-#
-# Copyright (c) 1995, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Makefile for building all of java
-#
-
-PRODUCT=java
-BUILDDIR=..
-include $(BUILDDIR)/common/Defs.gmk
-
-#
-# The order of subdirs here is important
-#
-SUBDIRS += redist
-
-# Others
-#    Note: java_crw_demo java_hprof_demo are demos but must be delivered built in sdk
-
-SUBDIRS +=
-
-SUBDIRS_management =
-SUBDIRS_misc       =
-
-#TODO Check invoke
-#                     logging instrument invoke sql rmi
-
-ifeq ($(PLATFORM), macosx)
-  SUBDIRS += jobjc
-endif # PLATFORM
-
-include $(BUILDDIR)/common/Subdirs.gmk
-
-all build clean clobber::
-	$(SUBDIRS-loop)
-
--- a/jdk/makefiles/java/invoke/Makefile	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-#
-# Copyright (c) 2008, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-BUILDDIR = ../..
-
-PACKAGE = java.lang.invoke
-PRODUCT = java
-include $(BUILDDIR)/common/Defs.gmk
-
-AUTO_FILES_JAVA_DIRS = java/lang/invoke sun/invoke
-FILES_java = \
-    java/lang/ClassValue.java \
-    java/lang/BootstrapMethodError.java
-
-# The sources built here use new language syntax to generate
-# method handle calls.  Let's be sure we are using that format.
-LANGUAGE_VERSION = -source 7
-CLASS_VERSION = -target 7
-
-include $(BUILDDIR)/common/Classes.gmk
--- a/jdk/makefiles/java/redist/Makefile	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,497 +0,0 @@
-#
-# Copyright (c) 1997, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Imports files exported by a hotspot build or provided from an external
-#   location into the OUTPUTDIR, and also primes the OUTPUTDIR with files
-#   that are provided inside this workspace.
-#
-# IMPORT_LIST contains the list of destination files that are copied 
-#     from external places (outside this workspace).
-#
-# INTERNAL_IMPORT_LIST is the list of destination files from BUILDDIR.
-# 
-
-BUILDDIR = ../..
-PRODUCT  = java
-include $(BUILDDIR)/common/Defs.gmk
-include $(BUILDDIR)/Tools.gmk
-
-$(info ENTERING redist)
-
-SERVER_LOCATION = server
-CLIENT_LOCATION = client
-KERNEL_LOCATION = kernel
-
-DB_SUFFIX = _db
-DTRACE_SUFFIX = _dtrace
-
-ifeq ($(PLATFORM), windows)
-  LIB_LOCATION = $(BINDIR)
-else ifeq ($(PLATFORM), macosx)
-  LIB_LOCATION = $(LIBDIR)
-else
-  LIB_LOCATION = $(LIBDIR)/$(LIBARCH)
-endif
-
-JVM_NAME               = $(LIB_PREFIX)jvm.$(LIBRARY_SUFFIX)
-JVMLIB_NAME            = $(LIB_PREFIX)jvm.$(LIB_SUFFIX)
-JVMMAP_NAME            = $(LIB_PREFIX)jvm.map
-JVMPDB_NAME            = $(LIB_PREFIX)jvm.pdb
-LIBJSIG_NAME           = $(LIB_PREFIX)jsig.$(LIBRARY_SUFFIX)
-JVMDB_NAME             = $(LIB_PREFIX)jvm$(DB_SUFFIX).$(LIBRARY_SUFFIX)
-JVMDTRACE_NAME         = $(LIB_PREFIX)jvm$(DTRACE_SUFFIX).$(LIBRARY_SUFFIX)
-
-JVM_DEBUGINFO_NAME       = $(LIB_PREFIX)jvm.debuginfo
-LIBJSIG_DEBUGINFO_NAME   = $(LIB_PREFIX)jsig.debuginfo
-JVMDB_DEBUGINFO_NAME     = $(LIB_PREFIX)jvm$(DB_SUFFIX).debuginfo
-JVMDTRACE_DEBUGINFO_NAME = $(LIB_PREFIX)jvm$(DTRACE_SUFFIX).debuginfo
-
-CLASSSHARINGDATA_DIR   = $(BUILDDIR)/../make/tools/sharing
-
-# Needed to do file copy
-ABS_BUILDDIR :=$(call FullPath,$(BUILDDIR))
-
-SUBDIRS_desktop =
-SUBDIRS_tools   = sajdi
-include $(BUILDDIR)/common/Subdirs.gmk
-
-all clean clobber::
-	$(SUBDIRS-loop)
-
-all:: build
-
-# List of files created here or coming from BUILDDIR area (this workspace)
-INTERNAL_IMPORT_LIST = $(LIBDIR)/classlist
-
-# List of files coming from outside this workspace
-ifeq ($(JVM_VARIANT_SERVER),true)
-    IMPORT_LIST = $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_NAME) \
-                  $(LIB_LOCATION)/$(SERVER_LOCATION)/Xusage.txt
-    ifneq ($(OBJCOPY),)
-        # the import JDK may not contain .debuginfo files
-        ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/$(JVM_DEBUGINFO_NAME)),)
-           IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_DEBUGINFO_NAME)
-        endif
-    endif
-endif
-ifeq ($(JVM_VARIANT_CLIENT),true)
-    IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME) \
-                   $(LIB_LOCATION)/$(CLIENT_LOCATION)/Xusage.txt
-    ifneq ($(OBJCOPY),)
-        # the import JDK may not contain .debuginfo files
-        ifneq ($(wildcard $(HOTSPOT_CLIENT_PATH)/$(JVM_DEBUGINFO_NAME)),)
-            IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_DEBUGINFO_NAME)
-        endif
-    endif
-endif
-
-$(info ENTERING redist 2)
-ifeq ($(PLATFORM), windows)
-    IMPORT_LIST += $(BINDIR)/$(notdir $(MSVCR100DLL))
-
-    $(BINDIR)/$(notdir $(MSVCR100DLL)): $(MSVCR100DLL)
-	$(install-import-file)
-	$(call chmod-file, a+x)
-
-    # Get the hotspot .map and .pdb files for client and server
-    ifeq ($(JVM_VARIANT_SERVER),true)
-        IMPORT_LIST += \
-		$(LIBDIR)/$(JVMLIB_NAME) \
-		$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMMAP_NAME) \
-		$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMPDB_NAME)
-    endif
-
-    # Add .map and .pdb files to the import path for client and kernel VMs. 
-    ifeq ($(JVM_VARIANT_CLIENT),true)
-        IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMMAP_NAME) \
-                       $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMPDB_NAME)
-    endif
-    ifeq ($(JVM_VARIANT_KERNEL),true)
-        IMPORT_LIST += $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMMAP_NAME) \
-                       $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMPDB_NAME)
-    endif
-
-    $(info XXXX $(LIBDIR)/$(JVMLIB_NAME): $(HOTSPOT_LIB_PATH)/$(JVMLIB_NAME))
-    $(LIBDIR)/$(JVMLIB_NAME): $(HOTSPOT_LIB_PATH)/$(JVMLIB_NAME)
-	$(install-import-file)
-
-    # it is OK for the .map and .pdb files to not exist, so do not force a 
-    # dependency on them from the bootstrap location, and allow the copy to fail.
-    $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMMAP_NAME):
-	@$(prep-target)
-	-$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMMAP_NAME)  $@
-
-    $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMMAP_NAME):
-	@$(prep-target)
-	-$(CP) $(HOTSPOT_KERNEL_PATH)/$(JVMMAP_NAME)  $@
-
-    $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMMAP_NAME):
-	@$(prep-target)
-	-$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMMAP_NAME) $@
-
-    $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMPDB_NAME):
-	@$(prep-target)
-	-$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMPDB_NAME)  $@
-
-    $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMPDB_NAME):
-	@$(prep-target)
-	-$(CP) $(HOTSPOT_KERNEL_PATH)/$(JVMPDB_NAME)  $@
-
-    $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMPDB_NAME): 
-	@$(prep-target)
-	-$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMPDB_NAME) $@
-
-else
-    # Posix like systems
-    IMPORT_LIST += $(LIB_LOCATION)/$(LIBJSIG_NAME)
-    ifneq ($(OBJCOPY),)
-        # the import JDK may not contain .debuginfo files
-        ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_DEBUGINFO_NAME)),)
-            IMPORT_LIST += $(LIB_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME)
-        endif
-    endif
-    ifeq ($(JVM_VARIANT_CLIENT),true)
-        IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME)
-        ifneq ($(OBJCOPY),)
-            # the import JDK may not contain the target of the symlink
-            ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_DEBUGINFO_NAME)),)
-                IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME)
-            endif
-        endif
-    endif
-    ifeq ($(JVM_VARIANT_SERVER),true)
-        IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_NAME)
-        ifneq ($(OBJCOPY),)
-            # the import JDK may not contain the target of the symlink
-            ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_DEBUGINFO_NAME)),)
-                IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME)
-            endif
-        endif
-    endif
-
-    ifeq ($(PLATFORM), solaris)
-
-        ifeq ($(JVM_VARIANT_CLIENT),true)
-            IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_NAME)
-
-            # The conditional can be removed when import JDKs contain these files.
-            ifneq ($(wildcard $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_NAME)),)
-                IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDTRACE_NAME)
-                IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_NAME)
-                IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDTRACE_NAME)
-                ifneq ($(OBJCOPY),)
-                    # the import JDK may not contain .debuginfo files
-                    ifneq ($(wildcard $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_DEBUGINFO_NAME)),)
-                        IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDTRACE_DEBUGINFO_NAME)
-                        IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_DEBUGINFO_NAME)
-                        IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDTRACE_DEBUGINFO_NAME)
-                    endif
-                endif
-            else
-                $(warning WARNING: $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_NAME) not found!)
-            endif
-
-            $(LIB_LOCATION)/$(JVM_NAME): $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME)
-			@$(prep-target)
-        endif 
-
-        ifeq ($(JVM_VARIANT_SERVER),true)
-            IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_NAME)
-            ifneq ($(OBJCOPY),)
-                # the import JDK may not contain .debuginfo files
-                ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/$(JVMDB_DEBUGINFO_NAME)),)
-                    IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_DEBUGINFO_NAME)
-                endif
-            endif
-            # The conditional can be removed when import JDKs contain these files.
-            ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_NAME)),)
-                IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDTRACE_NAME)
-                ifneq ($(OBJCOPY),)
-                    # the import JDK may not contain .debuginfo files
-                    ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_DEBUGINFO_NAME)),)
-                        IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDTRACE_DEBUGINFO_NAME)
-                    endif
-                endif
-            else
-                $(warning WARNING: $(HOTSPOT_SERVER_PATH)/$(JVMDB_NAME) not found!)
-            endif 
-
-            # The conditional can be removed when import JDKs contain these files.
-            ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME)),)
-                IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_NAME)
-                ifneq ($(OBJCOPY),)
-                    # the import JDK may not contain .debuginfo files
-                    ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_DEBUGINFO_NAME)),)
-                        IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_DEBUGINFO_NAME)
-                    endif
-                endif
-            else
-                $(warning WARNING: $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME) not found!)
-            endif
-
-            # The conditional can be removed when import JDKs contain these files.
-            ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_NAME)),)
-                IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDTRACE_NAME)
-                ifneq ($(OBJCOPY),)
-                    # the import JDK may not contain .debuginfo files
-                    ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_DEBUGINFO_NAME)),)
-                        IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDTRACE_DEBUGINFO_NAME)
-                    endif
-                endif
-            else
-                $(warning WARNING: $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_NAME) not found!)
-            endif
-        endif
-    endif 
-endif 
-
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVM_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-ifneq ($(OBJCOPY),)
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_DEBUGINFO_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVM_DEBUGINFO_NAME)
-	$(install-import-file)
-endif
-
-$(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVM_NAME): $(HOTSPOT_KERNEL_PATH)/$(JVM_NAME)
-	$(install-file)
-	@$(call binary_file_verification,$@)
-
-$(LIB_LOCATION)/$(LIBJSIG_NAME): $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-ifneq ($(OBJCOPY),)
-$(LIB_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME): $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_DEBUGINFO_NAME)
-	$(install-import-file)
-endif
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_NAME):
-	@$(prep-target)
-	$(call install-sym-link, ../$(LIBJSIG_NAME))
-
-ifneq ($(OBJCOPY),)
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME) \
-$(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME):
-	@$(prep-target)
-	$(call install-sym-link, ../$(LIBJSIG_DEBUGINFO_NAME))
-endif
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME):
-	@$(prep-target)
-	$(call install-sym-link, ../$(LIBJSIG_NAME))
-
-ifneq ($(OBJCOPY),)
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME):
-	@$(prep-target)
-	$(call install-sym-link, ../$(LIBJSIG_DEBUGINFO_NAME))
-endif
-
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDB_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_NAME): $(HOTSPOT_CLIENT_PATH)/64/$(JVMDB_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-ifneq ($(OBJCOPY),)
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_DEBUGINFO_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDB_DEBUGINFO_NAME)
-	$(install-import-file)
-
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_DEBUGINFO_NAME): $(HOTSPOT_CLIENT_PATH)/64/$(JVMDB_DEBUGINFO_NAME)
-	$(install-import-file)
-endif
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDB_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_NAME): $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-ifneq ($(OBJCOPY),)
-$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_DEBUGINFO_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDB_DEBUGINFO_NAME)
-	$(install-import-file)
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_DEBUGINFO_NAME): $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_DEBUGINFO_NAME)
-	$(install-import-file)
-endif
-
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDTRACE_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDTRACE_NAME): $(HOTSPOT_CLIENT_PATH)/64/$(JVMDTRACE_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-ifneq ($(OBJCOPY),)
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDTRACE_DEBUGINFO_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_DEBUGINFO_NAME)
-	$(install-import-file)
-
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDTRACE_DEBUGINFO_NAME): $(HOTSPOT_CLIENT_PATH)/64/$(JVMDTRACE_DEBUGINFO_NAME)
-	$(install-import-file)
-endif
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDTRACE_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDTRACE_NAME): $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_NAME): $(HOTSPOT_SERVER_PATH)/$(JVM_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-ifneq ($(OBJCOPY),)
-$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDTRACE_DEBUGINFO_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_DEBUGINFO_NAME)
-	$(install-import-file)
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDTRACE_DEBUGINFO_NAME): $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_DEBUGINFO_NAME)
-	$(install-import-file)
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_DEBUGINFO_NAME): $(HOTSPOT_SERVER_PATH)/$(JVM_DEBUGINFO_NAME)
-	$(install-import-file)
-endif
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/Xusage.txt : $(HOTSPOT_SERVER_PATH)/Xusage.txt
-	$(install-import-file)
-
-
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/Xusage.txt : $(HOTSPOT_CLIENT_PATH)/Xusage.txt
-	$(install-import-file)
-
-$(LIB_LOCATION)/$(KERNEL_LOCATION)/Xusage.txt : $(HOTSPOT_KERNEL_PATH)/Xusage.txt
-	$(install-file)
-
-#
-# Specific to non-OpenJDK building
-#
-ifndef OPENJDK
-
-INTERNAL_IMPORT_LIST += \
-            $(LIBDIR)/security/US_export_policy.jar \
-            $(LIBDIR)/security/local_policy.jar \
-            $(LIBDIR)/jce.jar
-
-$(LIBDIR)/jce.jar: \
-	    $(JDK_TOPDIR)/make/closed/tools/crypto/jce/jce.jar
-	$(install-file)
-$(LIBDIR)/security/US_export_policy.jar: \
-	    $(JDK_TOPDIR)/make/closed/tools/crypto/jce/US_export_policy.jar
-	$(install-file)
-$(LIBDIR)/security/local_policy.jar: \
-	    $(JDK_TOPDIR)/make/closed/tools/crypto/jce/local_policy.jar
-	$(install-file)
-
-endif # OPENJDK
-
-# Construct classlist file
-$(LIBDIR)/classlist: \
-    $(CLASSSHARINGDATA_DIR)/classlist.$(PLATFORM) \
-    $(ADDJSUM_JARFILE)
-	@$(prep-target)
-	@$(RM) -f $@.temp
-	$(TOOL_ADDJSUM) \
-	    $(CLASSSHARINGDATA_DIR)/classlist.$(PLATFORM) $@.temp
-	$(MV) $@.temp $@
-
-# Import internal files (ones that are stashed in this source tree)
-import_internal_files : $(INTERNAL_IMPORT_LIST)
-
-# Import files from the JDK that we are not building
-import_files: $(IMPORT_LIST)
-
-# Get component information variables and rules
-include $(BUILDDIR)/common/internal/ImportComponents.gmk
-
-# Security files we need to import
-SEC_FILES_ZIP=$(ABS_BUILDDIR)/tools/crypto/sec-bin.zip
-SEC_FILES_WIN_ZIP=$(ABS_BUILDDIR)/tools/crypto/sec-windows-bin.zip
-JGSS_WIN32_FILES_ZIP=$(ABS_BUILDDIR)/tools/crypto/jgss-windows-i586-bin.zip
-JGSS_WIN64_FILES_ZIP=$(ABS_BUILDDIR)/tools/crypto/jgss-windows-x64-bin.zip
-
-# Unzip zip file $2 into directory $1 (if $2 exists)
-#   Warning: $2 must be absolute path not relative
-define SecUnzipper
-if [ -f $2 ] ; then \
-  $(MKDIR) -p $1; \
-  $(ECHO) "( $(CD) $1 && $(UNZIP) -o $2 )"; \
-  ( $(CD) $1 && $(UNZIP) -o $2 ); \
-fi
-endef
-
-# If sec-bin exists, unpack it into the build directory
-#   Also, the library recompile build indirectly depends on two SSL classes,
-#   so copy those as well   FIXUP
-#   if sec-windows-bin exists, unpack it into the build directory
-#   if JGSS files exists, unpack it into the build directory
-$(TEMPDIR)/security_imported:
-	@$(prep-target)
-	@$(call SecUnzipper,$(OUTPUTDIR),$(SEC_FILES_ZIP))
-ifeq ($(PLATFORM), windows)
-	@$(call SecUnzipper,$(OUTPUTDIR),$(SEC_FILES_WIN_ZIP))
-endif
-ifeq ($(PLATFORM), windows)
-    ifeq ($(ARCH_DATA_MODEL), 32)
-	@$(call SecUnzipper,$(OUTPUTDIR),$(JGSS_WIN32_FILES_ZIP))
-    else
-	@$(call SecUnzipper,$(OUTPUTDIR),$(JGSS_WIN64_FILES_ZIP))
-    endif
-endif
-	@$(ECHO) "Imported on `$(DATE)`" > $@
-
-# Import all files from other components
-$(TEMPDIR)/components_imported:
-	@$(prep-target)
-	$(call import-component-binaries,$(ABS_OUTPUTDIR))
-	$(call import-component-sources,$(IMPORTSRCDIR))
-	$(call import-component-docs,$(IMPORTDOCDIR))
-	$(call import-component-classes,$(CLASSDESTDIR))
-	@$(ECHO) "Imported on `$(DATE)`" > $@
-
-# Do pretty much everything
-build : import_files \
-	import_internal_files \
-	$(TEMPDIR)/components_imported \
-	$(TEMPDIR)/security_imported
-
-# Clean up what we imported (except for component files)
-clean clobber::
-	$(RM) $(IMPORT_LIST)
-	$(RM) $(INTERNAL_IMPORT_LIST)
-	$(call import-component-sources-clean,$(IMPORTSRCDIR))
-	$(call import-component-docs-clean,$(IMPORTDOCDIR))
-	$(call import-component-classes-clean,$(CLASSDESTDIR))
-	$(RM) $(TEMPDIR)/components_imported
-	$(RM) $(TEMPDIR)/security_imported
-
-.PHONY: import_files import_internal_files
-
--- a/jdk/makefiles/java/redist/sajdi/Makefile	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-#
-# Copyright (c) 1997, 2012, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-BUILDDIR = ../../..
-PRODUCT  = java
-include $(BUILDDIR)/common/Defs.gmk
-
-ifeq ($(PLATFORM), windows)
-  LIB_LOCATION = $(BINDIR)
-else ifeq ($(PLATFORM), macosx)
-  LIB_LOCATION = $(LIBDIR)
-else
-  LIB_LOCATION = $(LIBDIR)/$(LIBARCH)
-endif
-
-# INCLUDE_SA is false on platforms where SA is not supported.
-# On platforms where it is supported, we want to allow it to
-# not be present, at least temporarily.  So,
-# if the SA files (well, just sa-jdi.jar) do not exist
-# in the HOTSPOT_IMPORT_PATH, then we won't build SA.
-SA_EXISTS := $(shell if [ -r $(HOTSPOT_IMPORT_PATH)/lib/sa-jdi.jar ] ; then \
-                          $(ECHO) true; \
-                        else \
-                          $(ECHO) false; \
-                        fi)
-
-ifeq ($(SA_EXISTS), false)
-  INCLUDE_SA := false
-endif
-
-IMPORT_LIST =
-ifeq ($(INCLUDE_SA), true)
-  IMPORT_LIST += $(LIBDIR)/sa-jdi.jar \
-                 $(LIB_LOCATION)/$(SALIB_NAME)
-  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
-    ifeq ($(ZIP_DEBUGINFO_FILES),1)
-      # the import JDK may not contain .diz files
-      ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(SA_DIZ_NAME)),)
-        IMPORT_LIST += $(LIB_LOCATION)/$(SA_DIZ_NAME)
-      endif
-    else
-      ifeq ($(PLATFORM), windows)
-        # the import JDK may not contain .pdb files
-        ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(SAPDB_NAME)),)
-          # assume .map file is present if .pdb is present
-          IMPORT_LIST += $(LIB_LOCATION)/$(SAMAP_NAME) \
-                         $(LIB_LOCATION)/$(SAPDB_NAME)
-        endif
-      else
-        # the import JDK may not contain .debuginfo files
-        ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(SA_DEBUGINFO_NAME)),)
-          IMPORT_LIST += $(LIB_LOCATION)/$(SA_DEBUGINFO_NAME)
-        endif
-      endif
-    endif
-  endif
-endif # INCLUDE_SA
-
-
-ifeq ($(INCLUDE_SA), true)
-# The Serviceability Agent is built in the Hotspot workspace.
-# It contains two files:
-#  - sa-jdi.jar:  This goes into the same dir as tools.jar.
-#  - a shared library:  sawindbg.dll on windows / libproc.sa on unix
-#		        This goes into the same dir as the other
-#			shared libs, eg. libjdwp.so.
-$(LIBDIR)/sa-jdi.jar: $(HOTSPOT_IMPORT_PATH)/lib/sa-jdi.jar
-	$(install-importonly-file)
-
-$(LIB_LOCATION)/$(SALIB_NAME): $(HOTSPOT_SALIB_PATH)/$(SALIB_NAME)
-	$(install-import-file)
-
-  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
-    ifeq ($(ZIP_DEBUGINFO_FILES),1)
-$(LIB_LOCATION)/$(SA_DIZ_NAME): $(HOTSPOT_SALIB_PATH)/$(SA_DIZ_NAME)
-	$(install-import-file)
-    else
-      ifeq ($(PLATFORM), windows)
-$(LIB_LOCATION)/$(SAPDB_NAME): $(HOTSPOT_SALIB_PATH)/$(SAPDB_NAME)
-	$(install-import-file)
-
-$(LIB_LOCATION)/$(SAMAP_NAME): $(HOTSPOT_SALIB_PATH)/$(SAMAP_NAME)
-	$(install-import-file)
-      else
-$(LIB_LOCATION)/$(SA_DEBUGINFO_NAME): $(HOTSPOT_SALIB_PATH)/$(SA_DEBUGINFO_NAME)
-	$(install-import-file)
-      endif
-    endif
-  endif
-endif # INCLUDE_SA
-
-all: $(IMPORT_LIST)
-
-clean clobber::
--- a/jdk/makefiles/javax/crypto/Defs-jce.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-#
-# Copyright (c) 2007, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-include $(BUILDDIR)/common/Release.gmk
-
-#
-# Include these extra attributes for now, should probably take out.
-#
-JCE_MANIFEST_FILE    = $(TEMPDIR)/manifest.mf
-$(JCE_MANIFEST_FILE): $(MAINMANIFEST)
-	$(prep-target)
-	$(SED) -e "s#@@RELEASE@@#$(RELEASE)#"           \
-               -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \
-               $(MAINMANIFEST) >> $@
-	$(ECHO) "Extension-Name: javax.crypto" >> $@
-	$(ECHO) "Implementation-Vendor-Id: com.sun" >> $@
-
-README-MAKEFILE_WARNING = \
-    "\nPlease read make/javax/crypto/Makefile for further build instructions."
-
-define no-source-warning
-	@$(ECHO) "\n***JCE sources are not available, skipping build.***" \
-	    $(README-MAKEFILE_WARNING)
-endef
-
-ifndef OPENJDK
-
-PREBUILT_DIR = $(JDK_TOPDIR)/make/closed/tools/crypto
-
-define build-warning
-	@$(ECHO) "\n***JCE in JDK builds require special tools/procedures.***" \
-	    $(README-MAKEFILE_WARNING)
-endef
-
-#
-# Location for JCE codesigning key.
-#
-SIGNING_KEY_DIR    = /security/ws/JCE-signing/src
-SIGNING_KEYSTORE   = $(SIGNING_KEY_DIR)/KeyStore.jks
-SIGNING_PASSPHRASE = $(SIGNING_KEY_DIR)/passphrase.txt
-SIGNING_ALIAS      = oracle_jce_rsa
-
-#
-# Defines for signing the various jar files.
-#
-
-define presign
-    @if [ ! -f $(SIGNING_KEYSTORE) -o ! -f $(SIGNING_PASSPHRASE) ]; then \
-	$(ECHO) "\n$(SIGNING_KEYSTORE): Signing mechanism *NOT* available..." \
-	    $(README-MAKEFILE_WARNING); \
-	exit 2; \
-    fi
-endef
-
-define sign-target
-	$(BOOT_JARSIGNER_CMD) -keystore $(SIGNING_KEYSTORE) \
-	    $@ $(SIGNING_ALIAS) < $(SIGNING_PASSPHRASE)
-	@$(java-vm-cleanup)
-	@$(ECHO) "\nJar codesigning finished."
-endef
-
-RELEASE_DIR = $(OUTPUTDIR)/jce-release
-
-define release-warning
-	@$(ECHO) \
-	    "\n***The jar files built by the 'release' target must***" \
-	    "\n***still be checked into the closed workspace!     ***" \
-	    $(README-MAKEFILE_WARNING)
-endef
-
-#
-# Convenience macros for signing a jar file.
-#
-# Call through $(call sign-file, target file)
-#
-define sign-file
-	$(presign)
-	$(prep-target)
-	$(CP) $1 $@
-	$(sign-target)
-endef
-
-endif  # !OPENJDK
--- a/jdk/makefiles/javax/crypto/Makefile	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,484 +0,0 @@
-#
-# Copyright (c) 2007, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Makefile for building jce.jar and the various cryptographic strength
-# policy jar files.
-#
-
-#
-# (The terms "OpenJDK" and "JDK" below refer to OpenJDK and Sun JDK builds
-# respectively.)
-#
-# JCE builds are very different between OpenJDK and JDK.  The OpenJDK JCE
-# jar files do not require signing, but those for JDK do.  If an unsigned
-# jar file is installed into JDK, things will break when the crypto
-# routines are called.
-#
-# This Makefile does the "real" build of the JCE files.  There are some
-# javac options currently specific to JCE, so we recompile now to make
-# sure any implicit compilations didn't use any incorrect flags.
-#
-# For OpenJDK, the jar files built here are installed directly into the
-# OpenJDK.
-#
-# For JDK, the binaries use pre-built/pre-signed binary files stored in
-# the closed workspace that are not shipped in the OpenJDK workspaces.
-# We still build the JDK files here to verify the files compile, and in
-# preparation for possible signing.  Developers working on JCE in JDK
-# must sign the JCE files before testing.  The JCE signing key is kept
-# separate from the JDK workspace to prevent its disclosure.
-#
-# SPECIAL NOTE TO JCE/JDK developers:  The source files must eventually
-# be built and signed, and the resulting jar files *MUST BE CHECKED INTO
-# THE CLOSED PART OF THE WORKSPACE*.  This separate step *MUST NOT BE
-# FORGOTTEN*, otherwise a bug fixed in the source code will not be
-# reflected in the shipped binaries.  The "release" target should be
-# used to generate the required files.
-#
-# There are a number of targets to help both JDK/OpenJDK developers.
-#
-# Main Targets (JDK/OPENJDK):
-#
-#     all/clobber/clean        The usual.
-#                                  If OpenJDK: builds/installs the
-#                                      jce.jar/limited policy files.
-#                                  If JDK: builds but does not install.
-#                                     During full tops-down builds,
-#                                     prebuilt/presigned jce.jar &
-#                                     limited policy files are copied
-#                                     in by make/java/redist/Makefile.
-#                                     If you are working in this directory
-#                                     and want to install the prebuilts,
-#                                     use the "install-prebuilt" target.
-#
-#     jar                      Builds/installs jce.jar
-#                                  If OpenJDK, does not sign
-#                                  If JDK, tries to sign
-#
-# Other lesser-used Targets (JDK/OPENJDK):
-#
-#     build-jar                Builds jce.jar (does not sign/install)
-#
-#     build-policy             Builds policy files (does not sign/install)
-#
-#     install-jar              Alias for "jar" above
-#
-#     install-limited          Builds/installs limited policy files
-#                                  If OpenJDK, does not sign
-#                                  If JDK, tries to sign
-#     install-unlimited        Builds/nstalls unlimited policy files
-#                                  If OpenJDK, does not sign
-#                                  If JDK, tries to sign
-#
-# Other targets (JDK only):
-#
-#     sign                     Alias for sign-jar and sign-policy
-#          sign-jar            Builds/signs jce.jar file (no install)
-#          sign-policy         Builds/signs policy files (no install)
-#
-#     release                  Builds all targets in preparation
-#                              for workspace integration.
-#
-#     install-prebuilt         Installs the pre-built jar files
-#
-# This makefile was written to support parallel target execution.
-#
-
-BUILDDIR = ../..
-PACKAGE = javax.crypto
-PRODUCT = sun
-
-#
-# The following is for when we need to do postprocessing
-# (signing) against a read-only build.  If the OUTPUTDIR
-# isn't writable, the build currently crashes out.
-#
-ifndef OPENJDK
-  ifdef ALT_JCE_BUILD_DIR
-    # =====================================================
-    # Where to place the output, in case we're building from a read-only
-    # build area.  (e.g. a release engineering build.)
-    JCE_BUILD_DIR=${ALT_JCE_BUILD_DIR}
-    IGNORE_WRITABLE_OUTPUTDIR_TEST=true
-  else
-    JCE_BUILD_DIR=${TEMPDIR}
-  endif
-endif
-
-JAVAC_MAX_WARNINGS = true
-JAVAC_WARNINGS_FATAL = true
-include $(BUILDDIR)/common/Defs.gmk
-
-#
-# Location for the newly built classfiles.
-#
-CLASSDESTDIR = $(TEMPDIR)/classes
-
-#
-# Subdirectories of these are automatically included.
-#
-AUTO_FILES_JAVA_DIRS = \
-    javax/crypto \
-    sun/security/internal/interfaces \
-    sun/security/internal/spec
-
-include $(BUILDDIR)/common/Classes.gmk
-
-#
-# Rules
-#
-
-#
-# Some licensees do not get the security sources, but we still need to
-# be able to build "all" for them.  Check here to see if the sources were
-# available.  If not, then we don't need to continue this rule.
-#
-
-ifdef OPENJDK
-all: build-jar install-jar build-policy install-limited
-else  # OPENJDK
-ifeq ($(strip $(FILES_java)),)
-all:
-	$(no-source-warning)
-else  # FILES_java/policy files available
-all: build-jar build-policy
-	$(build-warning)
-endif # $(FILES_java)/policy files available
-endif # OPENJDK
-
-#
-# We use a variety of subdirectories in the $(TEMPDIR) depending on what
-# part of the build we're doing.  Both OPENJDK/JDK builds are initially
-# done in the unsigned area.  When files are signed in JDK, they will be
-# placed in the appropriate areas.
-#
-UNSIGNED_DIR = $(TEMPDIR)/unsigned
-
-include Defs-jce.gmk
-
-
-# =====================================================
-# Build the unsigned jce.jar file.  Signing comes later.
-#
-
-JAR_DESTFILE = $(LIBDIR)/jce.jar
-
-#
-# JCE building is somewhat involved.
-#
-# OpenJDK:  Since we do not ship prebuilt JCE files, previous compiles
-# in the build may have needed JCE class signatures.  There were then
-# implicitly built by javac (likely using the boot javac).  While using
-# those class files was fine for signatures, we need to rebuild using
-# the right compiler.
-#
-# JDK:  Even through the jce.jar was previously installed, since the
-# source files are accessible in the source directories, they will
-# always be "newer" than the prebuilt files inside the jar, and thus
-# make will always rebuild them.  (We could "hide" the JCE source in a
-# separate directory, but that would make the build logic for JDK and
-# OpenJDK more complicated.)
-#
-# Thus in either situation, we shouldn't use these files.
-#
-# To make sure the classes were built with the right compiler options,
-# delete the existing files in $(CLASSBINDIR), rebuild the right way in a
-# directory under $(TEMPDIR), then copy the files back to
-# $(CLASSBINDIR).   Building in $(TEMPDIR) allows us to use our make
-# infrastructure without modification:  .classes.list, macros, etc.
-#
-
-#
-# The list of directories that will be remade from scratch, using the
-# right compilers/options.
-#
-DELETE_DIRS = $(patsubst %, $(CLASSBINDIR)/%, $(AUTO_FILES_JAVA_DIRS))
-
-#
-# Since the -C option to jar is used below, each directory entry must be
-# preceded with the appropriate directory to "cd" into.
-#
-JAR_DIRS = $(patsubst %, -C $(CLASSDESTDIR) %, $(AUTO_FILES_JAVA_DIRS))
-
-build-jar: $(UNSIGNED_DIR)/jce.jar
-
-#
-# Build jce.jar, then replace the previously built JCE files in the
-# classes directory with these.  This ensures we have consistently built
-# files throughout the workspaces.
-#
-$(UNSIGNED_DIR)/jce.jar: prebuild build $(JCE_MANIFEST_FILE)
-	$(prep-target)
-	$(BOOT_JAR_CMD) cmf $(JCE_MANIFEST_FILE) $@ $(JAR_DIRS) \
-	    $(BOOT_JAR_JFLAGS)
-	$(CP) -r $(CLASSDESTDIR)/* $(CLASSBINDIR)
-	@$(java-vm-cleanup)
-
-build: prebuild
-
-prebuild:
-	$(RM) -r $(DELETE_DIRS)
-
-
-# =====================================================
-# Build the unsigned policy files.
-#
-# Given the current state of world export/import policies,
-# these settings work for Sun's situation.  This note is not
-# legal guidance, you must still resolve any export/import issues
-# applicable for your situation.  Contact your export/import
-# counsel for more information.
-#
-
-POLICY_DESTDIR			= $(LIBDIR)/security
-UNSIGNED_POLICY_BUILDDIR	= $(UNSIGNED_DIR)/policy
-
-build-policy: unlimited limited
-
-#
-# Build the unsigned unlimited policy files.
-#
-unlimited: \
-	    $(UNSIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar	\
-	    $(UNSIGNED_POLICY_BUILDDIR)/unlimited/local_policy.jar
-
-$(UNSIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar:		\
-	    policy/unlimited/default_US_export.policy			\
-	    policy/unlimited/UNLIMITED
-	$(prep-target)
-	$(BOOT_JAR_CMD) cmf policy/unlimited/UNLIMITED $@		\
-	    -C policy/unlimited default_US_export.policy		\
-	    $(BOOT_JAR_JFLAGS)
-	@$(java-vm-cleanup)
-
-$(UNSIGNED_POLICY_BUILDDIR)/unlimited/local_policy.jar:			\
-	    policy/unlimited/default_local.policy			\
-	    policy/unlimited/UNLIMITED
-	$(prep-target)
-	$(BOOT_JAR_CMD) cmf policy/unlimited/UNLIMITED $@		\
-	    -C policy/unlimited default_local.policy			\
-	    $(BOOT_JAR_JFLAGS)
-	@$(java-vm-cleanup)
-
-#
-# Build the unsigned limited policy files.
-#
-# NOTE:  We currently do not place restrictions on our limited export
-# policy.  This was not a typo.
-#
-limited: \
-	    $(UNSIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar	\
-	    $(UNSIGNED_POLICY_BUILDDIR)/limited/local_policy.jar
-
-$(UNSIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar:		\
-	    $(UNSIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar
-	$(install-file)
-
-$(UNSIGNED_POLICY_BUILDDIR)/limited/local_policy.jar:			\
-	    policy/limited/default_local.policy				\
-	    policy/limited/exempt_local.policy				\
-	    policy/limited/LIMITED
-	$(prep-target)
-	$(BOOT_JAR_CMD) cmf policy/limited/LIMITED $@			\
-	    -C policy/limited default_local.policy			\
-	    -C policy/limited exempt_local.policy			\
-	    $(BOOT_JAR_JFLAGS)
-	@$(java-vm-cleanup)
-
-UNSIGNED_POLICY_FILES = \
-    $(UNSIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar		\
-    $(UNSIGNED_POLICY_BUILDDIR)/unlimited/local_policy.jar		\
-    $(UNSIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar		\
-    $(UNSIGNED_POLICY_BUILDDIR)/limited/local_policy.jar		\
-
-
-ifndef OPENJDK
-# =====================================================
-# Sign the various jar files.  Not needed for OpenJDK.
-#
-
-SIGNED_DIR		= $(JCE_BUILD_DIR)/signed
-SIGNED_POLICY_BUILDDIR	= $(SIGNED_DIR)/policy
-
-SIGNED_POLICY_FILES = \
-    $(patsubst $(UNSIGNED_POLICY_BUILDDIR)/%,$(SIGNED_POLICY_BUILDDIR)/%, \
-	$(UNSIGNED_POLICY_FILES))
-
-sign: sign-jar sign-policy
-
-sign-jar: $(SIGNED_DIR)/jce.jar
-
-sign-policy: $(SIGNED_POLICY_FILES)
-
-ifndef ALT_JCE_BUILD_DIR
-$(SIGNED_DIR)/jce.jar: $(UNSIGNED_DIR)/jce.jar
-else
-#
-# We have to remove the build dependency, otherwise, we'll try to rebuild it
-# which we can't do on a read-only filesystem.
-#
-$(SIGNED_DIR)/jce.jar:
-	@if [ ! -r $(UNSIGNED_DIR)/jce.jar ] ; then \
-	    $(ECHO) "Couldn't find $(UNSIGNED_DIR)/jce.jar"; \
-	    exit 1; \
-	fi
-endif
-	$(call sign-file, $(UNSIGNED_DIR)/jce.jar)
-
-$(SIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar:	\
-	    $(UNSIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar
-	$(call sign-file, $<)
-
-$(SIGNED_POLICY_BUILDDIR)/unlimited/local_policy.jar:		\
-	    $(UNSIGNED_POLICY_BUILDDIR)/unlimited/local_policy.jar
-	$(call sign-file, $<)
-
-$(SIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar:		\
-	    $(UNSIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar
-	$(call sign-file, $<)
-
-$(SIGNED_POLICY_BUILDDIR)/limited/local_policy.jar:		\
-	    $(UNSIGNED_POLICY_BUILDDIR)/limited/local_policy.jar
-	$(call sign-file, $<)
-
-
-# =====================================================
-# Create the Release Engineering files.  Signed builds,
-# unlimited policy file distribution, etc.
-#
-
-CLOSED_DIR = $(BUILDDIR)/closed/javax/crypto
-
-release: $(SIGNED_DIR)/jce.jar sign-policy $(CLOSED_DIR)/doc/README.txt
-	$(RM) -r \
-	    $(JCE_BUILD_DIR)/release/UnlimitedJCEPolicy              \
-	    $(JCE_BUILD_DIR)/release/jce.jar                         \
-	    $(JCE_BUILD_DIR)/release/US_export_policy.jar            \
-	    $(JCE_BUILD_DIR)/release/local_policy.jar                \
-	    $(JCE_BUILD_DIR)/release/UnlimitedJCEPolicy.zip
-	$(MKDIR) -p $(JCE_BUILD_DIR)/release/UnlimitedJCEPolicy
-	$(CP) $(SIGNED_DIR)/jce.jar $(JCE_BUILD_DIR)/release
-	$(CP) \
-	    $(SIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar   \
-	    $(SIGNED_POLICY_BUILDDIR)/limited/local_policy.jar       \
-	    $(JCE_BUILD_DIR)/release
-	$(CP) \
-	    $(SIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar \
-	    $(SIGNED_POLICY_BUILDDIR)/unlimited/local_policy.jar     \
-	    $(CLOSED_DIR)/doc/README.txt                             \
-	    $(JCE_BUILD_DIR)/release/UnlimitedJCEPolicy
-	cd $(JCE_BUILD_DIR)/release ; \
-	$(ZIPEXE) -qr UnlimitedJCEPolicy.zip UnlimitedJCEPolicy
-	$(release-warning)
-
-endif # OPENJDK
-
-
-# =====================================================
-# Install routines.
-#
-
-#
-# Install jce.jar, depending on which type is requested.
-#
-install-jar jar: $(JAR_DESTFILE)
-ifndef OPENJDK
-	$(release-warning)
-endif
-
-ifdef OPENJDK
-$(JAR_DESTFILE): $(UNSIGNED_DIR)/jce.jar
-else
-$(JAR_DESTFILE): $(SIGNED_DIR)/jce.jar
-endif
-	$(install-file)
-
-#
-# Install the appropriate policy file, depending on the type of build.
-#
-ifdef OPENJDK
-INSTALL_POLICYDIR = $(UNSIGNED_POLICY_BUILDDIR)
-else
-INSTALL_POLICYDIR = $(SIGNED_POLICY_BUILDDIR)
-endif
-
-install-limited-jars: \
-	    $(INSTALL_POLICYDIR)/limited/US_export_policy.jar	\
-	    $(INSTALL_POLICYDIR)/limited/local_policy.jar
-	$(MKDIR) -p $(POLICY_DESTDIR)
-	$(RM) \
-	    $(POLICY_DESTDIR)/US_export_policy.jar		\
-	    $(POLICY_DESTDIR)/local_policy.jar
-	$(CP) $^ $(POLICY_DESTDIR)
-
-install-limited: install-limited-jars
-ifndef OPENJDK
-	$(release-warning)
-endif
-
-install-unlimited-jars: \
-	    $(INSTALL_POLICYDIR)/unlimited/US_export_policy.jar	\
-	    $(INSTALL_POLICYDIR)/unlimited/local_policy.jar 
-	$(MKDIR) -p $(POLICY_DESTDIR)
-	$(RM) \
-	    $(POLICY_DESTDIR)/US_export_policy.jar		\
-	    $(POLICY_DESTDIR)/local_policy.jar
-	$(CP) $^ $(POLICY_DESTDIR)
-
-install-unlimited: install-unlimited-jars
-ifndef OPENJDK
-	$(release-warning)
-endif
-
-ifndef OPENJDK
-install-prebuilt-jars:
-	@$(ECHO) "\n>>>Installing prebuilt JCE framework..."
-	$(RM) $(JAR_DESTFILE) \
-	    $(POLICY_DESTDIR)/US_export_policy.jar \
-	    $(POLICY_DESTDIR)/local_policy.jar
-	$(CP) $(PREBUILT_DIR)/jce/jce.jar $(JAR_DESTFILE)
-	$(CP) \
-	    $(PREBUILT_DIR)/jce/US_export_policy.jar \
-	    $(PREBUILT_DIR)/jce/local_policy.jar \
-	    $(POLICY_DESTDIR)
-
-install-prebuilt: install-prebuilt-jars
-endif
-
-# =====================================================
-# Support routines.
-#
-
-clobber clean::
-	$(RM) -r $(JAR_DESTFILE) $(POLICY_DESTDIR)/US_export_policy.jar \
-	    $(POLICY_DESTDIR)/local_policy.jar $(DELETE_DIRS) $(TEMPDIR) \
-	    $(JCE_BUILD_DIR)
-
-.PHONY: build-jar jar build-policy unlimited limited install-jar \
-	install-limited install-unlimited
-ifndef OPENJDK
-.PHONY: sign sign-jar sign-policy release install-prebuilt
-endif
--- a/jdk/makefiles/javax/crypto/policy/limited/LIMITED	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Crypto-Strength: limited
--- a/jdk/makefiles/javax/crypto/policy/limited/default_local.policy	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-// Some countries have import limits on crypto strength. This policy file
-// is worldwide importable.
-
-grant {
-    permission javax.crypto.CryptoPermission "DES", 64;
-    permission javax.crypto.CryptoPermission "DESede", *;
-    permission javax.crypto.CryptoPermission "RC2", 128, 
-                                     "javax.crypto.spec.RC2ParameterSpec", 128;
-    permission javax.crypto.CryptoPermission "RC4", 128;
-    permission javax.crypto.CryptoPermission "RC5", 128, 
-          "javax.crypto.spec.RC5ParameterSpec", *, 12, *;
-    permission javax.crypto.CryptoPermission "RSA", *;
-    permission javax.crypto.CryptoPermission *, 128;
-};
--- a/jdk/makefiles/javax/crypto/policy/limited/exempt_local.policy	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-// Some countries have import limits on crypto strength. So this file
-// will be useful.
-
-grant {
-    // There is no restriction to any algorithms if KeyRecovery is enforced.
-    permission javax.crypto.CryptoPermission *, "KeyRecovery"; 
-
-    // There is no restriction to any algorithms if KeyEscrow is enforced.
-    permission javax.crypto.CryptoPermission *, "KeyEscrow"; 
-
-    // There is no restriction to any algorithms if KeyWeakening is enforced. 
-    permission javax.crypto.CryptoPermission *, "KeyWeakening";
-};
--- a/jdk/makefiles/javax/crypto/policy/unlimited/UNLIMITED	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Crypto-Strength: unlimited
--- a/jdk/makefiles/javax/crypto/policy/unlimited/default_US_export.policy	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-// Manufacturing policy file.
-grant {
-    // There is no restriction to any algorithms.
-    permission javax.crypto.CryptoAllPermission; 
-};
--- a/jdk/makefiles/javax/crypto/policy/unlimited/default_local.policy	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-// Country-specific policy file for countries with no limits on crypto strength.
-grant {
-    // There is no restriction to any algorithms.
-    permission javax.crypto.CryptoAllPermission; 
-};
--- a/jdk/makefiles/mapfiles/libjava/mapfile-vers	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/mapfiles/libjava/mapfile-vers	Tue Jul 03 16:10:44 2012 -0700
@@ -232,7 +232,6 @@
 		Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedExceptionAction_2Ljava_security_AccessControlContext_2;
 		Java_java_security_AccessController_getStackAccessControlContext;
 		Java_java_security_AccessController_getInheritedAccessControlContext;
-		Java_java_sql_DriverManager_getCallerClassLoader;
 		Java_java_util_ResourceBundle_getClassContext;
 		Java_java_util_TimeZone_getSystemTimeZoneID;
 		Java_java_util_TimeZone_getSystemGMTOffsetID;
--- a/jdk/makefiles/mapfiles/libjfr/mapfile-vers	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/mapfiles/libjfr/mapfile-vers	Tue Jul 03 16:10:44 2012 -0700
@@ -6,34 +6,34 @@
 # Define library interface.
 
 SUNWprivate_1.1 {
-	global:
-	    Java_oracle_jrockit_jfr_util_os_Process_getpid;
-	    Java_oracle_jrockit_jfr_util_os_Timing_counterTime;
-	    Java_oracle_jrockit_jfr_util_os_Timing_init;
-	    Java_oracle_jrockit_jfr_util_log_NativeLogger_output0;
-	    Java_oracle_jrockit_jfr_VMJFR_isEnabled;
-	    Java_oracle_jrockit_jfr_VMJFR_options;
-	    Java_oracle_jrockit_jfr_VMJFR_init;
-	    Java_oracle_jrockit_jfr_VMJFR_addConstPool;
-	    Java_oracle_jrockit_jfr_VMJFR_removeConstPool;
-	    Java_oracle_jrockit_jfr_VMJFR_storeConstPool;
-	    Java_oracle_jrockit_jfr_VMJFR_classID;
-	    Java_oracle_jrockit_jfr_VMJFR_stackTraceID;
-	    Java_oracle_jrockit_jfr_VMJFR_threadID;
-	    Java_oracle_jrockit_jfr_VMJFR_rotate;
-	    Java_oracle_jrockit_jfr_VMJFR_shutdown;
-	    Java_oracle_jrockit_jfr_VMJFR_start;
-	    Java_oracle_jrockit_jfr_VMJFR_stop;
-	    Java_oracle_jrockit_jfr_VMJFR_buffer;
-	    Java_oracle_jrockit_jfr_VMJFR_flush;
-	    Java_oracle_jrockit_jfr_VMJFR_write;
-	    Java_oracle_jrockit_jfr_VMJFR_add;
-	    Java_oracle_jrockit_jfr_VMJFR_remove;
-	    Java_oracle_jrockit_jfr_VMJFR_setThreshold;
-	    Java_oracle_jrockit_jfr_VMJFR_setPeriod;
-	    Java_oracle_jrockit_jfr_VMJFR_getPeriod;
-	    Java_oracle_jrockit_jfr_VMJFR_descriptors;
+  global:
+      Java_oracle_jrockit_jfr_Process_getpid;
+      Java_oracle_jrockit_jfr_Timing_counterTime;
+      Java_oracle_jrockit_jfr_Timing_init;
+      Java_oracle_jrockit_jfr_NativeLogger_output0;
+      Java_oracle_jrockit_jfr_VMJFR_isEnabled;
+      Java_oracle_jrockit_jfr_VMJFR_options;
+      Java_oracle_jrockit_jfr_VMJFR_init;
+      Java_oracle_jrockit_jfr_VMJFR_addConstPool;
+      Java_oracle_jrockit_jfr_VMJFR_removeConstPool;
+      Java_oracle_jrockit_jfr_VMJFR_storeConstPool;
+      Java_oracle_jrockit_jfr_VMJFR_classID;
+      Java_oracle_jrockit_jfr_VMJFR_stackTraceID;
+      Java_oracle_jrockit_jfr_VMJFR_threadID;
+      Java_oracle_jrockit_jfr_VMJFR_rotate;
+      Java_oracle_jrockit_jfr_VMJFR_shutdown;
+      Java_oracle_jrockit_jfr_VMJFR_start;
+      Java_oracle_jrockit_jfr_VMJFR_stop;
+      Java_oracle_jrockit_jfr_VMJFR_buffer;
+      Java_oracle_jrockit_jfr_VMJFR_flush;
+      Java_oracle_jrockit_jfr_VMJFR_write;
+      Java_oracle_jrockit_jfr_VMJFR_add;
+      Java_oracle_jrockit_jfr_VMJFR_remove;
+      Java_oracle_jrockit_jfr_VMJFR_setThreshold;
+      Java_oracle_jrockit_jfr_VMJFR_setPeriod;
+      Java_oracle_jrockit_jfr_VMJFR_getPeriod;
+      Java_oracle_jrockit_jfr_VMJFR_descriptors;
             JNI_OnLoad;
-	local:
-	    *;
+  local:
+      *;
 };
--- a/jdk/makefiles/mapfiles/libnio/mapfile-linux	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/mapfiles/libnio/mapfile-linux	Tue Jul 03 16:10:44 2012 -0700
@@ -39,7 +39,6 @@
                 Java_sun_nio_ch_EPollArrayWrapper_epollCreate;
                 Java_sun_nio_ch_EPollArrayWrapper_epollCtl;
                 Java_sun_nio_ch_EPollArrayWrapper_epollWait;
-		Java_sun_nio_ch_EPollArrayWrapper_fdLimit;
 		Java_sun_nio_ch_EPollArrayWrapper_init;
 		Java_sun_nio_ch_EPollArrayWrapper_interrupt;
 		Java_sun_nio_ch_EPollArrayWrapper_offsetofData;
@@ -87,7 +86,9 @@
                 Java_sun_nio_ch_IOUtil_configureBlocking;
                 Java_sun_nio_ch_IOUtil_drain;
                 Java_sun_nio_ch_IOUtil_fdVal;
+		Java_sun_nio_ch_IOUtil_fdLimit;
                 Java_sun_nio_ch_IOUtil_initIDs;
+		Java_sun_nio_ch_IOUtil_iovMax;
                 Java_sun_nio_ch_IOUtil_makePipe;
                 Java_sun_nio_ch_IOUtil_randomBytes;
                 Java_sun_nio_ch_IOUtil_setfdVal;
--- a/jdk/makefiles/mapfiles/libnio/mapfile-solaris	Wed Jul 05 18:14:56 2017 +0200
+++ b/jdk/makefiles/mapfiles/libnio/mapfile-solaris	Tue Jul 03 16:10:44 2012 -0700
@@ -36,7 +36,6 @@
                 Java_sun_nio_ch_DatagramDispatcher_readv0;
                 Java_sun_nio_ch_DatagramDispatcher_write0;
                 Java_sun_nio_ch_DatagramDispatcher_writev0;
-                Java_sun_nio_ch_DevPollArrayWrapper_fdLimit;
                 Java_sun_nio_ch_DevPollArrayWrapper_init;
                 Java_sun_nio_ch_DevPollArrayWrapper_interrupt;
                 Java_sun_nio_ch_DevPollArrayWrapper_poll0;
@@ -74,8 +73,10 @@
 		Java_sun_nio_ch_InheritedChannel_soType0;
                 Java_sun_nio_ch_IOUtil_configureBlocking;
                 Java_sun_nio_ch_IOUtil_drain;
+		Java_sun_nio_ch_IOUtil_fdLimit;
                 Java_sun_nio_ch_IOUtil_fdVal;
                 Java_sun_nio_ch_IOUtil_initIDs;
+		Java_sun_nio_ch_IOUtil_iovMax;
                 Java_sun_nio_ch_IOUtil_makePipe;
                 Java_sun_nio_ch_IOUtil_randomBytes;
                 Java_sun_nio_ch_IOUtil_setfdVal;
@@ -112,13 +113,13 @@
 		Java_sun_nio_ch_UnixAsynchronousServerSocketChannelImpl_accept0;
 		Java_sun_nio_ch_UnixAsynchronousServerSocketChannelImpl_initIDs;
 		Java_sun_nio_ch_UnixAsynchronousSocketChannelImpl_checkConnect;
-		Java_sun_nio_ch_SolarisEventPort_init;
-		Java_sun_nio_ch_SolarisEventPort_portCreate;
-		Java_sun_nio_ch_SolarisEventPort_portClose;
-		Java_sun_nio_ch_SolarisEventPort_portAssociate;
-		Java_sun_nio_ch_SolarisEventPort_portGet;
-		Java_sun_nio_ch_SolarisEventPort_portGetn;
-		Java_sun_nio_ch_SolarisEventPort_portSend;
+		Java_sun_nio_ch_SolarisEventPort_port_1create;
+		Java_sun_nio_ch_SolarisEventPort_port_1close;
+		Java_sun_nio_ch_SolarisEventPort_port_1associate;
+		Java_sun_nio_ch_SolarisEventPort_port_1dissociate;
+		Java_sun_nio_ch_SolarisEventPort_port_1get;
+		Java_sun_nio_ch_SolarisEventPort_port_1getn;
+		Java_sun_nio_ch_SolarisEventPort_port_1send;
 		Java_sun_nio_fs_GnomeFileTypeDetector_initializeGio;
 		Java_sun_nio_fs_GnomeFileTypeDetector_probeUsingGio;
 		Java_sun_nio_fs_GnomeFileTypeDetector_initializeGnomeVfs;
--- a/jdk/makefiles/mkdemo/Makefile	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-#
-# Copyright (c) 1997, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Makefile for building all the demos
-#
-
-BUILDDIR = ..
-PRODUCT = demos
-include $(BUILDDIR)/common/Defs.gmk
-
-SUBDIRS            = jni
-SUBDIRS_desktop    = 
-SUBDIRS_management = 
-SUBDIRS_misc       = 
-SUBDIRS_tools      = jvmti
-
-include $(BUILDDIR)/common/Subdirs.gmk
-
-TOPLEVEL_FILES =							\
-	$(DEMODIR)/README
-
-all build:: nbproject
-	$(SUBDIRS-loop)
-
-all build:: $(TOPLEVEL_FILES)
-
-nbproject:
-	$(RM) -r $(DEMODIR)/nbproject
-	$(MKDIR) -p $(DEMODIR)
-	( $(CD) $(SHARE_SRC)/demo && $(TAR) -cf - \
-	  `$(FIND) nbproject $(SCM_DIRS_prune) -o -type f -print` ) | \
-	  ( $(CD) $(DEMODIR) && $(TAR) -xf - )
-ifndef OPENJDK
-	( $(CD) $(CLOSED_SHARE_SRC)/demo && $(TAR) -cf - \
-	  `$(FIND) nbproject $(SCM_DIRS_prune) -o -type f -print` ) | \
-	  ( $(CD) $(DEMODIR) && $(TAR) -xf - )
-endif
-
-$(DEMODIR)/%: $(DEMOSRCDIR)/%
-	$(install-file)
-
-clean clobber::
-	$(SUBDIRS-loop)
-	$(RM) -r $(DEMODIR)
-	$(RM) -r $(DEMOCLASSDIR)
--- a/jdk/makefiles/mkdemo/jni/Makefile	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-#
-# Copyright (c) 1999, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Makefile for building the jni demo(s)
-#
-
-BUILDDIR = ../..
-PRODUCT = demos
-include $(BUILDDIR)/common/Defs.gmk
-
-SUBDIRS =
-
-ifeq ($(PLATFORM),solaris)
-  SUBDIRS += Poller
-endif
-
-include $(BUILDDIR)/common/Subdirs.gmk
-
-all build clean clobber::
-	$(SUBDIRS-loop)
-
--- a/jdk/makefiles/mkdemo/jni/Poller/Makefile	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-#
-# Copyright (c) 1999, 2006, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Build Poller class demo.
-#
-
-BUILDDIR = ../../..
-PRODUCT = demo/jni
-DEMONAME = Poller
-include $(BUILDDIR)/common/Defs.gmk
-
-DEMO_ROOT       = $(PLATFORM_SRC)/demo/jni/$(DEMONAME)
-DEMO_TOPFILES   = ./README.txt
-DEMO_MAINCLASS  = Client
-DEMO_NATIVECLASS= $(DEMONAME)
-DEMO_DESTDIR    = $(DEMODIR)/jni/$(DEMONAME)
-
-#
-# Demo jar building rules.
-#
-include $(BUILDDIR)/common/Demo.gmk
-
--- a/jdk/makefiles/mkdemo/jvmti/Makefile	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-#
-# Copyright (c) 2004, 2011, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Makefile for building the jvmti demo(s)
-#
-
-BUILDDIR = ../..
-PRODUCT = demos
-include $(BUILDDIR)/common/Defs.gmk
-
-# Can be built in any order, the JRE version of hprof and java_crw_demo are
-#   really built in make/java.
-#   The hprof target here just delivers the sources and README files.
-#   The java_crw_demo and agent_util files are copied into each demo that
-#   uses them.
-SUBDIRS = \
-	  hprof
-
-include $(BUILDDIR)/common/Subdirs.gmk
-
-all build clean clobber::
-	$(SUBDIRS-loop)
-
-all build :: $(DEMODIR)/jvmti/index.html
-
-$(DEMODIR)/jvmti/index.html: $(SHARE_SRC)/demo/jvmti/index.html
-	$(install-file)
-
--- a/jdk/makefiles/mkdemo/jvmti/README.txt	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-#
-# Copyright (c) 2004, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-Instructions on adding a jvmti demo agent.
-
-Basically you want to mimic the jvmti demo agent "mtrace".
-
-* Create and populate a source directory at src/share/demo/jvmti
-  (Try and re-use code in agent_util area like src/share/demo/jvmti/mtrace)
-  (This should include a small README.txt document on what this demo is)
-
-* Make sure the appropriate "demo" copyright notice is added to all the
-  source files.
-
-* Edit src/share/demo/jvmti/index.html and add in reference to this demo.
-
-* Create make directory at make/mkdemo/jvmti
-  (Mimic make/mkdemo/jvmti/mtrace/Makefile)
-
-* Edit make/mkdemo/jvmti/Makefile and add in the new demo
-
-* Create test directory at test/demo/jvmti, create at least one test
-  (Use test/demo/jvmti/mtrace as a template)
-
-* Don't forget to check in all the new files
-
-* Build and create images (cd make && gnumake && gnumake images)
-  (Do this on Solaris, Linux, and at least one Windows platform)
-
-* Verify that browsing build/*/j2sdk-images/demo/jvmti looks right
-
-* Run the tests: cd test/demo/jvmti && runregress .
-  (Do this on Solaris, Linux, and at least one Windows platform)
-
-Contact: serviceability-dev@openjdk.java.net for more information or help.
-
--- a/jdk/makefiles/mkdemo/jvmti/hprof/Makefile	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-#
-# Copyright (c) 2004, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-BUILDDIR = ../../..
-PRODUCT = demo/jvmti
-DEMONAME = hprof
-include $(BUILDDIR)/common/Defs.gmk
-
-DEMO_ROOT       = $(SHARE_SRC)/demo/jvmti/$(DEMONAME)
-DEMO_TOPFILES   = ./README.txt
-DEMO_PSRCDIR    = $(PLATFORM_SRC)/demo/jvmti/$(DEMONAME)
-DEMO_DESTDIR    = $(DEMODIR)/jvmti/$(DEMONAME)
-
-DEMO_OBJECTS    = java_crw_demo.$(OBJECT_SUFFIX)
-
-ifeq ($(PLATFORM), windows)
-  EXTRA_LIBS += wsock32.lib winmm.lib
-endif
-ifeq ($(PLATFORM), solaris)
-  OTHER_LDLIBS += $(LIBSOCKET) $(LIBNSL) -ldl
-endif
-ifeq ($(PLATFORM), linux)
-  OTHER_LDLIBS += $(LIBSOCKET) $(LIBNSL) -ldl -lpthread
-endif
-
-#
-# Demo jar building rules.
-#
-include $(BUILDDIR)/common/Demo.gmk
-
--- a/jdk/makefiles/mkdemo/jvmti/mapfile-vers	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-#
-# Copyright (c) 2004, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-# Define public interface for a Java JVMTI agent library (Solaris & Linux).
-
-SUNWprivate_1.1 {
-	global:
-	    Agent_OnLoad;
-	    Agent_OnUnload;
-	local:
-	    *;
-};
--- a/jdk/makefiles/mkdemo/management/README.txt	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-#
-# Copyright (c) 2004, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-Instructions on adding a java.lang.management demo.
-
-Basically you want to mimic the java.lang.management demo "FullThreadDump".
-
-* Create and populate a source directory at src/demo/management
-  (This should include a small README.txt document on what this demo is)
-
-* Make sure the appropriate "demo" copyright notice is added to all the
-  source files.
-
-* Edit src/share/demo/management/index.html and add in reference to this demo.
-
-* Create make directory at make/mkdemo/management
-  (Mimic make/mkdemo/management/FullThreadDump/Makefile)
-
-* Edit make/mkdemo/management/Makefile and add in the new demo
-
-* Create test directory at test/demo/management, create at least one test
-  (Use test/demo/management/FullThreadDump as a template)
-
-* Don't forget to put all files under SCM control
-
-* Build and create images (cd make && gnumake && gnumake images)
-  (Do this on Solaris, Linux, and at least one Windows platform)
-
-* Verify that browsing build/*/j2sdk-images/demo/management looks right
-
-* Run the tests: cd test/demo/management && runregress .
-  (Do this on Solaris, Linux, and at least one Windows platform)
-
-Contact: jk-svc-group@sun.com for more information or help.
-
--- a/jdk/makefiles/sun/jkernel/Makefile	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-#
-# Copyright (c) 2008, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-BUILDDIR = ../..
-MODULE  = jkernel
-PACKAGE = sun.jkernel
-LIBRARY = jkernel
-PRODUCT = sun
-
-include $(BUILDDIR)/common/Defs.gmk
-
-#
-# Use highest optimization level
-#
-_OPT = $(CC_HIGHEST_OPT)
-
-#
-# Java source files
-#
-include FILES_java.gmk
-AUTO_FILES_JAVA_DIRS = sun/jkernel
-
-LOCALE_SUFFIXES = $(JDK_LOCALES)
-
-#
-# Native source files
-#
-
-ifeq ($(ARCH_DATA_MODEL), 32) 
-
-ifeq ($(PLATFORM), windows)
-
-# If this is the VS Express compiler it will lack vc/atlmfc/
-ATL_MFC_DIR :=$(call DirExists,$(COMPILER_PATH)/../atlmfc,,)
-
-ifneq ($(ATL_MFC_DIR),)
-
-include FILES_c_windows.gmk
-
-vpath %.cpp   $(PLATFORM_SRC)/native/sun/jkernel
-
-
-VERSIONINFO_RESOURCE = $(PLATFORM_SRC)/native/sun/jkernel/kernel.rc
-
-LDLIBS += urlmon.lib wininet.lib shlwapi.lib version.lib comctl32.lib gdi32.lib -def:$(PLATFORM_SRC)/native/sun/jkernel/kernel.def
-
-include $(BUILDDIR)/common/Library.gmk
-
-endif
-
-endif
-
-endif
-
-#
-# Resources
-#
-include $(JDK_TOPDIR)/makefiles/common/internal/Resources.gmk
-
-#
-# Rules
-#
-include $(BUILDDIR)/common/Classes.gmk
-
-# If extra compression is going to be available in the deploy build enable 
-# its use here by defining the JRE-relative pathname of the shared library
-
-ifeq ($(PLATFORM), windows)
-  ifdef EXTRA_COMP_INSTALL_PATH
-    CPPFLAGS += -DEXTRA_COMP_INSTALL_PATH=$(EXTRA_COMP_INSTALL_PATH)
-  endif
-endif
--- a/jdk/makefiles/sun/security/ec/Makefile	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +0,0 @@
-#
-# Copyright (c) 2009, 2012, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Makefile for building sunec.jar and sunec native library.
-#
-# This file was derived from make/com/sun/crypto/provider/Makefile.
-#
-
-#
-# (The terms "OpenJDK" and "JDK" below refer to OpenJDK and Sun JDK builds
-# respectively.)
-#
-# JCE builds are very different between OpenJDK and JDK.  The OpenJDK JCE
-# jar files do not require signing, but those for JDK do.  If an unsigned
-# jar file is installed into JDK, things will break when the crypto
-# routines are called.
-#
-# This Makefile does the "real" build of the JCE files.  For OpenJDK,
-# the jar files built here are installed directly into the OpenJDK.
-#
-# For JDK, the binaries use pre-built/pre-signed binary files stored in
-# the closed workspace that are not shipped in the OpenJDK workspaces.
-# We still build the JDK files here to verify the files compile, and in
-# preparation for possible signing.  Developers working on JCE in JDK
-# must sign the JCE files before testing.  The JCE signing key is kept
-# separate from the JDK workspace to prevent its disclosure.
-#
-# SPECIAL NOTE TO JCE/JDK developers:  The source files must eventually
-# be built, signed, and then the resulting jar files MUST BE CHECKED
-# INTO THE CLOSED PART OF THE WORKSPACE*.  This separate step *MUST NOT
-# BE FORGOTTEN*, otherwise a bug fixed in the source code will not be
-# reflected in the shipped binaries.  The "release" target should be
-# used to generate the required files.
-#
-# There are a number of targets to help both JDK/OpenJDK developers.
-#
-# Main Targets (JDK/OPENJDK):
-#
-#     all/clobber/clean		The usual, plus the native libraries.
-#				    If OpenJDK, installs sunec.jar.
-#				    If JDK, installs prebuilt
-#				    sunec.jar.
-#
-#     jar			Builds/installs sunec.jar
-#				    If OpenJDK, does not sign.
-#				    If JDK, tries to sign.
-#
-# Other lesser-used Targets (JDK/OPENJDK):
-#
-#     build-jar			Builds sunec.jar
-#				    (does not sign/install)
-#
-#     install-jar		Alias for "jar" above.
-#
-# Other targets (JDK only):
-#
-#     sign			Alias for sign-jar
-#	  sign-jar		Builds/signs sunec.jar (no install)
-#
-#     release			Builds all targets in preparation
-#				for workspace integration.
-#
-#     install-prebuilt		Installs the pre-built jar files
-#
-# This makefile was written to support parallel target execution.
-#
-
-BUILDDIR = ../../..
-PACKAGE = sun.security.ec
-PRODUCT = sun
-
-#
-# The following is for when we need to do postprocessing
-# (signing) against a read-only build.  If the OUTPUTDIR
-# isn't writable, the build currently crashes out.
-#
-ifndef OPENJDK
-  ifdef ALT_JCE_BUILD_DIR
-    # =====================================================
-    # Where to place the output, in case we're building from a read-only
-    # build area.  (e.g. a release engineering build.)
-    JCE_BUILD_DIR=${ALT_JCE_BUILD_DIR}
-    IGNORE_WRITABLE_OUTPUTDIR_TEST=true
-  else
-    JCE_BUILD_DIR=${TEMPDIR}
-  endif
-endif
-
-JAVAC_MAX_WARNINGS=false
-JAVAC_LINT_OPTIONS=-Xlint:all,-deprecation
-JAVAC_WARNINGS_FATAL=true
-include $(BUILDDIR)/common/Defs.gmk
-
-#
-# Location for the newly built classfiles.
-#
-CLASSDESTDIR = $(TEMPDIR)/classes
-
-#
-# Java files
-#
-AUTO_FILES_JAVA_DIRS = $(PKGDIR)
-
-#
-# Exclude the sources that get built by ../other/Makefile
-#
-AUTO_JAVA_PRUNE = \
-    ECKeyFactory.java \
-    ECParameters.java \
-    ECPrivateKeyImpl.java \
-    ECPublicKeyImpl.java \
-    NamedCurve.java
-
-#
-# Some licensees do not get the native ECC sources, but we still need to
-# be able to build "all" for them.  Check here to see if the sources are
-# available.  If not, then skip them.
-#
-
-NATIVE_ECC_AVAILABLE := $(shell \
-    if [ -d $(SHARE_SRC)/native/$(PKGDIR)/impl ] ; then \
-	$(ECHO) true; \
-    else \
-	$(ECHO) false; \
-    fi)
-
-ifeq ($(NATIVE_ECC_AVAILABLE), true)
-
-  LIBRARY = sunec
-
-  #
-  # Java files that define native methods
-  #
-  FILES_export = \
-      $(PKGDIR)/ECDHKeyAgreement.java \
-      $(PKGDIR)/ECDSASignature.java \
-      $(PKGDIR)/ECKeyPairGenerator.java
-
-  JAVAHFLAGS = -bootclasspath \
-    "$(CLASSDESTDIR)$(CLASSPATH_SEPARATOR)$(CLASSBINDIR)$(JCE_PATH)"
-
-  #
-  # C and C++ files
-  #
-  include FILES_c.gmk
-
-  FILES_cpp = ECC_JNI.cpp
-
-  CPLUSPLUSLIBRARY=true
-
-  FILES_m = mapfile-vers
-
-  #
-  # Find native code
-  #
-  vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR)
-
-  vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/impl
-
-  #
-  # Find include files
-  #
-  OTHER_INCLUDES += -I$(SHARE_SRC)/native/$(PKGDIR)/impl
-
-  #
-  # Compiler flags
-  #
-  OTHER_CFLAGS += -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B
-
-  #
-  # Libraries to link
-  #
-  ifneq ($(PLATFORM), windows)
-    OTHER_LDLIBS = $(LIBCXX)
-  endif
-
-  include $(BUILDDIR)/common/Mapfile-vers.gmk
-
-  include $(BUILDDIR)/common/Library.gmk
-
-else # NATIVE_ECC_AVAILABLE
-
-  include $(BUILDDIR)/common/Classes.gmk
-
-endif # NATIVE_ECC_AVAILABLE
-
-#
-# We use a variety of subdirectories in the $(TEMPDIR) depending on what
-# part of the build we're doing.  Both OPENJDK/JDK builds are initially
-# done in the unsigned area.  When files are signed in JDK,
-# they will be placed in the appropriate area.
-#
-UNSIGNED_DIR = $(TEMPDIR)/unsigned
-
-include $(BUILDDIR)/javax/crypto/Defs-jce.gmk
-
-#
-# Rules
-#
-
-ifdef OPENJDK
-all: build-jar install-jar
-else
-all: build-jar install-prebuilt
-	$(build-warning)
-endif
-
-
-# =====================================================
-# Build the unsigned sunec.jar file.
-#
-
-JAR_DESTFILE = $(EXTDIR)/sunec.jar
-
-#
-# Since the -C option to jar is used below, each directory entry must be
-# preceded with the appropriate directory to "cd" into.
-#
-JAR_DIRS = $(patsubst %, -C $(CLASSDESTDIR) %, $(AUTO_FILES_JAVA_DIRS))
-
-build-jar: $(UNSIGNED_DIR)/sunec.jar
-
-#
-# Build sunec.jar.
-#
-$(UNSIGNED_DIR)/sunec.jar: build
-	$(prep-target)
-	$(BOOT_JAR_CMD) cf $@ $(JAR_DIRS) \
-	    $(BOOT_JAR_JFLAGS)
-	@$(java-vm-cleanup)
-
-
-ifndef OPENJDK
-# =====================================================
-# Sign the provider jar file.  Not needed for OpenJDK.
-#
-
-SIGNED_DIR = $(JCE_BUILD_DIR)/signed
-
-sign: sign-jar
-
-sign-jar: $(SIGNED_DIR)/sunec.jar
-
-ifndef ALT_JCE_BUILD_DIR
-$(SIGNED_DIR)/sunec.jar: $(UNSIGNED_DIR)/sunec.jar
-else
-#
-# We have to remove the build dependency, otherwise, we'll try to rebuild it
-# which we can't do on a read-only filesystem.
-#
-$(SIGNED_DIR)/sunec.jar:
-	@if [ ! -r $(UNSIGNED_DIR)/sunec.jar ] ; then \
-	    $(ECHO) "Couldn't find $(UNSIGNED_DIR)/sunec.jar"; \
-	    exit 1; \
-	fi
-endif
-	$(call sign-file, $(UNSIGNED_DIR)/sunec.jar)
-
-
-# =====================================================
-# Create the Release Engineering files.  Signed builds, etc.
-#
-
-release: $(SIGNED_DIR)/sunec.jar
-	$(RM) $(JCE_BUILD_DIR)/release/sunec.jar
-	$(MKDIR) -p $(JCE_BUILD_DIR)/release
-	$(CP) $(SIGNED_DIR)/sunec.jar $(JCE_BUILD_DIR)/release
-	$(release-warning)
-
-endif # OPENJDK
-
-
-# =====================================================
-# Install routines.
-#
-
-#
-# Install sunec.jar, depending on which type is requested.
-#
-install-jar jar: $(JAR_DESTFILE)
-ifndef OPENJDK
-	$(release-warning)
-endif
-
-ifdef OPENJDK
-$(JAR_DESTFILE): $(UNSIGNED_DIR)/sunec.jar
-else
-$(JAR_DESTFILE): $(SIGNED_DIR)/sunec.jar
-endif
-	$(install-file)
-
-ifndef OPENJDK
-install-prebuilt:
-	@$(ECHO) "\n>>>Installing prebuilt SunEC provider..."
-	$(RM) $(JAR_DESTFILE)
-	$(CP) $(PREBUILT_DIR)/ec/sunec.jar $(JAR_DESTFILE)
-endif
-
-
-# =====================================================
-# Support routines.
-#
-
-clobber clean::
-	$(RM) -r $(JAR_DESTFILE) $(TEMPDIR) $(JCE_BUILD_DIR)
-
-.PHONY: build-jar jar install-jar
-ifndef OPENJDK
-.PHONY: sign sign-jar release install-prebuilt
-endif
--- a/jdk/makefiles/sun/security/pkcs11/FILES_c.gmk	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-#
-# Copyright (c) 2003, 2007, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-FILES_c = \
-	j2secmod.c \
-	j2secmod_md.c \
-	p11_convert.c \
-	p11_crypt.c \
-	p11_digest.c \
-	p11_dual.c \
-	p11_general.c \
-	p11_keymgmt.c \
-	p11_mutex.c \
-	p11_objmgmt.c \
-	p11_sessmgmt.c \
-	p11_sign.c \
-	p11_util.c \
-	p11_md.c
-
--- a/jdk/makefiles/sun/security/pkcs11/Makefile	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,313 +0,0 @@
-#
-# Copyright (c) 2003, 2012, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-#
-# Makefile for building sunpkcs11.jar and native libraries.
-#
-# This file was derived from make/com/sun/crypto/provider/Makefile.
-#
-
-#
-# (The terms "OpenJDK" and "JDK" below refer to OpenJDK and Sun JDK builds
-# respectively.)
-#
-# JCE builds are very different between OpenJDK and JDK.  The OpenJDK JCE
-# jar files do not require signing, but those for JDK do.  If an unsigned
-# jar file is installed into JDK, things will break when the crypto
-# routines are called.
-#
-# This Makefile does the "real" build of the JCE files.  For OpenJDK,
-# the jar files built here are installed directly into the OpenJDK.
-#
-# For JDK, the binaries use pre-built/pre-signed binary files stored in
-# the closed workspace that are not shipped in the OpenJDK workspaces.
-# We still build the JDK files here to verify the files compile, and in
-# preparation for possible signing.  Developers working on JCE in JDK
-# must sign the JCE files before testing.  The JCE signing key is kept
-# separate from the JDK workspace to prevent its disclosure.
-#
-# SPECIAL NOTE TO JCE/JDK developers:  The source files must eventually
-# be built, signed, and then the resulting jar files MUST BE CHECKED
-# INTO THE CLOSED PART OF THE WORKSPACE*.  This separate step *MUST NOT
-# BE FORGOTTEN*, otherwise a bug fixed in the source code will not be
-# reflected in the shipped binaries.  The "release" target should be
-# used to generate the required files.
-#
-# There are a number of targets to help both JDK/OpenJDK developers.
-#
-# Main Targets (JDK/OPENJDK):
-#
-#     all/clobber/clean        The usual, plus the native libraries.
-#                                  If OpenJDK, installs sunpkcs11.jar.
-#                                  If JDK, installs prebuilt
-#                                      sunpkcs11.jar.
-#
-#     jar                      Builds/installs sunpkcs11.jar
-#                                  If OpenJDK, does not sign.
-#                                  If JDK, tries to sign.
-#
-# Other lesser-used Targets (JDK/OPENJDK):
-#
-#     build-jar                Builds sunpkcs11.jar
-#                                  (does not sign/install)
-#
-#     install-jar              Alias for "jar" above.
-#
-# Other targets (JDK only):
-#
-#     sign                     Alias for sign-jar
-#          sign-jar            Builds/signs sunpkcs11.jar (no install)
-#
-#     release                  Builds all targets in preparation
-#                              for workspace integration.
-#
-#     install-prebuilt         Installs the pre-built jar files
-#
-# This makefile was written to support parallel target execution.
-#
-
-BUILDDIR = ../../..
-PACKAGE = sun.security.pkcs11
-LIBRARY = j2pkcs11
-PRODUCT = sun
-
-#
-# The following is for when we need to do postprocessing
-# (signing/obfuscation) against a read-only build.  If the OUTPUTDIR
-# isn't writable, the build currently crashes out.
-#
-ifndef OPENJDK
-  ifdef ALT_JCE_BUILD_DIR
-    # =====================================================
-    # Where to place the output, in case we're building from a read-only
-    # build area.  (e.g. a release engineering build.)
-    JCE_BUILD_DIR=${ALT_JCE_BUILD_DIR}
-    IGNORE_WRITABLE_OUTPUTDIR_TEST=true
-  else
-    JCE_BUILD_DIR=${TEMPDIR}
-  endif
-endif
-
-JAVAC_MAX_WARNINGS=false
-JAVAC_LINT_OPTIONS=-Xlint:all,-deprecation
-JAVAC_WARNINGS_FATAL=true
-include $(BUILDDIR)/common/Defs.gmk
-
-#
-# C and Java Files
-#
-include FILES_c.gmk
-
-#
-# Subdirectories of these are automatically included.
-#
-AUTO_FILES_JAVA_DIRS = sun/security/pkcs11
-
-#
-# Java files that define native methods
-#
-FILES_export = \
-    sun/security/pkcs11/wrapper/PKCS11.java \
-    sun/security/pkcs11/Secmod.java
-
-#
-# Find native code
-#
-vpath %.c \
-  $(SHARE_SRC)/native/sun/security/pkcs11/wrapper \
-  $(PLATFORM_SRC)/native/sun/security/pkcs11/wrapper \
-
-#
-# Find include files
-#
-OTHER_INCLUDES += \
-  -I$(SHARE_SRC)/native/sun/security/pkcs11/wrapper \
-  -I$(PLATFORM_SRC)/native/sun/security/pkcs11/wrapper
-
-#
-# Rules
-#
-CLASSDESTDIR = $(TEMPDIR)/classes
-JAVAHFLAGS = -bootclasspath \
-  "$(CLASSDESTDIR)$(CLASSPATH_SEPARATOR)$(CLASSBINDIR)$(JCE_PATH)"
-
-include $(BUILDDIR)/common/Mapfile-vers.gmk
-
-include $(BUILDDIR)/common/Library.gmk
-
-#
-# Libraries to link
-#
-ifneq ($(PLATFORM), windows)
-  OTHER_LDLIBS = $(LIBDL)
-endif
-
-# Other config files
-SUNPKCS11_CFG   =
-
-ifeq ($(PLATFORM), solaris)
-#SUNPKCS11_CFG   = sunpkcs11-cfg
-endif # PLATFORM
-
-SUNPKCS11_CFG_SRC   = $(TOPDIR)/src/share/lib/security/sunpkcs11-solaris.cfg
-SUNPKCS11_CFG_BUILD = $(LIBDIR)/security/sunpkcs11-solaris.cfg
-
-#
-# We use a variety of subdirectories in the $(TEMPDIR) depending on what
-# part of the build we're doing.  Both OPENJDK/JDK builds are initially
-# done in the unsigned area.  When files are signed in JDK,
-# they will be placed in the appropriate area.
-#
-UNSIGNED_DIR = $(TEMPDIR)/unsigned
-
-#
-# Rules
-#
-
-ifdef OPENJDK
-all: $(SUNPKCS11_CFG) build-jar install-jar
-else
-all: $(SUNPKCS11_CFG) build-jar install-prebuilt
-	$(build-warning)
-endif
-
-sunpkcs11-cfg: $(SUNPKCS11_CFG_BUILD)
-
-$(SUNPKCS11_CFG_BUILD): $(SUNPKCS11_CFG_SRC)
-	$(install-file)
-
-include $(BUILDDIR)/javax/crypto/Defs-jce.gmk
-
-
-# =====================================================
-# Build the unsigned sunpkcs11.jar file.
-#
-
-JAR_DESTFILE = $(EXTDIR)/sunpkcs11.jar
-
-#
-# The sunpkcs11.jar needs to be in the extension class directory,
-# therefore none of its classes can appear in $(CLASSBINDIR). 
-# Currently no one is using any of the PKCS11 internals, so these files
-# should not have been built.
-#
-
-#
-# Since the -C option to jar is used below, each directory entry must be
-# preceded with the appropriate directory to "cd" into.
-#
-JAR_DIRS = $(patsubst %, -C $(CLASSDESTDIR) %, $(AUTO_FILES_JAVA_DIRS))
-
-build-jar: $(UNSIGNED_DIR)/sunpkcs11.jar
-
-#
-# Build sunpkcs11.jar.
-#
-$(UNSIGNED_DIR)/sunpkcs11.jar: build
-	$(prep-target)
-	$(BOOT_JAR_CMD) cf $@ $(JAR_DIRS) \
-	    $(BOOT_JAR_JFLAGS)
-	@$(java-vm-cleanup)
-
-
-ifndef OPENJDK
-# =====================================================
-# Sign the provider jar file.  Not needed for OpenJDK.
-#
-
-SIGNED_DIR = $(JCE_BUILD_DIR)/signed
-
-sign: sign-jar
-
-sign-jar: $(SIGNED_DIR)/sunpkcs11.jar
-
-ifndef ALT_JCE_BUILD_DIR
-$(SIGNED_DIR)/sunpkcs11.jar: $(UNSIGNED_DIR)/sunpkcs11.jar
-else
-#
-# We have to remove the build dependency, otherwise, we'll try to rebuild it
-# which we can't do on a read-only filesystem.
-#
-$(SIGNED_DIR)/sunpkcs11.jar:
-	@if [ ! -r $(UNSIGNED_DIR)/sunpkcs11.jar ] ; then \
-            $(ECHO) "Couldn't find $(UNSIGNED_DIR)/sunpkcs11.jar"; \
-            exit 1; \
-        fi
-endif
-	$(call sign-file, $(UNSIGNED_DIR)/sunpkcs11.jar)
-
-
-# =====================================================
-# Create the Release Engineering files.  Signed builds, etc.
-#
-
-release: $(SIGNED_DIR)/sunpkcs11.jar
-	$(RM) $(JCE_BUILD_DIR)/release/sunpkcs11.jar
-	$(MKDIR) -p $(JCE_BUILD_DIR)/release
-	$(CP) $(SIGNED_DIR)/sunpkcs11.jar $(JCE_BUILD_DIR)/release
-	$(release-warning)
-
-endif # OPENJDK
-
-
-# =====================================================
-# Install routines.
-#
-
-#
-# Install sunpkcs11.jar, depending on which type is requested.
-#
-install-jar jar: $(JAR_DESTFILE)
-ifndef OPENJDK
-	$(release-warning)
-endif
-
-ifdef OPENJDK
-$(JAR_DESTFILE): $(UNSIGNED_DIR)/sunpkcs11.jar
-else
-$(JAR_DESTFILE): $(SIGNED_DIR)/sunpkcs11.jar
-endif
-	$(install-file)
-
-ifndef OPENJDK
-install-prebuilt:
-	@$(ECHO) "\n>>>Installing prebuilt SunPKCS11 provider..."
-	$(RM) $(JAR_DESTFILE)
-	$(CP) $(PREBUILT_DIR)/pkcs11/sunpkcs11.jar $(JAR_DESTFILE)
-endif
-
-
-# =====================================================
-# Support routines.
-#
-
-clobber clean::
-	$(RM) -r $(JAR_DESTFILE) $(TEMPDIR) $(JCE_BUILD_DIR)
-	$(RM) $(SUNPKCS11_CFG_BUILD) 
-
-.PHONY: build-jar jar install-jar
-ifndef OPENJDK
-.PHONY: sign sign-jar release install-prebuilt
-endif
--- a/jdk/makefiles/sun/security/pkcs11/mapfile-vers	Wed Jul 05 18:14:56 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-#
-# Copyright (c) 2003, 2012, 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.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# 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.
-#
-
-# Define public interface.
-
-SUNWprivate_1.1 {
-	global:
-		JNI_OnLoad;
-		Java_sun_security_pkcs11_wrapper_PKCS11_initializeLibrary;
-		Java_sun_security_pkcs11_wrapper_PKCS11_finalizeLibrary;
-		Java_sun_security_pkcs11_wrapper_PKCS11_connect;
-		Java_sun_security_pkcs11_wrapper_PKCS11_disconnect;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1Initialize;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1Finalize;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetInfo;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetSlotList;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetSlotInfo;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetTokenInfo;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetMechanismList;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetMechanismInfo;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1InitToken;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1InitPIN;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SetPIN;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1OpenSession;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1CloseSession;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1CloseAllSessions;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetSessionInfo;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetOperationState;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SetOperationState;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1Login;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1Logout;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1CreateObject;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1CopyObject;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DestroyObject;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetObjectSize;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetAttributeValue;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SetAttributeValue;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1FindObjectsInit;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1FindObjects;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1FindObjectsFinal;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1EncryptInit;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1Encrypt;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1EncryptUpdate;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1EncryptFinal;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DecryptInit;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1Decrypt;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DecryptUpdate;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DecryptFinal;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DigestInit;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DigestSingle;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DigestUpdate;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DigestKey;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DigestFinal;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SignInit;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1Sign;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SignUpdate;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SignFinal;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SignRecoverInit;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SignRecover;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1VerifyInit;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1Verify;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1VerifyUpdate;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1VerifyFinal;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1VerifyRecoverInit;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1VerifyRecover;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DigestEncryptUpdate;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DecryptDigestUpdate;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SignEncryptUpdate;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DecryptVerifyUpdate;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GenerateKey;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GenerateKeyPair;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1WrapKey;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1UnwrapKey;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DeriveKey;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SeedRandom;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GenerateRandom;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetFunctionStatus;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1CancelFunction;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1WaitForSlotEvent;
-		Java_sun_security_pkcs11_Secmod_nssGetLibraryHandle;
-		Java_sun_security_pkcs11_Secmod_nssLoadLibrary;
-		Java_sun_security_pkcs11_Secmod_nssVersionCheck;
-		Java_sun_security_pkcs11_Secmod_nssInit;
-		Java_sun_security_pkcs11_Secmod_nssGetModuleList;
-
-	local:
-		*;
-};