langtools/make/CompileInterim.gmk
changeset 36526 3b41f1c69604
parent 35426 374342e56a56
child 40596 43b19b36e8e6
equal deleted inserted replaced
36525:4caf88912b7f 36526:3b41f1c69604
    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)