--- a/jdk/makefiles/Images.gmk Mon Jan 21 21:54:51 2013 -0500
+++ b/jdk/makefiles/Images.gmk Mon Jan 21 23:17:58 2013 -0500
@@ -41,6 +41,8 @@
include Tools.gmk
+include Profiles.gmk
+
# Note: This double-colon rule is intentional, to support
# custom make file integration.
images:: jre-image jdk-image
@@ -84,7 +86,7 @@
################################################################################
#
# Variable prefixes explained:
-# JRE_ refers to files in the j2re-image.
+# JRE_ refers to files in the j2re-*-image.
# JDK_ refers to files in the j2sdk-image outside of the jre subdir.
# JDKJRE_ refers to files in the j2sdk-image inside the jre subdir.
#
@@ -92,7 +94,8 @@
################################################################################
# /bin dir
-NOT_JRE_BIN_FILES := \
+ifeq ($(PROFILE),)
+ NOT_JRE_BIN_FILES := \
appletviewer$(EXE_SUFFIX) \
extcheck$(EXE_SUFFIX) \
idlj$(EXE_SUFFIX) \
@@ -125,6 +128,7 @@
schemagen$(EXE_SUFFIX) \
jsadebugd$(EXE_SUFFIX) \
jhat$(EXE_SUFFIX)
+endif
WINDOWS_JDK_BIN_FILES = \
$(EXE_SUFFIX) \
@@ -196,7 +200,8 @@
$(SALIB_NAME)
endif
-NOT_JRE_LIB_FILES := \
+ifeq ($(PROFILE),)
+ NOT_JRE_LIB_FILES := \
tools.jar \
jconsole.jar \
sa-jdi.jar \
@@ -205,8 +210,9 @@
ir.idl \
ct.sym
-ifeq ($(OPENJDK_TARGET_OS), windows)
- NOT_JRE_LIB_FILES += jawt.lib jvm.lib
+ ifeq ($(OPENJDK_TARGET_OS), windows)
+ NOT_JRE_LIB_FILES += jawt.lib jvm.lib
+ endif
endif
JDK_LIB_FILES := $(NOT_JRE_LIB_FILES)
@@ -607,6 +613,9 @@
$(JRE_INFO_FILE): $(OUTPUT_ROOT)/spec.gmk $(OUTPUT_ROOT)/source_tips
$(ECHO) $(LOG_INFO) Generating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
$(call create-info-file)
+ifneq ($(PROFILE),)
+ $(call info-file-item, "JAVA_PROFILE", "$(call profile_name, $(call profile_number, $(PROFILE)))")
+endif
$(JDK_INFO_FILE): $(OUTPUT_ROOT)/spec.gmk $(OUTPUT_ROOT)/source_tips
$(ECHO) $(LOG_INFO) Generating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
@@ -648,7 +657,7 @@
EXEC_LIST_OVERLAY:=$(filter $(OVERLAY_FILTER),$(EXEC_LIST_BIN)) $(EXEC_LIST_LIB)
# Filter out non JRE files and convert to unique touch files to depend on
- JRE_STRIP_LIST:=$(patsubst $(JDK_OUTPUTDIR)/%,$(IMAGES_OUTPUTDIR)/_strip_jre/%.stripped,\
+ JRE_STRIP_LIST:=$(patsubst $(JDK_OUTPUTDIR)/%,$(IMAGES_OUTPUTDIR)/_strip_jre$(PROFILE)/%.stripped,\
$(filter-out $(addprefix %,$(NOT_JRE_BIN_FILES) $(NOT_JRE_LIB_FILES) $(JDKJRE_LIB_FILES)),\
$(EXEC_LIST)))
@@ -688,7 +697,7 @@
endef
# Setup a rule for stripping files based on touch files
- $(IMAGES_OUTPUTDIR)/_strip_jre/%.stripped: $(JRE_IMAGE_DIR)/%
+ $(IMAGES_OUTPUTDIR)/_strip_jre$(PROFILE)/%.stripped: $(JRE_IMAGE_DIR)/%
$(call strip-file)
$(IMAGES_OUTPUTDIR)/_strip_jdk/%.stripped: $(JDK_IMAGE_DIR)/%
@@ -728,6 +737,20 @@
$(JDK_OVERLAY_DEMO_TARGETS) $(JDK_OVERLAY_INFO_FILE) \
$(JDKJRE_OVERLAY_STRIP_LIST) $(JDK_OVERLAY_BIN_STRIP_LIST)
+ifneq ($(PROFILE),)
+# Files in lib$(PROFILE) are excluded from the generic copying routines so
+# we have to add them back in here
+$(foreach f,$(CUSTOM_PROFILE_JARS),\
+ $(eval $(call AddFileToCopy,$(IMAGES_OUTPUTDIR)/lib$(PROFILE),$(JRE_IMAGE_DIR)/lib,$f,JRE_LIB_TARGETS)))
+
+profile-image: $(JRE_BIN_TARGETS) $(JRE_LIB_TARGETS) \
+ $(JRE_IMAGE_DIR)/lib/meta-index $(JRE_IMAGE_DIR)/lib/ext/meta-index \
+ $(JRE_INFO_FILE) $(JRE_STRIP_LIST)
+
+.PHONY: profile-image
+
+endif # Profile
+
################################################################################
.PHONY: default images jre-image jdk-image