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