1 #
2 # Copyright (c) 2014, 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
30 include MakeBase.gmk
31 include JavaCompilation.gmk
32 include SetupJavaCompilers.gmk
33
34 ################################################################################
35 # Setup the rules to build interim langtools, which is compiled by the boot
36 # javac and can be run on the boot jdk. This will be used to compile
37 # the rest of the product. Each module is compiled separately to allow a modular
38 # boot jdk to override system classes using -Xoverride:.
39
40 # Param 1 - Name of module to compile
41 # Param 2 - Name of modules to depend on
42 define SetupInterimModule
43 $$(eval $$(call SetupJavaCompilation,BUILD_INTERIM_$(strip $1), \
44 SETUP := BOOT_JAVAC, \
45 DISABLE_SJAVAC := true, \
46 SRC := $(LANGTOOLS_TOPDIR)/src/$(strip $1)/share/classes \
47 $$(wildcard $(SUPPORT_OUTPUTDIR)/gensrc/$(strip $1)), \
48 EXCLUDES := sun com/sun/tools/jdeps com/sun/tools/javap \
49 com/sun/tools/jdeprscan, \
50 EXCLUDE_FILES := module-info.java, \
51 COPY := .gif .png .xml .css .js javax.tools.JavaCompilerTool, \
52 BIN := $(BUILDTOOLS_OUTPUTDIR)/override_modules/$(strip $1), \
53 ADD_JAVAC_FLAGS := -Xbootclasspath/p:$$(call PathList, \
54 $$(foreach m, $2, $(BUILDTOOLS_OUTPUTDIR)/override_modules/$$m)), \
55 ))
56
57 $$(BUILD_INTERIM_$(strip $1)): $$(foreach m, $2, $$(BUILD_INTERIM_$(strip $$m)))
58
59 TARGETS += $$(BUILD_INTERIM_$(strip $1))
60 endef
61
62 $(eval $(call SetupInterimModule, java.compiler))
63 $(eval $(call SetupInterimModule, jdk.compiler, java.compiler))
64 $(eval $(call SetupInterimModule, jdk.jdeps, jdk.compiler java.compiler))
65 $(eval $(call SetupInterimModule, jdk.javadoc, java.compiler jdk.compiler))
66
67 all: $(TARGETS)
|
1 #
2 # Copyright (c) 2014, 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
30 include MakeBase.gmk
31 include JavaCompilation.gmk
32 include SetupJavaCompilers.gmk
33
34 ################################################################################
35 # Setup the rules to build interim langtools, which is compiled by the boot
36 # javac and can be run on the boot jdk. This will be used to compile
37 # the rest of the product. Each module is compiled separately to allow a modular
38 # boot jdk to override system classes using -Xoverride:.
39
40 # Param 1 - Name of module to compile
41 # Param 2 - Name of modules to depend on
42 define SetupInterimModule
43 $$(eval $$(call SetupJavaCompilation,BUILD_INTERIM_$(strip $1), \
44 SETUP := BOOT_JAVAC, \
45 DISABLE_SJAVAC := true, \
46 SRC := $(LANGTOOLS_TOPDIR)/src/$(strip $1)/share/classes \
47 $$(wildcard $(SUPPORT_OUTPUTDIR)/gensrc/$(strip $1)), \
48 EXCLUDES := sun com/sun/tools/jdeps com/sun/tools/javap \
49 com/sun/tools/jdeprscan, \
50 EXCLUDE_FILES := module-info.java JavacToolProvider.java JavadocToolProvider.java, \
51 COPY := .gif .png .xml .css .js javax.tools.JavaCompilerTool, \
52 BIN := $(BUILDTOOLS_OUTPUTDIR)/override_modules/$(strip $1), \
53 ADD_JAVAC_FLAGS := -Xbootclasspath/p:$$(call PathList, \
54 $$(foreach m, $2, $(BUILDTOOLS_OUTPUTDIR)/override_modules/$$m)), \
55 ))
56
57 $$(BUILD_INTERIM_$(strip $1)): $$(foreach m, $2, $$(BUILD_INTERIM_$(strip $$m)))
58
59 TARGETS += $$(BUILD_INTERIM_$(strip $1))
60 endef
61
62 $(eval $(call SetupInterimModule, java.compiler))
63 $(eval $(call SetupInterimModule, jdk.compiler, java.compiler))
64 $(eval $(call SetupInterimModule, jdk.jdeps, jdk.compiler java.compiler))
65 $(eval $(call SetupInterimModule, jdk.javadoc, java.compiler jdk.compiler))
66
67 all: $(TARGETS)
|