1 #
 2 # Copyright (c) 2011, 2020, 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 include JavaCompilation.gmk
31 include SetupJavaCompilers.gmk
32 
33 ################################################################################
34 # Generate interim versions of the module-info.java files for the interim
35 # langtools modules. Each interim module has ".interim" added as suffix to the
36 # original module name.
37 
38 INTERIM_MODULEINFO_PATTERN := \
39     $(foreach m, $(INTERIM_RMIC_BASE_MODULES), -e 's/$m\([,; ]\)/$m.interim\1/g') \
40     -e '/ToolProvider[,; ]/d'
41 
42 $(BUILDTOOLS_OUTPUTDIR)/gensrc/%.interim/module-info.java: \
43     $(TOPDIR)/src/%/share/classes/module-info.java
44 	$(call LogInfo, Generating module-info.java for $*.interim)
45 	$(call MakeDir, $(@D))
46 	$(SED) $(INTERIM_MODULEINFO_PATTERN) $< > $@
47 
48 TARGETS += $(patsubst %, $(BUILDTOOLS_OUTPUTDIR)/gensrc/%/module-info.java, \
49     $(INTERIM_RMIC_MODULES))
50 
51 ################################################################################
52 
53 RMIC_PKGS := \
54     sun/rmi/rmic \
55     sun/tools/asm \
56     sun/tools/java \
57     sun/tools/javac \
58     sun/tools/tree \
59     sun/tools/util \
60     #
61 
62 $(eval $(call SetupJavaCompilation, BUILD_jdk.rmic.interim, \
63     SETUP := GENERATE_OLDBYTECODE, \
64     SRC := $(TOPDIR)/src/jdk.rmic/share/classes, \
65     EXCLUDE_FILES := $(TOPDIR)/src/jdk.rmic/share/classes/module-info.java, \
66     EXTRA_FILES := $(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.rmic.interim/module-info.java, \
67     INCLUDES := $(RMIC_PKGS), \
68     BIN := $(BUILDTOOLS_OUTPUTDIR)/interim_rmic_modules/jdk.rmic.interim, \
69     COPY := .properties, \
70     DISABLED_WARNINGS := deprecation, \
71     ADD_JAVAC_FLAGS := \
72         --module-path $(BUILDTOOLS_OUTPUTDIR)/interim_rmic_modules \
73         $(INTERIM_RMIC_ADD_EXPORTS), \
74 ))
75 
76 TARGETS += $(BUILD_jdk.rmic.interim)
77 
78 ##########################################################################################
79 
80 all: $(TARGETS)