1 #
2 # Copyright (c) 2011, 2026, 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 ################################################################################
27
28 include GensrcCommon.gmk
29 include GensrcProperties.gmk
30 include GensrcStreamPreProcessing.gmk
31
32 include gensrc/GensrcBuffer.gmk
33 include gensrc/GensrcCharacterData.gmk
34 include gensrc/GensrcCharsetCoder.gmk
35 include gensrc/GensrcCharsetMapping.gmk
36 include gensrc/GensrcMisc.gmk
37 include gensrc/GensrcModuleLoaderMap.gmk
38 include gensrc/GensrcRegex.gmk
39 include gensrc/GensrcScopedMemoryAccess.gmk
40 include gensrc/GensrcValueClasses.gmk
41 include gensrc/GensrcVarHandles.gmk
42
43 ################################################################################
44
45 CLDR_DATA_DIR := $(TOPDIR)/make/data/cldr/common
46 GENSRC_DIR := $(SUPPORT_OUTPUTDIR)/gensrc/java.base
47 CLDR_GEN_DONE := $(GENSRC_DIR)/_cldr-gensrc.marker
48 TZ_DATA_DIR := $(MODULE_SRC)/share/data/tzdata
49 ZONENAME_TEMPLATE := $(MODULE_SRC)/share/classes/java/time/format/ZoneName.java.template
50
51 $(CLDR_GEN_DONE): $(wildcard $(CLDR_DATA_DIR)/dtd/*.dtd) \
52 $(wildcard $(CLDR_DATA_DIR)/main/en*.xml) \
53 $(wildcard $(CLDR_DATA_DIR)/supplemental/*.xml) \
54 $(wildcard $(TZ_DATA_DIR)/*) \
55 $(ZONENAME_TEMPLATE) \
56 $(BUILD_TOOLS_JDK)
57 $(call MakeDir, $(GENSRC_DIR))
58 $(call LogInfo, Processing CLDR data for java.base)
59 $(call ExecuteWithLog, $@, \
60 $(TOOL_CLDRCONVERTER) -base $(CLDR_DATA_DIR) \
61 -baselocales "en-US" \
62 -o $(GENSRC_DIR) \
63 -basemodule \
64 -year $(COPYRIGHT_YEAR) \
65 -zntempfile $(ZONENAME_TEMPLATE) \
66 -tzdatadir $(TZ_DATA_DIR))
67 $(TOUCH) $@
68
69 TARGETS += $(CLDR_GEN_DONE)
70
71 ################################################################################
72
73 $(eval $(call SetupCompileProperties, LIST_RESOURCE_BUNDLE, \
74 SRC_DIRS := $(MODULE_SRC)/share/classes/sun/launcher/resources, \
75 CLASS := ListResourceBundle, \
76 ))
77
78 $(eval $(call SetupCompileProperties, SUN_UTIL, \
79 SRC_DIRS := $(MODULE_SRC)/share/classes/sun/util/resources, \
80 CLASS := sun.util.resources.LocaleNamesBundle, \
81 ))
82
83 $(eval $(call SetupCompileProperties, SECURITY_RESOURCES, \
84 SRC_DIRS := $(MODULE_SRC)/share/classes/sun/security/util/resources, \
85 CLASS := ListResourceBundle, \
86 ))
87
88 $(eval $(call SetupCompileProperties, KEYTOOL_RESOURCES, \
89 SRC_DIRS := $(MODULE_SRC)/share/classes/sun/security/tools/keytool/resources, \
90 CLASS := ListResourceBundle, \
91 ))
92
93 TARGETS += $(LIST_RESOURCE_BUNDLE) $(SUN_UTIL) $(SECURITY_RESOURCES) $(KEYTOOL_RESOURCES)
94
95 ################################################################################
96
97 GENSRC_LSREQUIVMAPS := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/util/locale/LocaleEquivalentMaps.java
98
99 $(GENSRC_LSREQUIVMAPS): $(MODULE_SRC)/share/data/lsrdata/language-subtag-registry.txt $(BUILD_TOOLS_JDK)
100 $(call MakeDir, $(@D))
101 $(TOOL_GENERATELSREQUIVMAPS) $< $@ $(COPYRIGHT_YEAR)
102
103 TARGETS += $(GENSRC_LSREQUIVMAPS)
104
105 ################################################################################
106
107 INTPOLY_GEN_DONE := $(GENSRC_DIR)/_intpoly-gensrc.marker
108 INTPOLY_HEADER := $(TOPDIR)/make/jdk/src/classes/build/tools/intpoly/header.txt
109 $(INTPOLY_GEN_DONE): $(INTPLOY_HEADER) $(BUILD_TOOLS_JDK)
110 $(call MakeDir, $(GENSRC_DIR))
111 $(call LogInfo, Generating fixed-field math classes for java.base)
112 $(call ExecuteWithLog, $@, \
113 $(TOOL_INTPOLY) \
114 $(INTPOLY_HEADER) \
115 $(GENSRC_DIR)) $(LOG_DEBUG)
116 $(TOUCH) $@
117
118 TARGETS += $(INTPOLY_GEN_DONE)
119
120 ################################################################################
121
122 RELEASE_FILE_TEMPLATE := $(TOPDIR)/src/java.base/share/classes/jdk/internal/misc/resources/release.txt.template
123 RELEASE_FILE_TARGET := $(SUPPORT_OUTPUTDIR)/gensrc/$(MODULE)/jdk/internal/misc/resources/release.txt
124
125 RELEASE_FILE_VARDEPS := $(COMPANY_NAME) $(VERSION_STRING) $(VERSION_DATE)
126 RELEASE_FILE_VARDEPS_FILE := $(call DependOnVariable, RELEASE_FILE_VARDEPS, \
127 $(SUPPORT_OUTPUTDIR)/gensrc/$(MODULE)/jlink_release_txt.vardeps)
128
129 $(eval $(call SetupTextFileProcessing, BUILD_RELEASE_FILE, \
130 SOURCE_FILES := $(RELEASE_FILE_TEMPLATE), \
131 OUTPUT_FILE := $(RELEASE_FILE_TARGET), \
132 REPLACEMENTS := \
133 @@COMPANY_NAME@@ => $(COMPANY_NAME) ; \
134 @@VERSION_STRING@@ => $(VERSION_STRING) ; \
135 @@VERSION_DATE@@ => $(VERSION_DATE) , \
136 ))
137
138 $(BUILD_RELEASE_FILE): $(RELEASE_FILE_VARDEPS_FILE)
139
140 TARGETS += $(BUILD_RELEASE_FILE)
141
142 ################################################################################