# HG changeset patch # User Stefan Anzinger # Date 1433935323 -7200 # Node ID 899d7cadd0a197116a545ed0572edfb368f2e00c # Parent cf7b06489764be47751660561e813860cdfa3bc6 Make jvmci.make quiet and use recipe for build and jar diff -r cf7b06489764 -r 899d7cadd0a1 make/Makefile --- a/make/Makefile Wed Jun 10 11:06:41 2015 +0200 +++ b/make/Makefile Wed Jun 10 13:22:03 2015 +0200 @@ -315,7 +315,8 @@ TARGET=build/make \ HS_COMMON_SRC=$(HS_COMMON_SRC) \ ABS_BOOTDIR=$(ABS_BOOTDIR) \ - EXPORT_DIR=$(SHARED_DIR) export + SHARED_DIR=$(SHARED_DIR) \ + MAKE_VERBOSE=$(MAKE_VERBOSE) export # Export file rule generic_export: $(EXPORT_LIST) diff -r cf7b06489764 -r 899d7cadd0a1 make/jvmci.make --- a/make/jvmci.make Wed Jun 10 11:06:41 2015 +0200 +++ b/make/jvmci.make Wed Jun 10 13:22:03 2015 +0200 @@ -19,73 +19,84 @@ ifeq ($(ABS_BOOTDIR),) $(error Variable ABS_BOOTDIR must be set to a JDK installation.) endif -ifneq ($(MAKE_VERBOSE),) - SHELL=sh -x +ifeq ($(MAKE_VERBOSE),) + QUIETLY=@ endif define process_options $(eval providers=$(1)/$(PROVIDERS_INF)) $(eval services=$(1)/$(SERVICES_INF)) $(eval options=$(1)/$(OPTIONS_INF)) - test -d $(services) || mkdir -p $(services) - test ! -d $(providers) || (cd $(providers) && for i in $$(ls); do c=$$(cat $$i); echo $$i >> $(abspath $(services))/$$c; rm $$i; done) + $(QUIETLY) test -d $(services) || mkdir -p $(services) + $(QUIETLY) test ! -d $(providers) || (cd $(providers) && for i in $$(ls); do c=$$(cat $$i); echo $$i >> $(abspath $(services))/$$c; rm $$i; done) - # Since all projects are built together with one javac call we cannot determine - # which project contains HotSpotVMConfig.inline.hpp so we hardcode it. + @# Since all projects are built together with one javac call we cannot determine + @# which project contains HotSpotVMConfig.inline.hpp so we hardcode it. $(eval vmconfig=$(1)/hotspot/HotSpotVMConfig.inline.hpp) $(eval vmconfigDest=$(HS_COMMON_SRC)/../jvmci/com.oracle.jvmci.hotspot/src_gen/hotspot) - test ! -f $(vmconfig) || (mkdir -p $(vmconfigDest) && cp $(vmconfig) $(vmconfigDest)) + $(QUIETLY) test ! -f $(vmconfig) || (mkdir -p $(vmconfigDest) && cp $(vmconfig) $(vmconfigDest)) endef define extract - $(eval TMP := $(shell mktemp -d $(1)_XXXXX)) - mkdir -p $(2); - cd $(TMP) && $(JAR) xf $(abspath $(1)) && \ + $(eval TMP := $(shell mktemp -d tmp_XXXXX)) + $(QUIETLY) mkdir -p $(2); + $(QUIETLY) cd $(TMP) && $(JAR) xf $(abspath $(1)) && \ ((test ! -d .$(SERVICES_INF) || cp -r .$(SERVICES_INF) $(abspath $(2))) && (test ! -d .$(OPTIONS_INF) || cp -r .$(OPTIONS_INF) $(abspath $(2)))); - rm -r $(TMP); - cp $(1) $(2); + $(QUIETLY) rm -r $(TMP); + $(QUIETLY) cp $(1) $(2); endef +define build_and_jar + $(info Building $(4)) + $(eval TMP := $(shell mktemp -d JVMCI_HOTSPOT_XXXXX)) + $(QUIETLY) $(JAVAC) -d $(TMP) -processorpath :$(1) -bootclasspath $(JDK_BOOTCLASSPATH) -cp :$(2) $(filter %.java,$?); + $(QUIETLY) test "$(3)" = "" || cp -r $(3) $(TMP); + $(QUIETLY) $(call process_options,$(TMP)); + $(QUIETLY) mkdir -p $(shell dirname $(4)) + $(QUIETLY) $(JAR) cf $(4) -C $(TMP) . + $(QUIETLY) rm -r $(TMP); +endef all: default export: all - mkdir -p $(EXPORT_DIR) - $(foreach export,$(EXPORTED_FILES),$(call extract,$(export),$(EXPORT_DIR))) + $(info Put $(EXPORTED_FILES) into SHARED_DIR $(SHARED_DIR)) + $(QUIETLY) mkdir -p $(SHARED_DIR) + $(foreach export,$(EXPORTED_FILES),$(call extract,$(export),$(SHARED_DIR))) .PHONY: export JDK_BOOTCLASSPATH = $(ABS_BOOTDIR)/jre/lib/resources.jar:$(ABS_BOOTDIR)/jre/lib/rt.jar:$(ABS_BOOTDIR)/jre/lib/jsse.jar:$(ABS_BOOTDIR)/jre/lib/jce.jar:$(ABS_BOOTDIR)/jre/lib/charsets.jar:$(ABS_BOOTDIR)/jre/lib/jfr.jar -JVMCI_OPTIONS_PROCESSOR_SRC = $(shell find jvmci/com.oracle.jvmci.options/src -type f -name '*.java' 2> /dev/null) -JVMCI_OPTIONS_PROCESSOR_SRC += $(shell find jvmci/com.oracle.jvmci.options.processor/src -type f -name '*.java' 2> /dev/null) +JVMCI_OPTIONS_PROCESSOR_SRC = $(shell find jvmci/com.oracle.jvmci.options/src -type f 2> /dev/null) +JVMCI_OPTIONS_PROCESSOR_SRC += $(shell find jvmci/com.oracle.jvmci.options.processor/src -type f 2> /dev/null) JVMCI_OPTIONS_PROCESSOR_JAR = $(TARGET)/jvmci/com.oracle.jvmci.options.processor/ap/com.oracle.jvmci.options.processor.jar -JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC = $(shell find jvmci/com.oracle.jvmci.hotspotvmconfig/src -type f -name '*.java' 2> /dev/null) -JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC += $(shell find jvmci/com.oracle.jvmci.common/src -type f -name '*.java' 2> /dev/null) -JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC += $(shell find jvmci/com.oracle.jvmci.hotspotvmconfig.processor/src -type f -name '*.java' 2> /dev/null) +JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC = $(shell find jvmci/com.oracle.jvmci.hotspotvmconfig/src -type f 2> /dev/null) +JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC += $(shell find jvmci/com.oracle.jvmci.common/src -type f 2> /dev/null) +JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC += $(shell find jvmci/com.oracle.jvmci.hotspotvmconfig.processor/src -type f 2> /dev/null) JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR = $(TARGET)/jvmci/com.oracle.jvmci.hotspotvmconfig.processor/ap/com.oracle.jvmci.hotspotvmconfig.processor.jar -JVMCI_SERVICE_PROCESSOR_SRC = $(shell find jvmci/com.oracle.jvmci.service/src -type f -name '*.java' 2> /dev/null) -JVMCI_SERVICE_PROCESSOR_SRC += $(shell find jvmci/com.oracle.jvmci.service.processor/src -type f -name '*.java' 2> /dev/null) +JVMCI_SERVICE_PROCESSOR_SRC = $(shell find jvmci/com.oracle.jvmci.service/src -type f 2> /dev/null) +JVMCI_SERVICE_PROCESSOR_SRC += $(shell find jvmci/com.oracle.jvmci.service.processor/src -type f 2> /dev/null) JVMCI_SERVICE_PROCESSOR_JAR = $(TARGET)/jvmci/com.oracle.jvmci.service.processor/ap/com.oracle.jvmci.service.processor.jar -JVMCI_API_SRC = $(shell find jvmci/com.oracle.jvmci.meta/src -type f -name '*.java' 2> /dev/null) -JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.meta/jvmci/com.oracle.jvmci.meta/src_gen -type f -name '*.java' 2> /dev/null) -JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.code/src -type f -name '*.java' 2> /dev/null) -JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.code/jvmci/com.oracle.jvmci.code/src_gen -type f -name '*.java' 2> /dev/null) -JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.runtime/src -type f -name '*.java' 2> /dev/null) -JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.runtime/jvmci/com.oracle.jvmci.runtime/src_gen -type f -name '*.java' 2> /dev/null) -JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.options/src -type f -name '*.java' 2> /dev/null) -JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.options/jvmci/com.oracle.jvmci.options/src_gen -type f -name '*.java' 2> /dev/null) -JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.common/src -type f -name '*.java' 2> /dev/null) -JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.common/jvmci/com.oracle.jvmci.common/src_gen -type f -name '*.java' 2> /dev/null) -JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.debug/src -type f -name '*.java' 2> /dev/null) -JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.debug/jvmci/com.oracle.jvmci.debug/src_gen -type f -name '*.java' 2> /dev/null) +JVMCI_API_SRC = $(shell find jvmci/com.oracle.jvmci.meta/src -type f 2> /dev/null) +JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.meta/jvmci/com.oracle.jvmci.meta/src_gen -type f 2> /dev/null) +JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.code/src -type f 2> /dev/null) +JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.code/jvmci/com.oracle.jvmci.code/src_gen -type f 2> /dev/null) +JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.runtime/src -type f 2> /dev/null) +JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.runtime/jvmci/com.oracle.jvmci.runtime/src_gen -type f 2> /dev/null) +JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.options/src -type f 2> /dev/null) +JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.options/jvmci/com.oracle.jvmci.options/src_gen -type f 2> /dev/null) +JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.common/src -type f 2> /dev/null) +JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.common/jvmci/com.oracle.jvmci.common/src_gen -type f 2> /dev/null) +JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.debug/src -type f 2> /dev/null) +JVMCI_API_SRC += $(shell find jvmci/com.oracle.jvmci.debug/jvmci/com.oracle.jvmci.debug/src_gen -type f 2> /dev/null) JVMCI_API_JAR = $(TARGET)/build/jvmci-api.jar @@ -93,7 +104,7 @@ EXPORTED_FILES += $(JVMCI_API_JAR) -JVMCI_SERVICE_SRC = $(shell find jvmci/com.oracle.jvmci.service/src -type f -name '*.java' 2> /dev/null) +JVMCI_SERVICE_SRC = $(shell find jvmci/com.oracle.jvmci.service/src -type f 2> /dev/null) JVMCI_SERVICE_JAR = $(TARGET)/build/jvmci-service.jar @@ -101,22 +112,22 @@ EXPORTED_FILES += $(JVMCI_SERVICE_JAR) -JVMCI_HOTSPOT_SRC = $(shell find jvmci/com.oracle.jvmci.hotspotvmconfig/src -type f -name '*.java' 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspotvmconfig/jvmci/com.oracle.jvmci.hotspotvmconfig/src_gen -type f -name '*.java' 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.amd64/src -type f -name '*.java' 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.amd64/jvmci/com.oracle.jvmci.amd64/src_gen -type f -name '*.java' 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.compiler/src -type f -name '*.java' 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.compiler/jvmci/com.oracle.jvmci.compiler/src_gen -type f -name '*.java' 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspot/src -type f -name '*.java' 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspot/jvmci/com.oracle.jvmci.hotspot/src_gen -type f -name '*.java' 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspot.amd64/src -type f -name '*.java' 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspot.amd64/jvmci/com.oracle.jvmci.hotspot.amd64/src_gen -type f -name '*.java' 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.sparc/src -type f -name '*.java' 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.sparc/jvmci/com.oracle.jvmci.sparc/src_gen -type f -name '*.java' 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspot.sparc/src -type f -name '*.java' 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspot.sparc/jvmci/com.oracle.jvmci.hotspot.sparc/src_gen -type f -name '*.java' 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspot.jfr/src -type f -name '*.java' 2> /dev/null) -JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspot.jfr/jvmci/com.oracle.jvmci.hotspot.jfr/src_gen -type f -name '*.java' 2> /dev/null) +JVMCI_HOTSPOT_SRC = $(shell find jvmci/com.oracle.jvmci.hotspotvmconfig/src -type f 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspotvmconfig/jvmci/com.oracle.jvmci.hotspotvmconfig/src_gen -type f 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.amd64/src -type f 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.amd64/jvmci/com.oracle.jvmci.amd64/src_gen -type f 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.compiler/src -type f 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.compiler/jvmci/com.oracle.jvmci.compiler/src_gen -type f 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspot/src -type f 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspot/jvmci/com.oracle.jvmci.hotspot/src_gen -type f 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspot.amd64/src -type f 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspot.amd64/jvmci/com.oracle.jvmci.hotspot.amd64/src_gen -type f 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.sparc/src -type f 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.sparc/jvmci/com.oracle.jvmci.sparc/src_gen -type f 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspot.sparc/src -type f 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspot.sparc/jvmci/com.oracle.jvmci.hotspot.sparc/src_gen -type f 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspot.jfr/src -type f 2> /dev/null) +JVMCI_HOTSPOT_SRC += $(shell find jvmci/com.oracle.jvmci.hotspot.jfr/jvmci/com.oracle.jvmci.hotspot.jfr/src_gen -type f 2> /dev/null) JVMCI_HOTSPOT_JAR = $(TARGET)/build/jvmci-hotspot.jar @@ -125,58 +136,28 @@ EXPORTED_FILES += $(JVMCI_HOTSPOT_JAR) $(JVMCI_OPTIONS_PROCESSOR_JAR): $(JVMCI_OPTIONS_PROCESSOR_SRC) - $(eval TMP := $(shell mktemp -d JVMCI_OPTIONS_PROCESSOR_XXXXX)) - $(JAVAC) -d $(TMP) -bootclasspath $(JDK_BOOTCLASSPATH) $(JVMCI_OPTIONS_PROCESSOR_SRC) - cp -r jvmci/com.oracle.jvmci.options.processor/src/META-INF $(TMP) - $(call process_options,$(TMP),False) - mkdir -p $$(dirname $(JVMCI_OPTIONS_PROCESSOR_JAR)) - $(JAR) cf $(JVMCI_OPTIONS_PROCESSOR_JAR) -C $(TMP) . - rm -r $(TMP) + $(call build_and_jar,,$(shell echo | tr ' ' ':'),jvmci/com.oracle.jvmci.options.processor/src/META-INF,$(JVMCI_OPTIONS_PROCESSOR_JAR)) + $(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR): $(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC) - $(eval TMP := $(shell mktemp -d JVMCI_HOTSPOTVMCONFIG_PROCESSOR_XXXXX)) - $(JAVAC) -d $(TMP) -bootclasspath $(JDK_BOOTCLASSPATH) $(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC) - cp -r jvmci/com.oracle.jvmci.hotspotvmconfig.processor/src/META-INF $(TMP) - $(call process_options,$(TMP),False) - mkdir -p $$(dirname $(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR)) - $(JAR) cf $(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR) -C $(TMP) . - rm -r $(TMP) + $(call build_and_jar,,$(shell echo | tr ' ' ':'),jvmci/com.oracle.jvmci.hotspotvmconfig.processor/src/META-INF,$(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR)) + $(JVMCI_SERVICE_PROCESSOR_JAR): $(JVMCI_SERVICE_PROCESSOR_SRC) - $(eval TMP := $(shell mktemp -d JVMCI_SERVICE_PROCESSOR_XXXXX)) - $(JAVAC) -d $(TMP) -bootclasspath $(JDK_BOOTCLASSPATH) $(JVMCI_SERVICE_PROCESSOR_SRC) - cp -r jvmci/com.oracle.jvmci.service.processor/src/META-INF $(TMP) - $(call process_options,$(TMP),False) - mkdir -p $$(dirname $(JVMCI_SERVICE_PROCESSOR_JAR)) - $(JAR) cf $(JVMCI_SERVICE_PROCESSOR_JAR) -C $(TMP) . - rm -r $(TMP) + $(call build_and_jar,,$(shell echo | tr ' ' ':'),jvmci/com.oracle.jvmci.service.processor/src/META-INF,$(JVMCI_SERVICE_PROCESSOR_JAR)) + $(JVMCI_API_JAR): $(JVMCI_API_SRC) $(JVMCI_OPTIONS_PROCESSOR_JAR) $(JVMCI_API_DEP_JARS) - $(eval TMP := $(shell mktemp -d JVMCI_API_XXXXX)) - $(JAVAC) -d $(TMP) -processorpath $(JVMCI_OPTIONS_PROCESSOR_JAR) -bootclasspath $(JDK_BOOTCLASSPATH) -cp $(shell echo $(JVMCI_API_DEP_JARS) | tr ' ' ':') $(JVMCI_API_SRC) - - $(call process_options,$(TMP),True) - mkdir -p $$(dirname $(JVMCI_API_JAR)) - $(JAR) cf $(JVMCI_API_JAR) -C $(TMP) . - rm -r $(TMP) + $(call build_and_jar,$(JVMCI_OPTIONS_PROCESSOR_JAR),$(shell echo $(JVMCI_API_DEP_JARS) | tr ' ' ':'),,$(JVMCI_API_JAR)) + $(JVMCI_SERVICE_JAR): $(JVMCI_SERVICE_SRC) $(JVMCI_SERVICE_DEP_JARS) - $(eval TMP := $(shell mktemp -d JVMCI_SERVICE_XXXXX)) - $(JAVAC) -d $(TMP) -bootclasspath $(JDK_BOOTCLASSPATH) -cp $(shell echo $(JVMCI_SERVICE_DEP_JARS) | tr ' ' ':') $(JVMCI_SERVICE_SRC) - - $(call process_options,$(TMP),True) - mkdir -p $$(dirname $(JVMCI_SERVICE_JAR)) - $(JAR) cf $(JVMCI_SERVICE_JAR) -C $(TMP) . - rm -r $(TMP) + $(call build_and_jar,,$(shell echo $(JVMCI_SERVICE_DEP_JARS) | tr ' ' ':'),,$(JVMCI_SERVICE_JAR)) + $(JVMCI_HOTSPOT_JAR): $(JVMCI_HOTSPOT_SRC) $(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR) $(JVMCI_OPTIONS_PROCESSOR_JAR) $(JVMCI_SERVICE_PROCESSOR_JAR) $(JVMCI_HOTSPOT_DEP_JARS) - $(eval TMP := $(shell mktemp -d JVMCI_HOTSPOT_XXXXX)) - $(JAVAC) -d $(TMP) -processorpath $(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR):$(JVMCI_OPTIONS_PROCESSOR_JAR):$(JVMCI_SERVICE_PROCESSOR_JAR) -bootclasspath $(JDK_BOOTCLASSPATH) -cp $(shell echo $(JVMCI_HOTSPOT_DEP_JARS) | tr ' ' ':') $(JVMCI_HOTSPOT_SRC) - - $(call process_options,$(TMP),True) - mkdir -p $$(dirname $(JVMCI_HOTSPOT_JAR)) - $(JAR) cf $(JVMCI_HOTSPOT_JAR) -C $(TMP) . - rm -r $(TMP) + $(call build_and_jar,$(JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR):$(JVMCI_OPTIONS_PROCESSOR_JAR):$(JVMCI_SERVICE_PROCESSOR_JAR),$(shell echo $(JVMCI_HOTSPOT_DEP_JARS) | tr ' ' ':'),,$(JVMCI_HOTSPOT_JAR)) + default: $(JVMCI_API_JAR) $(JVMCI_SERVICE_JAR) $(JVMCI_HOTSPOT_JAR) .PHONY: default \ No newline at end of file diff -r cf7b06489764 -r 899d7cadd0a1 make/linux/makefiles/vm.make --- a/make/linux/makefiles/vm.make Wed Jun 10 11:06:41 2015 +0200 +++ b/make/linux/makefiles/vm.make Wed Jun 10 13:22:03 2015 +0200 @@ -383,10 +383,7 @@ DEST_JVM_DEBUGINFO = $(DEST_SUBDIR)/$(LIBJVM_DEBUGINFO) DEST_JVM_DIZ = $(DEST_SUBDIR)/$(LIBJVM_DIZ) -$(DEST_SUBDIR): - mkdir $(DEST_SUBDIR) - -install_jvm: $(LIBJVM) $(DEST_SUBDIR) +install_jvm: $(LIBJVM) @echo "Copying $(LIBJVM) to $(DEST_JVM)" $(QUIETLY) test ! -f $(LIBJVM_DEBUGINFO) || \ cp -f $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO) diff -r cf7b06489764 -r 899d7cadd0a1 make/solaris/makefiles/vm.make --- a/make/solaris/makefiles/vm.make Wed Jun 10 11:06:41 2015 +0200 +++ b/make/solaris/makefiles/vm.make Wed Jun 10 13:22:03 2015 +0200 @@ -334,10 +334,7 @@ DEST_JVM_DEBUGINFO = $(DEST_SUBDIR)/$(LIBJVM_DEBUGINFO) DEST_JVM_DIZ = $(DEST_SUBDIR)/$(LIBJVM_DIZ) -$(DEST_SUBDIR): - mkdir $(DEST_SUBDIR) - -install_jvm: $(LIBJVM) $(DEST_SUBDIR) +install_jvm: $(LIBJVM) @echo "Copying $(LIBJVM) to $(DEST_JVM)" $(QUIETLY) test ! -f $(LIBJVM_DEBUGINFO) || \ cp -f $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO) diff -r cf7b06489764 -r 899d7cadd0a1 mx/mx_graal_makefile.py --- a/mx/mx_graal_makefile.py Wed Jun 10 11:06:41 2015 +0200 +++ b/mx/mx_graal_makefile.py Wed Jun 10 13:22:03 2015 +0200 @@ -113,7 +113,7 @@ for d in p.srcDirs + generatedSource: src = projectDir + os.path.sep + d - sources.append("$(shell find {} -type f -name '*.java' 2> /dev/null)".format(src)) + sources.append("$(shell find {} -type f 2> /dev/null)".format(src)) metaInf = src + os.path.sep + "META-INF" if os.path.exists(metaInf): resources.append(metaInf) @@ -139,10 +139,11 @@ "sourcesVariableName": sourcesVariableName, "annotationProcessors": " ".join(apDistVariableNames), "cpAnnotationProcessors": "-processorpath " + ":".join(apDistVariableNames) if len(apDistVariableNames) > 0 else "", + "cpAnnotationProcessors2": ":".join(apDistVariableNames), "bootCp": ("-bootclasspath " + bootClassPath) if bootClassPath != None else "", "cpDeps": ("-cp $(shell echo $(" + depJarVariableName + ") | tr ' ' ':')") if len(classPath) > 0 else "", "jarDeps": " ".join(classPath), - "copyResources": "cp -r {} $(TMP)".format(" ".join(resources)) if len(resources) > 0 else "", + "copyResources": " ".join(resources), "targetPathPrefix": targetPathPrefix, "shouldExport": shouldExport, } @@ -152,13 +153,8 @@ if len(classPath) > 0: mf.add_definition("{depJarsVariable} = {jarDeps}".format(**props)) if shouldExport: mf.add_definition("EXPORTED_FILES += $({name}_JAR)".format(**props)) mf.add_rule("""$({name}_JAR): $({sourcesVariableName}) {annotationProcessors} {depJarsVariableAccess} -\t$(eval TMP := $(shell mktemp -d {name}_XXXXX)) -\t$(JAVAC) -d $(TMP) {cpAnnotationProcessors} {bootCp} {cpDeps} $({sourcesVariableName}) -\t{copyResources} -\t$(call process_options,$(TMP),{shouldExport}) -\tmkdir -p $$(dirname $({name}_JAR)) -\t$(JAR) cf $({name}_JAR) -C $(TMP) . -\trm -r $(TMP)""".format(**props)) +\t$(call build_and_jar,{cpAnnotationProcessors2},$(shell echo {depJarsVariableAccess} | tr ' ' ':'),{copyResources},$({name}_JAR)) +""".format(**props)) return @@ -190,39 +186,50 @@ ifeq ($(ABS_BOOTDIR),) $(error Variable ABS_BOOTDIR must be set to a JDK installation.) endif -ifneq ($(MAKE_VERBOSE),) - SHELL=sh -x +ifeq ($(MAKE_VERBOSE),) + QUIETLY=@ endif define process_options $(eval providers=$(1)/$(PROVIDERS_INF)) $(eval services=$(1)/$(SERVICES_INF)) $(eval options=$(1)/$(OPTIONS_INF)) - test -d $(services) || mkdir -p $(services) - test ! -d $(providers) || (cd $(providers) && for i in $$(ls); do c=$$(cat $$i); echo $$i >> $(abspath $(services))/$$c; rm $$i; done) + $(QUIETLY) test -d $(services) || mkdir -p $(services) + $(QUIETLY) test ! -d $(providers) || (cd $(providers) && for i in $$(ls); do c=$$(cat $$i); echo $$i >> $(abspath $(services))/$$c; rm $$i; done) - # Since all projects are built together with one javac call we cannot determine - # which project contains HotSpotVMConfig.inline.hpp so we hardcode it. + @# Since all projects are built together with one javac call we cannot determine + @# which project contains HotSpotVMConfig.inline.hpp so we hardcode it. $(eval vmconfig=$(1)/hotspot/HotSpotVMConfig.inline.hpp) $(eval vmconfigDest=$(HS_COMMON_SRC)/../jvmci/com.oracle.jvmci.hotspot/src_gen/hotspot) - test ! -f $(vmconfig) || (mkdir -p $(vmconfigDest) && cp $(vmconfig) $(vmconfigDest)) + $(QUIETLY) test ! -f $(vmconfig) || (mkdir -p $(vmconfigDest) && cp $(vmconfig) $(vmconfigDest)) endef define extract - $(eval TMP := $(shell mktemp -d $(1)_XXXXX)) - mkdir -p $(2); - cd $(TMP) && $(JAR) xf $(abspath $(1)) && \\ + $(eval TMP := $(shell mktemp -d tmp_XXXXX)) + $(QUIETLY) mkdir -p $(2); + $(QUIETLY) cd $(TMP) && $(JAR) xf $(abspath $(1)) && \\ ((test ! -d .$(SERVICES_INF) || cp -r .$(SERVICES_INF) $(abspath $(2))) && (test ! -d .$(OPTIONS_INF) || cp -r .$(OPTIONS_INF) $(abspath $(2)))); - rm -r $(TMP); - cp $(1) $(2); + $(QUIETLY) rm -r $(TMP); + $(QUIETLY) cp $(1) $(2); endef +define build_and_jar + $(info Building $(4)) + $(eval TMP := $(shell mktemp -d JVMCI_HOTSPOT_XXXXX)) + $(QUIETLY) $(JAVAC) -d $(TMP) -processorpath :$(1) -bootclasspath $(JDK_BOOTCLASSPATH) -cp :$(2) $(filter %.java,$?); + $(QUIETLY) test "$(3)" = "" || cp -r $(3) $(TMP); + $(QUIETLY) $(call process_options,$(TMP)); + $(QUIETLY) mkdir -p $(shell dirname $(4)) + $(QUIETLY) $(JAR) cf $(4) -C $(TMP) . + $(QUIETLY) rm -r $(TMP); +endef all: default export: all -\tmkdir -p $(EXPORT_DIR) -\t$(foreach export,$(EXPORTED_FILES),$(call extract,$(export),$(EXPORT_DIR))) +\t$(info Put $(EXPORTED_FILES) into SHARED_DIR $(SHARED_DIR)) +\t$(QUIETLY) mkdir -p $(SHARED_DIR) +\t$(foreach export,$(EXPORTED_FILES),$(call extract,$(export),$(SHARED_DIR))) .PHONY: export """)