--- old/makefiles/Images.gmk 2013-01-08 02:19:48.351271864 -0500 +++ new/makefiles/Images.gmk 2013-01-08 02:19:46.919191202 -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) \ @@ -124,6 +127,7 @@ schemagen$(EXE_SUFFIX) \ jsadebugd$(EXE_SUFFIX) \ jhat$(EXE_SUFFIX) +endif WINDOWS_JDK_BIN_FILES = \ $(EXE_SUFFIX) \ @@ -195,7 +199,8 @@ $(SALIB_NAME) endif -NOT_JRE_LIB_FILES := \ +ifeq ($(PROFILE),) + NOT_JRE_LIB_FILES := \ tools.jar \ jconsole.jar \ sa-jdi.jar \ @@ -204,8 +209,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) @@ -606,6 +612,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)/%,%,$@) @@ -647,7 +656,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))) @@ -687,7 +696,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)/% @@ -727,6 +736,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