|
1 # |
|
2 # Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. |
|
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
|
4 # |
|
5 # This code is free software; you can redistribute it and/or modify it |
|
6 # under the terms of the GNU General Public License version 2 only, as |
|
7 # published by the Free Software Foundation. Oracle designates this |
|
8 # particular file as subject to the "Classpath" exception as provided |
|
9 # by Oracle in the LICENSE file that accompanied this code. |
|
10 # |
|
11 # This code is distributed in the hope that it will be useful, but WITHOUT |
|
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
14 # version 2 for more details (a copy is included in the LICENSE file that |
|
15 # accompanied this code). |
|
16 # |
|
17 # You should have received a copy of the GNU General Public License version |
|
18 # 2 along with this work; if not, write to the Free Software Foundation, |
|
19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
|
20 # |
|
21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
|
22 # or visit www.oracle.com if you need additional information or have any |
|
23 # questions. |
|
24 # |
|
25 |
|
26 default: all |
|
27 |
|
28 include $(SPEC) |
|
29 include MakeBase.gmk |
|
30 |
|
31 $(eval $(call IncludeCustomExtension, hotspot, gensrc/Gensrc-jdk.internal.vm.compiler.gmk)) |
|
32 |
|
33 GENSRC_DIR := $(SUPPORT_OUTPUTDIR)/gensrc/$(MODULE) |
|
34 SRC_DIR := $(HOTSPOT_TOPDIR)/src/$(MODULE)/share/classes |
|
35 |
|
36 ################################################################################ |
|
37 |
|
38 PROC_SRC_SUBDIRS := \ |
|
39 org.graalvm.compiler.code \ |
|
40 org.graalvm.compiler.common \ |
|
41 org.graalvm.compiler.core \ |
|
42 org.graalvm.compiler.core.aarch64 \ |
|
43 org.graalvm.compiler.core.amd64 \ |
|
44 org.graalvm.compiler.core.common \ |
|
45 org.graalvm.compiler.core.sparc \ |
|
46 org.graalvm.compiler.debug \ |
|
47 org.graalvm.compiler.hotspot \ |
|
48 org.graalvm.compiler.hotspot.aarch64 \ |
|
49 org.graalvm.compiler.hotspot.amd64 \ |
|
50 org.graalvm.compiler.hotspot.sparc \ |
|
51 org.graalvm.compiler.graph \ |
|
52 org.graalvm.compiler.java \ |
|
53 org.graalvm.compiler.lir \ |
|
54 org.graalvm.compiler.lir.amd64 \ |
|
55 org.graalvm.compiler.loop \ |
|
56 org.graalvm.compiler.loop.phases \ |
|
57 org.graalvm.compiler.nodes \ |
|
58 org.graalvm.compiler.replacements \ |
|
59 org.graalvm.compiler.replacements.aarch64 \ |
|
60 org.graalvm.compiler.replacements.amd64 \ |
|
61 org.graalvm.compiler.phases \ |
|
62 org.graalvm.compiler.phases.common \ |
|
63 org.graalvm.compiler.printer \ |
|
64 org.graalvm.compiler.virtual \ |
|
65 # |
|
66 |
|
67 PROC_SRC_DIRS := $(patsubst %, $(SRC_DIR)/%/src, $(PROC_SRC_SUBDIRS)) |
|
68 |
|
69 PROC_SRCS := $(filter %.java, $(call CacheFind, $(PROC_SRC_DIRS))) |
|
70 |
|
71 ALL_SRC_DIRS := $(wildcard $(SRC_DIR)/*/src) |
|
72 SOURCEPATH := $(call PathList, $(ALL_SRC_DIRS)) |
|
73 |
|
74 PROCESSOR_JARS := \ |
|
75 $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.match.processor.jar \ |
|
76 $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.nodeinfo.processor.jar \ |
|
77 $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.options.processor.jar \ |
|
78 $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.replacements.verifier.jar \ |
|
79 $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.serviceprovider.processor.jar \ |
|
80 # |
|
81 PROCESSOR_PATH := $(call PathList, $(PROCESSOR_JARS)) |
|
82 |
|
83 ADD_EXPORTS := \ |
|
84 --add-exports jdk.internal.vm.ci/jdk.vm.ci.aarch64=ALL-UNNAMED \ |
|
85 --add-exports jdk.internal.vm.ci/jdk.vm.ci.amd64=ALL-UNNAMED \ |
|
86 --add-exports jdk.internal.vm.ci/jdk.vm.ci.code=ALL-UNNAMED \ |
|
87 --add-exports jdk.internal.vm.ci/jdk.vm.ci.code.site=ALL-UNNAMED \ |
|
88 --add-exports jdk.internal.vm.ci/jdk.vm.ci.code.stack=ALL-UNNAMED \ |
|
89 --add-exports jdk.internal.vm.ci/jdk.vm.ci.common=ALL-UNNAMED \ |
|
90 --add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot=ALL-UNNAMED \ |
|
91 --add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=ALL-UNNAMED \ |
|
92 --add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=ALL-UNNAMED \ |
|
93 --add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.events=ALL-UNNAMED \ |
|
94 --add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.sparc=ALL-UNNAMED \ |
|
95 --add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspotvmconfig=ALL-UNNAMED \ |
|
96 --add-exports jdk.internal.vm.ci/jdk.vm.ci.inittimer=ALL-UNNAMED \ |
|
97 --add-exports jdk.internal.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED \ |
|
98 --add-exports jdk.internal.vm.ci/jdk.vm.ci.runtime=ALL-UNNAMED \ |
|
99 --add-exports jdk.internal.vm.ci/jdk.vm.ci.services=ALL-UNNAMED \ |
|
100 --add-exports jdk.internal.vm.ci/jdk.vm.ci.sparc=ALL-UNNAMED \ |
|
101 # |
|
102 |
|
103 $(GENSRC_DIR)/_gensrc_proc_done: $(PROC_SRCS) $(PROCESSOR_JARS) |
|
104 $(call MakeDir, $(@D)) |
|
105 $(eval $(call ListPathsSafely,PROC_SRCS,$(@D)/_gensrc_proc_files)) |
|
106 $(JAVA_SMALL) $(NEW_JAVAC) \ |
|
107 -XDignore.symbol.file \ |
|
108 --upgrade-module-path $(JDK_OUTPUTDIR)/modules --system none \ |
|
109 $(ADD_EXPORTS) \ |
|
110 -sourcepath $(SOURCEPATH) \ |
|
111 -implicit:none \ |
|
112 -proc:only \ |
|
113 -processorpath $(PROCESSOR_PATH) \ |
|
114 -d $(GENSRC_DIR) \ |
|
115 -s $(GENSRC_DIR) \ |
|
116 @$(@D)/_gensrc_proc_files |
|
117 $(TOUCH) $@ |
|
118 |
|
119 TARGETS += $(GENSRC_DIR)/_gensrc_proc_done |
|
120 |
|
121 ################################################################################ |
|
122 |
|
123 $(GENSRC_DIR)/module-info.java.extra: $(GENSRC_DIR)/_gensrc_proc_done |
|
124 ($(CD) $(GENSRC_DIR)/META-INF/providers && \ |
|
125 p=""; \ |
|
126 for i in $$($(LS)); do \ |
|
127 c=$$($(CAT) $$i | $(TR) -d '\n\r'); \ |
|
128 if test x$$p != x$$c; then \ |
|
129 if test x$$p != x; then \ |
|
130 $(ECHO) " ;" >> $@; \ |
|
131 fi; \ |
|
132 $(ECHO) "provides $$c with" >> $@; \ |
|
133 p=$$c; \ |
|
134 fi; \ |
|
135 $(ECHO) " $$i," >> $@; \ |
|
136 done); \ |
|
137 $(ECHO) " ;" >> $@; \ |
|
138 $(ECHO) "uses org.graalvm.compiler.options.OptionDescriptors;" >> $@; \ |
|
139 $(ECHO) "provides org.graalvm.compiler.options.OptionDescriptors with" >> $@; \ |
|
140 for i in $$($(FIND) $(GENSRC_DIR) -name '*_OptionDescriptors.java'); do \ |
|
141 c=$$($(ECHO) $$i | $(SED) 's:.*/jdk\.internal\.vm\.compiler/\(.*\)\.java:\1:' | $(TR) '/' '.'); \ |
|
142 $(ECHO) " $$c," >> $@; \ |
|
143 done; \ |
|
144 $(ECHO) " ;" >> $@; |
|
145 |
|
146 TARGETS += $(GENSRC_DIR)/module-info.java.extra |
|
147 |
|
148 ################################################################################ |
|
149 |
|
150 all: $(TARGETS) |
|
151 |
|
152 .PHONY: default all |