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# This must be the first rule
27default: all
28
29include $(SPEC)
30include MakeBase.gmk
31
32include JavaCompilation.gmk
33include SetupJavaCompilers.gmk
34
35TARGETS :=
36
37# Hook to include the corresponding custom file, if present.
38$(eval $(call IncludeCustomExtension, hotspot, CompileTools.gmk))
39
40ifeq ($(INCLUDE_GRAAL), true)
41  VM_CI_SRC_DIR := $(HOTSPOT_TOPDIR)/src/jdk.internal.vm.ci/share/classes
42
43  SRC_DIR := $(HOTSPOT_TOPDIR)/src/jdk.internal.vm.compiler/share/classes
44
45  ##############################################################################
46  # Compile the annotation processors
47  $(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_MATCH_PROCESSOR, \
48      SETUP := GENERATE_OLDBYTECODE, \
49      SRC := \
50          $(SRC_DIR)/org.graalvm.word/src \
51          $(SRC_DIR)/org.graalvm.compiler.core/src \
52          $(SRC_DIR)/org.graalvm.compiler.core.common/src \
53          $(SRC_DIR)/org.graalvm.compiler.core.match.processor/src \
54          $(SRC_DIR)/org.graalvm.compiler.api.replacements/src \
55          $(SRC_DIR)/org.graalvm.compiler.asm/src \
56          $(SRC_DIR)/org.graalvm.compiler.bytecode/src \
57          $(SRC_DIR)/org.graalvm.compiler.code/src \
58          $(SRC_DIR)/org.graalvm.compiler.debug/src \
59          $(SRC_DIR)/org.graalvm.compiler.graph/src \
60          $(SRC_DIR)/org.graalvm.compiler.lir/src \
61          $(SRC_DIR)/org.graalvm.compiler.loop/src \
62          $(SRC_DIR)/org.graalvm.compiler.loop.phases/src \
63          $(SRC_DIR)/org.graalvm.compiler.nodeinfo/src \
64          $(SRC_DIR)/org.graalvm.compiler.nodes/src \
65          $(SRC_DIR)/org.graalvm.compiler.options/src \
66          $(SRC_DIR)/org.graalvm.compiler.phases/src \
67          $(SRC_DIR)/org.graalvm.compiler.phases.common/src \
68          $(SRC_DIR)/org.graalvm.compiler.serviceprovider/src \
69          $(SRC_DIR)/org.graalvm.compiler.virtual/src \
70          $(SRC_DIR)/org.graalvm.util/src \
71          $(VM_CI_SRC_DIR)/jdk.vm.ci.code/src \
72          $(VM_CI_SRC_DIR)/jdk.vm.ci.common/src \
73          $(VM_CI_SRC_DIR)/jdk.vm.ci.meta/src \
74          $(VM_CI_SRC_DIR)/jdk.vm.ci.runtime/src \
75          $(VM_CI_SRC_DIR)/jdk.vm.ci.services/src \
76          , \
77      EXCLUDE_FILES := $(EXCLUDE_FILES), \
78      BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.match.processor, \
79      JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.match.processor.jar, \
80  ))
81
82  TARGETS += $(BUILD_VM_COMPILER_MATCH_PROCESSOR)
83
84  ##############################################################################
85
86  $(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_NODEINFO_PROCESSOR, \
87      SETUP := GENERATE_OLDBYTECODE, \
88      SRC := \
89          $(SRC_DIR)/org.graalvm.compiler.nodeinfo/src \
90          $(SRC_DIR)/org.graalvm.compiler.nodeinfo.processor/src \
91          , \
92      BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.nodeinfo.processor, \
93      JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.nodeinfo.processor.jar, \
94  ))
95
96  TARGETS += $(BUILD_VM_COMPILER_NODEINFO_PROCESSOR)
97
98  ##############################################################################
99
100  $(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_OPTIONS_PROCESSOR, \
101      SETUP := GENERATE_OLDBYTECODE, \
102      SRC := \
103          $(SRC_DIR)/org.graalvm.compiler.options/src \
104          $(SRC_DIR)/org.graalvm.compiler.options.processor/src \
105          $(SRC_DIR)/org.graalvm.util/src \
106          , \
107      BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.options.processor, \
108      JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.options.processor.jar, \
109  ))
110
111  TARGETS += $(BUILD_VM_COMPILER_OPTIONS_PROCESSOR)
112
113  ##############################################################################
114
115  $(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_REPLACEMENTS_VERIFIER, \
116      SETUP := GENERATE_OLDBYTECODE, \
117      SRC := \
118          $(SRC_DIR)/org.graalvm.word/src \
119          $(SRC_DIR)/org.graalvm.compiler.replacements.verifier/src \
120          $(SRC_DIR)/org.graalvm.compiler.api.replacements/src \
121          $(SRC_DIR)/org.graalvm.compiler.code/src \
122          $(SRC_DIR)/org.graalvm.compiler.core.common/src \
123          $(SRC_DIR)/org.graalvm.compiler.debug/src \
124          $(SRC_DIR)/org.graalvm.compiler.graph/src \
125          $(SRC_DIR)/org.graalvm.compiler.nodeinfo/src \
126          $(SRC_DIR)/org.graalvm.compiler.options/src \
127          $(SRC_DIR)/org.graalvm.compiler.serviceprovider/src \
128          $(SRC_DIR)/org.graalvm.util/src \
129          $(VM_CI_SRC_DIR)/jdk.vm.ci.code/src \
130          $(VM_CI_SRC_DIR)/jdk.vm.ci.common/src \
131          $(VM_CI_SRC_DIR)/jdk.vm.ci.meta/src \
132          $(VM_CI_SRC_DIR)/jdk.vm.ci.runtime/src \
133          $(VM_CI_SRC_DIR)/jdk.vm.ci.services/src \
134          , \
135      EXCLUDE_FILES := $(EXCLUDE_FILES), \
136      BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.replacements.verifier, \
137      JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.replacements.verifier.jar, \
138  ))
139
140  TARGETS += $(BUILD_VM_COMPILER_REPLACEMENTS_VERIFIER)
141
142  ##############################################################################
143
144  $(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_SERVICEPROVIDER_PROCESSOR, \
145      SETUP := GENERATE_OLDBYTECODE, \
146      SRC := \
147          $(SRC_DIR)/org.graalvm.compiler.serviceprovider/src \
148          $(SRC_DIR)/org.graalvm.compiler.serviceprovider.processor/src \
149          $(VM_CI_SRC_DIR)/jdk.vm.ci.services/src \
150          , \
151      EXCLUDE_FILES := $(EXCLUDE_FILES), \
152      BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.serviceprovider.processor, \
153      JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.serviceprovider.processor.jar, \
154  ))
155
156  TARGETS += $(BUILD_VM_COMPILER_SERVICEPROVIDER_PROCESSOR)
157
158  ##############################################################################
159endif
160
161all: $(TARGETS)
162
163.PHONY: all
164