Mercurial > hg > graal-compiler
annotate make/jvmci.make @ 22124:84d5125aa31a
Merge
author | Tom Rodriguez <tom.rodriguez@oracle.com> |
---|---|
date | Mon, 29 Jun 2015 10:49:31 -0700 |
parents | ba177df8f5aa |
children | 7b4a47fcc4c0 |
rev | line source |
---|---|
21790
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
1 # This Makefile is generated automatically, do not edit |
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
2 |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
3 TARGET=. |
21790
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
4 # Bootstrap JDK to be used (for javac and jar) |
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
5 ABS_BOOTDIR= |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
6 |
21790
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
7 JAVAC=$(ABS_BOOTDIR)/bin/javac -g -target 1.8 |
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
8 JAR=$(ABS_BOOTDIR)/bin/jar |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
9 |
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
10 HS_COMMON_SRC=. |
21790
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
11 |
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
12 # Directories, where the generated property-files reside within the JAR files |
21937
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
13 PROVIDERS_INF=/META-INF/jvmci.providers |
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
14 SERVICES_INF=/META-INF/jvmci.services |
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
15 OPTIONS_INF=/META-INF/jvmci.options |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
16 |
21955
3ce35131bff2
Introduce clean target in jvmci.make
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21948
diff
changeset
|
17 JARS = $(foreach dist,$(DISTRIBUTIONS),$($(dist)_JAR)) |
3ce35131bff2
Introduce clean target in jvmci.make
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21948
diff
changeset
|
18 |
21790
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
19 ifeq ($(ABS_BOOTDIR),) |
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
20 $(error Variable ABS_BOOTDIR must be set to a JDK installation.) |
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
21 endif |
21911
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
22 ifeq ($(MAKE_VERBOSE),) |
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
23 QUIETLY=@ |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
24 endif |
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
25 |
21920
35961ae3486f
Update jvmci.make
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21917
diff
changeset
|
26 # Required to construct a whitespace for use with subst |
35961ae3486f
Update jvmci.make
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21917
diff
changeset
|
27 space := |
35961ae3486f
Update jvmci.make
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21917
diff
changeset
|
28 space += |
35961ae3486f
Update jvmci.make
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21917
diff
changeset
|
29 |
21937
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
30 # Takes the provider files created by ServiceProviderProcessor (the processor |
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
31 # for the @ServiceProvider annotation) and merges them into a single file. |
21917
0df6a0cb4b5f
Cleanup code in mx_graal_makefile.py, add comments
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21916
diff
changeset
|
32 # Arguments: |
0df6a0cb4b5f
Cleanup code in mx_graal_makefile.py, add comments
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21916
diff
changeset
|
33 # 1: directory with contents of the JAR file |
21937
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
34 define process_providers |
21943
31be1c8f4905
switched to use of simple makefile assignment in jvmci.make and removed unnecessary semicolons
Doug Simon <doug.simon@oracle.com>
parents:
21939
diff
changeset
|
35 $(eval providers := $(1)/$(PROVIDERS_INF)) |
31be1c8f4905
switched to use of simple makefile assignment in jvmci.make and removed unnecessary semicolons
Doug Simon <doug.simon@oracle.com>
parents:
21939
diff
changeset
|
36 $(eval services := $(1)/$(SERVICES_INF)) |
21911
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
37 $(QUIETLY) test -d $(services) || mkdir -p $(services) |
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
38 $(QUIETLY) test ! -d $(providers) || (cd $(providers) && for i in $$(ls); do c=$$(cat $$i); echo $$i >> $(abspath $(services))/$$c; rm $$i; done) |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
39 |
21911
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
40 @# Since all projects are built together with one javac call we cannot determine |
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
41 @# which project contains HotSpotVMConfig.inline.hpp so we hardcode it. |
21943
31be1c8f4905
switched to use of simple makefile assignment in jvmci.make and removed unnecessary semicolons
Doug Simon <doug.simon@oracle.com>
parents:
21939
diff
changeset
|
42 $(eval vmconfig := $(1)/hotspot/HotSpotVMConfig.inline.hpp) |
22054 | 43 $(eval vmconfigDest := $(HS_COMMON_SRC)/../jvmci/jdk.internal.jvmci.hotspot/src_gen/hotspot) |
21911
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
44 $(QUIETLY) test ! -f $(vmconfig) || (mkdir -p $(vmconfigDest) && cp $(vmconfig) $(vmconfigDest)) |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
45 endef |
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
46 |
21937
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
47 # Reads the files in jvmci.options/ created by OptionProcessor (the processor for the @Option annotation) |
22054 | 48 # and appends to services/jdk.internal.jvmci.options.Options entries for the providers |
21937
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
49 # also created by the same processor. |
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
50 # Arguments: |
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
51 # 1: directory with contents of the JAR file |
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
52 define process_options |
21943
31be1c8f4905
switched to use of simple makefile assignment in jvmci.make and removed unnecessary semicolons
Doug Simon <doug.simon@oracle.com>
parents:
21939
diff
changeset
|
53 $(eval options := $(1)/$(OPTIONS_INF)) |
31be1c8f4905
switched to use of simple makefile assignment in jvmci.make and removed unnecessary semicolons
Doug Simon <doug.simon@oracle.com>
parents:
21939
diff
changeset
|
54 $(eval services := $(1)/META-INF/services) |
21937
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
55 $(QUIETLY) test -d $(services) || mkdir -p $(services) |
22054 | 56 $(QUIETLY) test ! -d $(options) || (cd $(options) && for i in $$(ls); do echo $${i}_Options >> $(abspath $(services))/jdk.internal.jvmci.options.Options; done) |
21937
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
57 endef |
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
58 |
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
59 # Extracts META-INF/jvmci.services and META-INF/jvmci.options of a JAR file into a given directory |
21917
0df6a0cb4b5f
Cleanup code in mx_graal_makefile.py, add comments
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21916
diff
changeset
|
60 # Arguments: |
0df6a0cb4b5f
Cleanup code in mx_graal_makefile.py, add comments
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21916
diff
changeset
|
61 # 1: JAR file to extract |
21943
31be1c8f4905
switched to use of simple makefile assignment in jvmci.make and removed unnecessary semicolons
Doug Simon <doug.simon@oracle.com>
parents:
21939
diff
changeset
|
62 # 2: target directory (which already exists) |
21793
44bad469bec2
Create DEST_SUBDIR when doing install_jvm (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21790
diff
changeset
|
63 define extract |
21912
1a6a520af3b5
jvmci.make put temp dirs into the target directory
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21911
diff
changeset
|
64 $(eval TMP := $(shell mktemp -d $(TARGET)/tmp_XXXXX)) |
21911
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
65 $(QUIETLY) cd $(TMP) && $(JAR) xf $(abspath $(1)) && \ |
21937
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
66 ((test ! -d .$(SERVICES_INF) || cp -r .$(SERVICES_INF) $(abspath $(2))) && \ |
21943
31be1c8f4905
switched to use of simple makefile assignment in jvmci.make and removed unnecessary semicolons
Doug Simon <doug.simon@oracle.com>
parents:
21939
diff
changeset
|
67 (test ! -d .$(OPTIONS_INF) || cp -r .$(OPTIONS_INF) $(abspath $(2)))); |
21911
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
68 $(QUIETLY) rm -r $(TMP); |
21937
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
69 $(QUIETLY) cp $(1) $(2) |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
70 endef |
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
71 |
21937
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
72 # Calls $(JAVAC) with the boot class path $(JDK_BOOTCLASSPATH) and sources taken from the automatic variable $^ |
21917
0df6a0cb4b5f
Cleanup code in mx_graal_makefile.py, add comments
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21916
diff
changeset
|
73 # Arguments: |
0df6a0cb4b5f
Cleanup code in mx_graal_makefile.py, add comments
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21916
diff
changeset
|
74 # 1: processorpath |
0df6a0cb4b5f
Cleanup code in mx_graal_makefile.py, add comments
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21916
diff
changeset
|
75 # 2: classpath |
0df6a0cb4b5f
Cleanup code in mx_graal_makefile.py, add comments
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21916
diff
changeset
|
76 # 3: resources to copy |
0df6a0cb4b5f
Cleanup code in mx_graal_makefile.py, add comments
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21916
diff
changeset
|
77 # 4: target JAR file |
21911
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
78 define build_and_jar |
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
79 $(info Building $(4)) |
21912
1a6a520af3b5
jvmci.make put temp dirs into the target directory
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21911
diff
changeset
|
80 $(eval TMP := $(shell mkdir -p $(TARGET) && mktemp -d $(TARGET)/tmp_XXXXX)) |
21937
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
81 $(QUIETLY) $(JAVAC) -d $(TMP) -processorpath :$(1) -bootclasspath $(JDK_BOOTCLASSPATH) -cp :$(2) $(filter %.java,$^) |
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
82 $(QUIETLY) test "$(3)" = "" || cp -r $(3) $(TMP) |
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
83 $(QUIETLY) $(call process_options,$(TMP)) |
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
84 $(QUIETLY) $(call process_providers,$(TMP)) |
21911
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
85 $(QUIETLY) mkdir -p $(shell dirname $(4)) |
21992
72129dd49bc0
jvmci.make do not compress jars
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21985
diff
changeset
|
86 $(QUIETLY) $(JAR) -0cf $(4) -C $(TMP) . |
21937
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
87 $(QUIETLY) rm -r $(TMP) |
21911
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
88 endef |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
89 |
21939
eac31af360db
verify that only existing JVMCI services and options are exported in make/defs.make
Doug Simon <doug.simon@oracle.com>
parents:
21938
diff
changeset
|
90 # Verifies that make/defs.make contains an appropriate line for each JVMCI service or option |
eac31af360db
verify that only existing JVMCI services and options are exported in make/defs.make
Doug Simon <doug.simon@oracle.com>
parents:
21938
diff
changeset
|
91 # and that only existing JVMCI services and options are exported. |
21947
e701664f4168
Add parameter description to jvmci.make
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21920
diff
changeset
|
92 # Arguments: |
21939
eac31af360db
verify that only existing JVMCI services and options are exported in make/defs.make
Doug Simon <doug.simon@oracle.com>
parents:
21938
diff
changeset
|
93 # 1: list of service or option files |
21978
f0a982a28944
relax verify_defs_make in jvmci.make for conditional exports
Doug Simon <doug.simon@oracle.com>
parents:
21955
diff
changeset
|
94 # 2: variable name for directory of service or option files |
21937
3a292e8b9e51
replaced Service marker interface with non-standard META-INF directory names to differentiate JVMCI providers from standard service providers
Doug Simon <doug.simon@oracle.com>
parents:
21920
diff
changeset
|
95 define verify_defs_make |
21943
31be1c8f4905
switched to use of simple makefile assignment in jvmci.make and removed unnecessary semicolons
Doug Simon <doug.simon@oracle.com>
parents:
21939
diff
changeset
|
96 $(eval defs := make/defs.make) |
21978
f0a982a28944
relax verify_defs_make in jvmci.make for conditional exports
Doug Simon <doug.simon@oracle.com>
parents:
21955
diff
changeset
|
97 $(eval uncondPattern := EXPORT_LIST += $$$$($(2))/) |
f0a982a28944
relax verify_defs_make in jvmci.make for conditional exports
Doug Simon <doug.simon@oracle.com>
parents:
21955
diff
changeset
|
98 $(eval condPattern := CONDITIONAL_EXPORT_LIST += $$$$($(2))/) |
f0a982a28944
relax verify_defs_make in jvmci.make for conditional exports
Doug Simon <doug.simon@oracle.com>
parents:
21955
diff
changeset
|
99 $(eval unconditionalExports := $(shell grep '^EXPORT_LIST += $$($2)' make/defs.make | sed 's:.*($(2))/::g')) |
f0a982a28944
relax verify_defs_make in jvmci.make for conditional exports
Doug Simon <doug.simon@oracle.com>
parents:
21955
diff
changeset
|
100 $(eval conditionalExports := $(shell grep '^CONDITIONAL_EXPORT_LIST += $$($2)' make/defs.make | sed 's:.*($(2))/::g')) |
f0a982a28944
relax verify_defs_make in jvmci.make for conditional exports
Doug Simon <doug.simon@oracle.com>
parents:
21955
diff
changeset
|
101 $(eval allExports := $(unconditionalExports) $(conditionalExports)) |
f0a982a28944
relax verify_defs_make in jvmci.make for conditional exports
Doug Simon <doug.simon@oracle.com>
parents:
21955
diff
changeset
|
102 $(foreach file,$(1),$(if $(findstring $(file),$(allExports)), ,$(error "Line matching '$(uncondPattern)$(file)' or '$(condPattern)$(file)' not found in $(defs)"))) |
f0a982a28944
relax verify_defs_make in jvmci.make for conditional exports
Doug Simon <doug.simon@oracle.com>
parents:
21955
diff
changeset
|
103 $(foreach export,$(unconditionalExports),$(if $(findstring $(export),$(1)), ,$(error "The line '$(uncondPattern)$(export)' should not be in $(defs)"))) |
21920
35961ae3486f
Update jvmci.make
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21917
diff
changeset
|
104 endef |
35961ae3486f
Update jvmci.make
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21917
diff
changeset
|
105 |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
106 all: default |
21944
b121c00d3c4c
fixed subtle makefile evaluation order issue in the verification that only existing JVMCI services and options are exported in make/defs.make
Doug Simon <doug.simon@oracle.com>
parents:
21943
diff
changeset
|
107 $(info Put $(EXPORTED_FILES) into SHARED_DIR $(SHARED_DIR)) |
21985
ba769b2ee8fa
jvmci.make $(shell ...) is always quiet
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21978
diff
changeset
|
108 $(shell mkdir -p $(SHARED_DIR)) |
21944
b121c00d3c4c
fixed subtle makefile evaluation order issue in the verification that only existing JVMCI services and options are exported in make/defs.make
Doug Simon <doug.simon@oracle.com>
parents:
21943
diff
changeset
|
109 $(foreach export,$(EXPORTED_FILES),$(call extract,$(export),$(SHARED_DIR))) |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
110 |
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
111 export: all |
21978
f0a982a28944
relax verify_defs_make in jvmci.make for conditional exports
Doug Simon <doug.simon@oracle.com>
parents:
21955
diff
changeset
|
112 $(call verify_defs_make,$(notdir $(wildcard $(SHARED_DIR)/jvmci.services/*)),EXPORT_JRE_LIB_JVMCI_SERVICES_DIR) |
f0a982a28944
relax verify_defs_make in jvmci.make for conditional exports
Doug Simon <doug.simon@oracle.com>
parents:
21955
diff
changeset
|
113 $(call verify_defs_make,$(notdir $(wildcard $(SHARED_DIR)/jvmci.options/*)),EXPORT_JRE_LIB_JVMCI_OPTIONS_DIR) |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
114 .PHONY: export |
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
115 |
21955
3ce35131bff2
Introduce clean target in jvmci.make
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21948
diff
changeset
|
116 clean: |
3ce35131bff2
Introduce clean target in jvmci.make
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21948
diff
changeset
|
117 $(QUIETLY) rm $(JARS) 2> /dev/null || true |
3ce35131bff2
Introduce clean target in jvmci.make
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21948
diff
changeset
|
118 $(QUIETLY) rmdir -p $(dir $(JARS)) 2> /dev/null || true |
3ce35131bff2
Introduce clean target in jvmci.make
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21948
diff
changeset
|
119 .PHONY: export clean |
3ce35131bff2
Introduce clean target in jvmci.make
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21948
diff
changeset
|
120 |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
121 |
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
122 |
21790
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
123 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 |
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
124 |
22054 | 125 JDK_INTERNAL_JVMCI_OPTIONS_PROCESSOR_SRC = $(shell find jvmci/jdk.internal.jvmci.options/src -type f 2> /dev/null) |
126 JDK_INTERNAL_JVMCI_OPTIONS_PROCESSOR_SRC += $(shell find jvmci/jdk.internal.jvmci.options.processor/src -type f 2> /dev/null) | |
21793
44bad469bec2
Create DEST_SUBDIR when doing install_jvm (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21790
diff
changeset
|
127 |
22082
4ce725f06a27
jvmci.make intermediate output is now flattened into build/jvmci.make
Doug Simon <doug.simon@oracle.com>
parents:
22054
diff
changeset
|
128 JDK_INTERNAL_JVMCI_OPTIONS_PROCESSOR_JAR = $(TARGET)/jdk.internal.jvmci.options.processor.jar |
21793
44bad469bec2
Create DEST_SUBDIR when doing install_jvm (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21790
diff
changeset
|
129 |
22054 | 130 JDK_INTERNAL_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC = $(shell find jvmci/jdk.internal.jvmci.hotspotvmconfig/src -type f 2> /dev/null) |
131 JDK_INTERNAL_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC += $(shell find jvmci/jdk.internal.jvmci.common/src -type f 2> /dev/null) | |
132 JDK_INTERNAL_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC += $(shell find jvmci/jdk.internal.jvmci.hotspotvmconfig.processor/src -type f 2> /dev/null) | |
21790
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
133 |
22082
4ce725f06a27
jvmci.make intermediate output is now flattened into build/jvmci.make
Doug Simon <doug.simon@oracle.com>
parents:
22054
diff
changeset
|
134 JDK_INTERNAL_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR = $(TARGET)/jdk.internal.jvmci.hotspotvmconfig.processor.jar |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
135 |
22054 | 136 JDK_INTERNAL_JVMCI_SERVICE_PROCESSOR_SRC = $(shell find jvmci/jdk.internal.jvmci.service/src -type f 2> /dev/null) |
137 JDK_INTERNAL_JVMCI_SERVICE_PROCESSOR_SRC += $(shell find jvmci/jdk.internal.jvmci.service.processor/src -type f 2> /dev/null) | |
21790
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
138 |
22082
4ce725f06a27
jvmci.make intermediate output is now flattened into build/jvmci.make
Doug Simon <doug.simon@oracle.com>
parents:
22054
diff
changeset
|
139 JDK_INTERNAL_JVMCI_SERVICE_PROCESSOR_JAR = $(TARGET)/jdk.internal.jvmci.service.processor.jar |
21719
cbe8cc0f79ce
Update jvmci.make to latest suites.py
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21718
diff
changeset
|
140 |
22054 | 141 JVMCI_API_SRC = $(shell find jvmci/jdk.internal.jvmci.meta/src -type f 2> /dev/null) |
142 JVMCI_API_SRC += $(shell find jvmci/jdk.internal.jvmci.code/src -type f 2> /dev/null) | |
143 JVMCI_API_SRC += $(shell find jvmci/jdk.internal.jvmci.runtime/src -type f 2> /dev/null) | |
144 JVMCI_API_SRC += $(shell find jvmci/jdk.internal.jvmci.options/src -type f 2> /dev/null) | |
145 JVMCI_API_SRC += $(shell find jvmci/jdk.internal.jvmci.common/src -type f 2> /dev/null) | |
146 JVMCI_API_SRC += $(shell find jvmci/jdk.internal.jvmci.debug/src -type f 2> /dev/null) | |
21719
cbe8cc0f79ce
Update jvmci.make to latest suites.py
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21718
diff
changeset
|
147 |
22082
4ce725f06a27
jvmci.make intermediate output is now flattened into build/jvmci.make
Doug Simon <doug.simon@oracle.com>
parents:
22054
diff
changeset
|
148 JVMCI_API_JAR = $(TARGET)/jvmci-api.jar |
21719
cbe8cc0f79ce
Update jvmci.make to latest suites.py
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21718
diff
changeset
|
149 |
22087
ba177df8f5aa
added local SuppressFBWarnings annotation to replace findbugs-SuppressFBWarnings.jar dependency
Doug Simon <doug.simon@oracle.com>
parents:
22082
diff
changeset
|
150 JVMCI_API_DEP_JARS = $(TARGET)/jvmci-service.jar |
21790
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
151 |
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
152 EXPORTED_FILES += $(JVMCI_API_JAR) |
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
153 |
22054 | 154 JVMCI_SERVICE_SRC = $(shell find jvmci/jdk.internal.jvmci.service/src -type f 2> /dev/null) |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
155 |
22082
4ce725f06a27
jvmci.make intermediate output is now flattened into build/jvmci.make
Doug Simon <doug.simon@oracle.com>
parents:
22054
diff
changeset
|
156 JVMCI_SERVICE_JAR = $(TARGET)/jvmci-service.jar |
21790
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
157 |
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
158 EXPORTED_FILES += $(JVMCI_SERVICE_JAR) |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
159 |
22054 | 160 JVMCI_HOTSPOT_SRC = $(shell find jvmci/jdk.internal.jvmci.hotspotvmconfig/src -type f 2> /dev/null) |
161 JVMCI_HOTSPOT_SRC += $(shell find jvmci/jdk.internal.jvmci.amd64/src -type f 2> /dev/null) | |
162 JVMCI_HOTSPOT_SRC += $(shell find jvmci/jdk.internal.jvmci.compiler/src -type f 2> /dev/null) | |
163 JVMCI_HOTSPOT_SRC += $(shell find jvmci/jdk.internal.jvmci.hotspot/src -type f 2> /dev/null) | |
164 JVMCI_HOTSPOT_SRC += $(shell find jvmci/jdk.internal.jvmci.hotspot.amd64/src -type f 2> /dev/null) | |
165 JVMCI_HOTSPOT_SRC += $(shell find jvmci/jdk.internal.jvmci.sparc/src -type f 2> /dev/null) | |
166 JVMCI_HOTSPOT_SRC += $(shell find jvmci/jdk.internal.jvmci.hotspot.sparc/src -type f 2> /dev/null) | |
167 JVMCI_HOTSPOT_SRC += $(shell find jvmci/jdk.internal.jvmci.hotspot.jfr/src -type f 2> /dev/null) | |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
168 |
22082
4ce725f06a27
jvmci.make intermediate output is now flattened into build/jvmci.make
Doug Simon <doug.simon@oracle.com>
parents:
22054
diff
changeset
|
169 JVMCI_HOTSPOT_JAR = $(TARGET)/jvmci-hotspot.jar |
21719
cbe8cc0f79ce
Update jvmci.make to latest suites.py
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21718
diff
changeset
|
170 |
22087
ba177df8f5aa
added local SuppressFBWarnings annotation to replace findbugs-SuppressFBWarnings.jar dependency
Doug Simon <doug.simon@oracle.com>
parents:
22082
diff
changeset
|
171 JVMCI_HOTSPOT_DEP_JARS = $(TARGET)/jvmci-api.jar $(TARGET)/jvmci-service.jar |
21719
cbe8cc0f79ce
Update jvmci.make to latest suites.py
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21718
diff
changeset
|
172 |
21740
6c3c21d9b5ef
Add -m switch to mx build, which builds/exports JVMCI with the make/jvmci.make file
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21719
diff
changeset
|
173 EXPORTED_FILES += $(JVMCI_HOTSPOT_JAR) |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
174 |
22054 | 175 DISTRIBUTIONS = JVMCI_API JVMCI_SERVICE JVMCI_HOTSPOT JDK_INTERNAL_JVMCI_OPTIONS_PROCESSOR JDK_INTERNAL_JVMCI_HOTSPOTVMCONFIG_PROCESSOR JDK_INTERNAL_JVMCI_SERVICE_PROCESSOR |
21955
3ce35131bff2
Introduce clean target in jvmci.make
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21948
diff
changeset
|
176 |
22054 | 177 $(JDK_INTERNAL_JVMCI_OPTIONS_PROCESSOR_JAR): $(JDK_INTERNAL_JVMCI_OPTIONS_PROCESSOR_SRC) |
178 $(call build_and_jar,,$(subst $(space),:,),jvmci/jdk.internal.jvmci.options.processor/src/META-INF,$(JDK_INTERNAL_JVMCI_OPTIONS_PROCESSOR_JAR)) | |
21911
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
179 |
21793
44bad469bec2
Create DEST_SUBDIR when doing install_jvm (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21790
diff
changeset
|
180 |
22054 | 181 $(JDK_INTERNAL_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR): $(JDK_INTERNAL_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_SRC) |
182 $(call build_and_jar,,$(subst $(space),:,),jvmci/jdk.internal.jvmci.hotspotvmconfig.processor/src/META-INF,$(JDK_INTERNAL_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR)) | |
21911
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
183 |
21718
b5bbf03bc17a
Improve makefile generator, exporting files into shared dir (JBS:GRAAL-52)
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
diff
changeset
|
184 |
22054 | 185 $(JDK_INTERNAL_JVMCI_SERVICE_PROCESSOR_JAR): $(JDK_INTERNAL_JVMCI_SERVICE_PROCESSOR_SRC) |
186 $(call build_and_jar,,$(subst $(space),:,),jvmci/jdk.internal.jvmci.service.processor/src/META-INF,$(JDK_INTERNAL_JVMCI_SERVICE_PROCESSOR_JAR)) | |
21911
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
187 |
21719
cbe8cc0f79ce
Update jvmci.make to latest suites.py
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21718
diff
changeset
|
188 |
22054 | 189 $(JVMCI_API_JAR): $(JVMCI_API_SRC) $(JDK_INTERNAL_JVMCI_OPTIONS_PROCESSOR_JAR) $(JVMCI_API_DEP_JARS) |
190 $(call build_and_jar,$(JDK_INTERNAL_JVMCI_OPTIONS_PROCESSOR_JAR),$(subst $(space),:,$(JVMCI_API_DEP_JARS)),,$(JVMCI_API_JAR)) | |
21911
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
191 |
21719
cbe8cc0f79ce
Update jvmci.make to latest suites.py
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21718
diff
changeset
|
192 |
22087
ba177df8f5aa
added local SuppressFBWarnings annotation to replace findbugs-SuppressFBWarnings.jar dependency
Doug Simon <doug.simon@oracle.com>
parents:
22082
diff
changeset
|
193 $(JVMCI_SERVICE_JAR): $(JVMCI_SERVICE_SRC) |
ba177df8f5aa
added local SuppressFBWarnings annotation to replace findbugs-SuppressFBWarnings.jar dependency
Doug Simon <doug.simon@oracle.com>
parents:
22082
diff
changeset
|
194 $(call build_and_jar,,$(subst $(space),:,),,$(JVMCI_SERVICE_JAR)) |
21911
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
195 |
21790
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
196 |
22054 | 197 $(JVMCI_HOTSPOT_JAR): $(JVMCI_HOTSPOT_SRC) $(JDK_INTERNAL_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR) $(JDK_INTERNAL_JVMCI_OPTIONS_PROCESSOR_JAR) $(JDK_INTERNAL_JVMCI_SERVICE_PROCESSOR_JAR) $(JVMCI_HOTSPOT_DEP_JARS) |
198 $(call build_and_jar,$(JDK_INTERNAL_JVMCI_HOTSPOTVMCONFIG_PROCESSOR_JAR):$(JDK_INTERNAL_JVMCI_OPTIONS_PROCESSOR_JAR):$(JDK_INTERNAL_JVMCI_SERVICE_PROCESSOR_JAR),$(subst $(space),:,$(JVMCI_HOTSPOT_DEP_JARS)),,$(JVMCI_HOTSPOT_JAR)) | |
21911
899d7cadd0a1
Make jvmci.make quiet and use recipe for build and jar
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21888
diff
changeset
|
199 |
21719
cbe8cc0f79ce
Update jvmci.make to latest suites.py
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21718
diff
changeset
|
200 |
21790
6db6070d30b9
Make jvmci.make stable; add header for building the jvmci.make; default to use the jvmci.make file when running mx.build
Stefan Anzinger <stefan.anzinger@oracle.com>
parents:
21740
diff
changeset
|
201 default: $(JVMCI_API_JAR) $(JVMCI_SERVICE_JAR) $(JVMCI_HOTSPOT_JAR) |
21948 | 202 .PHONY: default |