1 #
  2 # Copyright (c) 2011, 2025, 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 
 30 include gensrc/GensrcBuffer.gmk
 31 include gensrc/GensrcCharacterData.gmk
 32 include gensrc/GensrcCharsetCoder.gmk
 33 include gensrc/GensrcCharsetMapping.gmk
 34 include gensrc/GensrcExceptions.gmk
 35 include gensrc/GensrcMisc.gmk
 36 include gensrc/GensrcModuleLoaderMap.gmk
 37 include gensrc/GensrcRegex.gmk
 38 include gensrc/GensrcScopedMemoryAccess.gmk
 39 include gensrc/GensrcVarHandles.gmk
 40 
 41 ################################################################################
 42 
 43 CLDR_DATA_DIR := $(TOPDIR)/make/data/cldr/common
 44 GENSRC_DIR := $(SUPPORT_OUTPUTDIR)/gensrc/java.base
 45 CLDR_GEN_DONE := $(GENSRC_DIR)/_cldr-gensrc.marker
 46 TZ_DATA_DIR := $(MODULE_SRC)/share/data/tzdata
 47 ZONENAME_TEMPLATE := $(MODULE_SRC)/share/classes/java/time/format/ZoneName.java.template
 48 
 49 # The `-utf8` option is used even for US English, as some names
 50 # may contain non-ASCII characters, such as “Türkiye”.
 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 	    -utf8)
 68 	$(TOUCH) $@
 69 
 70 TARGETS += $(CLDR_GEN_DONE)
 71 
 72 ################################################################################
 73 
 74 include GensrcProperties.gmk
 75 
 76 $(eval $(call SetupCompileProperties, LIST_RESOURCE_BUNDLE, \
 77     SRC_DIRS := $(MODULE_SRC)/share/classes/sun/launcher/resources, \
 78     CLASS := ListResourceBundle, \
 79 ))
 80 
 81 $(eval $(call SetupCompileProperties, SUN_UTIL, \
 82     SRC_DIRS := $(MODULE_SRC)/share/classes/sun/util/resources, \
 83     CLASS := sun.util.resources.LocaleNamesBundle, \
 84 ))
 85 
 86 $(eval $(call SetupCompileProperties, SECURITY_RESOURCES, \
 87     SRC_DIRS := $(MODULE_SRC)/share/classes/sun/security/util/resources, \
 88     CLASS := ListResourceBundle, \
 89 ))
 90 
 91 $(eval $(call SetupCompileProperties, KEYTOOL_RESOURCES, \
 92     SRC_DIRS := $(MODULE_SRC)/share/classes/sun/security/tools/keytool/resources, \
 93     CLASS := ListResourceBundle, \
 94 ))
 95 
 96 TARGETS += $(LIST_RESOURCE_BUNDLE) $(SUN_UTIL) $(SECURITY_RESOURCES) $(KEYTOOL_RESOURCES)
 97 
 98 ################################################################################
 99 
100 GENSRC_LSREQUIVMAPS := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/util/locale/LocaleEquivalentMaps.java
101 
102 $(GENSRC_LSREQUIVMAPS): $(MODULE_SRC)/share/data/lsrdata/language-subtag-registry.txt $(BUILD_TOOLS_JDK)
103 	$(call MakeDir, $(@D))
104 	$(TOOL_GENERATELSREQUIVMAPS) $< $@ $(COPYRIGHT_YEAR)
105 
106 TARGETS += $(GENSRC_LSREQUIVMAPS)
107 
108 ################################################################################
109 
110 INTPOLY_GEN_DONE := $(GENSRC_DIR)/_intpoly-gensrc.marker
111 INTPOLY_HEADER := $(TOPDIR)/make/jdk/src/classes/build/tools/intpoly/header.txt
112 $(INTPOLY_GEN_DONE): $(INTPLOY_HEADER) $(BUILD_TOOLS_JDK)
113 	$(call MakeDir, $(GENSRC_DIR))
114 	$(call LogInfo, Generating fixed-field math classes for java.base)
115 	$(call ExecuteWithLog, $@, \
116 	    $(TOOL_INTPOLY) \
117 	    $(INTPOLY_HEADER) \
118 	    $(GENSRC_DIR)) $(LOG_DEBUG)
119 	$(TOUCH) $@
120 
121 TARGETS += $(INTPOLY_GEN_DONE)
122 
123 ################################################################################