changeset 21955:3ce35131bff2

Introduce clean target in jvmci.make
author Stefan Anzinger <stefan.anzinger@oracle.com>
date Fri, 12 Jun 2015 18:02:58 +0200
parents 659968246e60
children 35affb9c707a
files make/jvmci.make mx/mx_graal_makefile.py
diffstat 2 files changed, 21 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/make/jvmci.make	Fri Jun 12 17:13:45 2015 +0200
+++ b/make/jvmci.make	Fri Jun 12 18:02:58 2015 +0200
@@ -14,6 +14,8 @@
 SERVICES_INF=/META-INF/jvmci.services
 OPTIONS_INF=/META-INF/jvmci.options
 
+JARS = $(foreach dist,$(DISTRIBUTIONS),$($(dist)_JAR))
+
 ifeq ($(ABS_BOOTDIR),)
     $(error Variable ABS_BOOTDIR must be set to a JDK installation.)
 endif
@@ -107,6 +109,11 @@
 	$(call verify_defs_make,$(notdir $(wildcard $(SHARED_DIR)/jvmci.options/*)),EXPORT_LIST += $$(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/)
 .PHONY: export
 
+clean:
+	$(QUIETLY) rm $(JARS) 2> /dev/null || true
+	$(QUIETLY) rmdir -p $(dir $(JARS)) 2> /dev/null || true
+.PHONY: export clean
+
 
 
 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
@@ -163,6 +170,8 @@
 
 EXPORTED_FILES += $(JVMCI_HOTSPOT_JAR)
 
+DISTRIBUTIONS = JVMCI_API JVMCI_SERVICE JVMCI_HOTSPOT JVMCI_OPTIONS_PROCESSOR JVMCI_HOTSPOTVMCONFIG_PROCESSOR JVMCI_SERVICE_PROCESSOR
+
 $(JVMCI_OPTIONS_PROCESSOR_JAR): $(JVMCI_OPTIONS_PROCESSOR_SRC)  
 	$(call build_and_jar,,$(subst  $(space),:,),jvmci/com.oracle.jvmci.options.processor/src/META-INF,$(JVMCI_OPTIONS_PROCESSOR_JAR))
 
--- a/mx/mx_graal_makefile.py	Fri Jun 12 17:13:45 2015 +0200
+++ b/mx/mx_graal_makefile.py	Fri Jun 12 18:02:58 2015 +0200
@@ -65,6 +65,9 @@
                 return 1
     return 0
 
+def short_dist_name(name):
+    return name.replace("COM_ORACLE_", "")
+
 def filter_projects(deps, t):
     def typeFilter(project): # filters
         if isinstance(project, str):
@@ -83,8 +86,6 @@
 def make_dist_rule(dist, mf):
     def path_dist_relative(p):
         return os.path.relpath(p, dist.suite.dir)
-    def short_dist_name(name):
-        return name.replace("COM_ORACLE_", "")
     shortName = short_dist_name(dist.name)
     jdkDeployedDists = get_jdk_deployed_dists()
     jarPath = path_dist_relative(dist.path)
@@ -174,6 +175,8 @@
 SERVICES_INF=/META-INF/jvmci.services
 OPTIONS_INF=/META-INF/jvmci.options
 
+JARS = $(foreach dist,$(DISTRIBUTIONS),$($(dist)_JAR))
+
 ifeq ($(ABS_BOOTDIR),)
     $(error Variable ABS_BOOTDIR must be set to a JDK installation.)
 endif
@@ -267,6 +270,11 @@
 \t$(call verify_defs_make,$(notdir $(wildcard $(SHARED_DIR)/jvmci.options/*)),EXPORT_LIST += $$(EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR)/)
 .PHONY: export
 
+clean:
+\t$(QUIETLY) rm $(JARS) 2> /dev/null || true
+\t$(QUIETLY) rmdir -p $(dir $(JARS)) 2> /dev/null || true
+.PHONY: export clean
+
 """)
     s = mx.suite("graal")
     dists = []
@@ -288,7 +296,8 @@
         mf.add_definition(jdkBootClassPathVariableName + " = " + bootClassPath)
         for d in ap: make_dist_rule(d, mf)
         for d in dists: make_dist_rule(d, mf)
-        mf.add_rule("default: $({}_JAR)\n.PHONY: default\n".format("_JAR) $(".join([d.name for d in dists])))
+        mf.add_definition("DISTRIBUTIONS = " + " ".join([short_dist_name(d.name) for d in dists+ap]))
+        mf.add_rule("default: $({}_JAR)\n.PHONY: default\n".format("_JAR) $(".join([short_dist_name(d.name) for d in dists])))
         return True
     else:
         for d in dists: