1 # 2 # Copyright (c) 2011, 2012, 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 # Prepare the find cache. This is only used on windows. 27 $(eval $(call FillCacheFind,$(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/windows/classes)) 28 29 # All .properties files to be compiled are appended to this variable. 30 ALL_COMPILED_PROPSOURCES:= 31 # All generated .java files from compilation are appended to this variable. 32 ALL_COMPILED_PROPJAVAS:= 33 # The (very long) command line for compilation, stored in a file, prior to use. 34 COMPILE_PROPCMDLINE:= 35 36 # All .properties files to be cleaned are appended to this variable. 37 ALL_CLEANED_PROPSOURCES:= 38 # All generated cleaned .properties files from cleaning are appended to this variable. 39 ALL_CLEANED_PROPOUTPUT:= 40 # The (very long) command line for cleaning, stored in a file, prior to use. 41 CLEAN_PROPCMDLINE:= 42 43 define add_properties_to_compile 44 # $1 is the name of the properties group 45 # $2 is the files belonging to this group 46 # $3 is the super class for the generated java file. 47 # $4 is a from pattern for translating stripped name from source to target 48 # $5 is the to pattern replacing $3 in the target 49 50 # Strip away prefix and suffix, 51 # leaving for example: sun/util/resources/CurrencyNames_sv 52 $1_PROPPATHS:=$$(patsubst $(JDK_TOPDIR)/src/windows/classes/%.properties,%,\ 53 $$(patsubst $(JDK_TOPDIR)/src/macosx/classes/%.properties,%,\ 54 $$(patsubst $(JDK_TOPDIR)/src/share/classes/%.properties,%,$2))) 55 56 # Apply optional name transformation, example: hz_TW -> hz_HK 57 $(if $4,$1_PROPPATHS:=$$(patsubst $4,$5,$$($1_PROPPATHS))) 58 59 # Accumulate all found properties files. 60 ALL_COMPILED_PROPSOURCES+=$2 61 62 # Generate the list of to be created java files. 63 ALL_COMPILED_PROPJAVAS+=$$(patsubst %,$(JDK_OUTPUTDIR)/gensrc/%.java,$$($1_PROPPATHS)) 64 65 # Now generate a sequence of "-compile ...CurrencyNames_sv.properties ...CurrencyNames_sv.java ListResourceBundle" 66 # suitable to be fed into the CompileProperties command. 67 COMPILE_PROPCMDLINE+=$$(subst _SPACE_,$(SPACE),$$(join $$(addprefix -compile_SPACE_,$2), \ 68 $$(addsuffix _SPACE_$(strip $3),\ 69 $$(addprefix _SPACE_$(JDK_OUTPUTDIR)/gensrc/,\ 70 $$(addsuffix .java,$$($1_PROPPATHS)))))) 71 endef 72 73 define add_properties_to_clean 74 # $1 is the name of the properties group 75 # $2 is the files belonging to this group 76 # $3 is a from pattern for translating stripped name from source to target 77 # $4 is the to pattern replacing $3 in the target 78 # $5 optional name of extra directory to put properties files in (ex: resources) 79 80 # Strip away prefix and suffix, 81 # leaving for example: sun/util/resources/CurrencyNames_sv 82 $1_PROPPATHS:=$$(patsubst $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes/%.properties,%,\ 83 $$(patsubst $(JDK_TOPDIR)/src/share/classes/%.properties,%,$2)) 84 85 # Apply optional name transformation, example: hz_TW -> hz_HK 86 $(if $3,$1_PROPPATHS:=$$(patsubst $3,$4,$$($1_PROPPATHS))) 87 88 # Accumulate all found properties files. 89 ALL_CLEANED_PROPSOURCES+=$2 90 91 # Generate the list of to be created java files. 92 $1_PROPOUTPUT:=$$(patsubst %,$(JDK_OUTPUTDIR)/classes/%.properties,$$($1_PROPPATHS)) 93 # If the properties target file isn't in a "resources" dir, add one. 94 ifneq ($5,) 95 $1_PROPOUTPUT:=$$(foreach p,$$($1_PROPOUTPUT), $$(dir $$p)$5/$$(notdir $$p)) 96 endif 97 98 ALL_CLEANED_PROPOUTPUT+=$$($1_PROPOUTPUT) 99 100 # Now generate a sequence of "-clean ...[src]...CurrencyNames_sv.properties ...[build]...CurrencyNames_sv.properties" 101 # suitable to be fed into the StripProperties command. 102 CLEAN_PROPCMDLINE+=$$(subst _SPACE_,$(SPACE),$$(join $$(addprefix -clean_SPACE_,$2), \ 103 $$(addprefix _SPACE_,$$($1_PROPOUTPUT)))) 104 endef 105 106 # Some packages contain pregenerated java files instead of properties files. 107 # But unfortunately not all properties should be converted, some should be 108 # copied....argggghhh. 109 110 # For example: 111 # sun/applet/resources 112 # sun/misc/resources 113 # sun/text/resources 114 # sun/tools/jconsole/resources 115 # sun/tools/native2ascii/resources 116 # sun/util/resources 117 118 # Some packages have properties that need to be converted to java source files. 119 120 #com/apple/laf/resources 121 ifeq ($(OPENJDK_TARGET_OS),macosx) 122 $(eval $(call add_properties_to_compile,COM_APPLE_LAF,\ 123 $(filter %.properties,\ 124 $(call CacheFind,$(JDK_TOPDIR)/src/macosx/classes/com/apple/laf/resources)),\ 125 ListResourceBundle)) 126 endif 127 128 #com/sun/accessibility/internal/resources 129 $(eval $(call add_properties_to_compile,COM_SUN_ACCESSIBILITY,\ 130 $(filter %.properties,\ 131 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/accessibility/internal/resources)),\ 132 ListResourceBundle)) 133 $(eval $(call add_properties_to_compile,COM_SUN_ACCESSIBILITY_HK,\ 134 $(filter %.properties,\ 135 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/accessibility/internal/resources)),\ 136 ListResourceBundle,%zh_TW,%zh_HK)) 137 #com/sun/imageio/plugins/common 138 $(eval $(call add_properties_to_clean,COM_SUN_IMAGEIO,\ 139 $(filter %.properties,\ 140 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/imageio)))) 141 #com/sun/java/swing/plaf/gtk/resources 142 ifneq ($(OPENJDK_TARGET_OS), windows) 143 # Only compile GTK resource bundles on Solaris/Linux 144 $(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_GTK,\ 145 $(filter %.properties,\ 146 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/gtk/resources)),\ 147 ListResourceBundle)) 148 $(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_GTK_HK,\ 149 $(filter %.properties,\ 150 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/gtk/resources)),\ 151 ListResourceBundle,%zh_TW,%zh_HK)) 152 endif 153 #com/sun/java/swing/plaf/motif/resources 154 $(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_MOTIF,\ 155 $(filter %.properties,\ 156 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/motif/resources)),\ 157 ListResourceBundle)) 158 $(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_MOTIF_HK,\ 159 $(filter %.properties,\ 160 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/motif/resources)),\ 161 ListResourceBundle,%zh_TW,%zh_HK)) 162 #com/sun/java/swing/plaf/windows/resources 163 $(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_WINDOWS,\ 164 $(filter %.properties,\ 165 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/windows/resources)),\ 166 ListResourceBundle)) 167 $(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_WINDOWS_HK,\ 168 $(filter %.properties,\ 169 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/windows/resources)),\ 170 ListResourceBundle,%zh_TW,%zh_HK)) 171 #com/sun/java/util/jar/pack 172 $(eval $(call add_properties_to_clean,JNDI_COSNAMING,\ 173 $(JDK_TOPDIR)/src/share/classes/com/sun/java/util/jar/pack/intrinsic.properties)) 174 #com/sun/jndi/cosnaming 175 $(eval $(call add_properties_to_clean,JNDI_COSNAMING,\ 176 $(JDK_TOPDIR)/src/share/classes/com/sun/jndi/cosnaming/jndiprovider.properties)) 177 #com/sun/jndi/ldap 178 $(eval $(call add_properties_to_clean,JNDI_COSNAMING,\ 179 $(JDK_TOPDIR)/src/share/classes/com/sun/jndi/ldap/jndiprovider.properties)) 180 181 #com/sun/org/apache/xml/internal/security/resource 182 #FIXME: The "xmlsecurity*.properties" pattern is not ideal; we might want to find 183 #a better way to select the properties files that are needed. 184 $(eval $(call add_properties_to_clean,XML_SECURITY,\ 185 $(filter $(JDK_TOPDIR)/src/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity%.properties,\ 186 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/org/apache/xml/internal/security/resource)))) 187 188 #com/sun/rowset 189 $(eval $(call add_properties_to_clean,COM_SUN_ROWSET,\ 190 $(filter %.properties,\ 191 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/rowset)))) 192 $(eval $(call add_properties_to_clean,COM_SUN_ROWSET_HK,\ 193 $(filter %zh_TW.properties,\ 194 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/rowset)),\ 195 %zh_TW,%zh_HK)) 196 197 #com/sun/swing/internal/plaf/basic/resources 198 $(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_BASIC,\ 199 $(filter %.properties,\ 200 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/basic/resources)),\ 201 ListResourceBundle)) 202 $(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_BASIC_HK,\ 203 $(filter %.properties,\ 204 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/basic/resources)),\ 205 ListResourceBundle,%zh_TW,%zh_HK)) 206 #com/sun/swing/internal/plaf/metal/resources 207 $(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_METAL,\ 208 $(filter %.properties,\ 209 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/metal/resources)),\ 210 ListResourceBundle)) 211 $(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_METAL_HK,\ 212 $(filter %.properties,$(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/metal/resources)),\ 213 ListResourceBundle,%zh_TW,%zh_HK)) 214 #com/sun/swing/internal/plaf/synth/resources 215 $(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_SYNTH,\ 216 $(filter %.properties,\ 217 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/synth/resources)),\ 218 ListResourceBundle)) 219 $(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_SYNTH_HK,\ 220 $(filter %.properties,\ 221 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/synth/resources)),\ 222 ListResourceBundle,%zh_TW,%zh_HK)) 223 224 #com/sun/tools/jdi/resources 225 $(eval $(call add_properties_to_compile,COM_SUN_TOOLS_JDI,\ 226 $(filter %.properties,\ 227 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/tools/jdi/resources)),\ 228 ListResourceBundle)) 229 230 #com/sun/tools/script/shell 231 #java/util 232 #javax/sql/rowset 233 $(eval $(call add_properties_to_clean,JAVAX_SQL_ROWSET,\ 234 $(filter %.properties,\ 235 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/javax/sql/rowset)))) 236 #sun/awt/resources 237 $(eval $(call add_properties_to_compile,SUN_AWT,\ 238 $(filter %.properties,\ 239 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/awt/resources)),\ 240 ListResourceBundle)) 241 $(eval $(call add_properties_to_compile,SUN_AWT_HK,\ 242 $(filter %.properties,\ 243 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/awt/resources)),\ 244 ListResourceBundle,%zh_TW,%zh_HK)) 245 #sun/awt/windows/ 246 ifeq ($(OPENJDK_TARGET_OS),windows) 247 $(eval $(call add_properties_to_compile,SUN_AWT,\ 248 $(filter $(JDK_TOPDIR)/src/windows/classes/sun/awt/windows/awtLocalization%.properties,\ 249 $(call CacheFind,$(JDK_TOPDIR)/src/windows/classes/sun/awt/windows)),\ 250 ListResourceBundle)) 251 $(eval $(call add_properties_to_compile,SUN_AWT_HK,\ 252 $(filter $(JDK_TOPDIR)/src/windows/classes/sun/awt/windows/awtLocalization%.properties,\ 253 $(call CacheFind,$(JDK_TOPDIR)/src/windows/classes/sun/awt/windows)),\ 254 ListResourceBundle,%zh_TW,%zh_HK)) 255 endif 256 # os x specific awt properties 257 ifeq ($(OPENJDK_TARGET_OS),macosx) 258 $(eval $(call add_properties_to_compile,SUN_AWT,\ 259 $(filter $(JDK_TOPDIR)/src/macosx/classes/sun/awt/resources/%.properties,\ 260 $(call CacheFind,$(JDK_TOPDIR)/src/macosx/classes/sun/awt/resources)),\ 261 ListResourceBundle)) 262 endif 263 264 #sun/launcher/resources 265 $(eval $(call add_properties_to_compile,SUN_LAUNCHER,\ 266 $(filter %.properties,\ 267 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/launcher/resources)),\ 268 ListResourceBundle)) 269 $(eval $(call add_properties_to_compile,SUN_LAUNCHER_HK,\ 270 $(filter %.properties,\ 271 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/launcher/resources)),\ 272 ListResourceBundle,%zh_TW,%zh_HK)) 273 #sun/management/resources 274 $(eval $(call add_properties_to_compile,SUN_MANAGEMENT,\ 275 $(filter %.properties,\ 276 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/management/resources)),\ 277 ListResourceBundle)) 278 $(eval $(call add_properties_to_compile,SUN_MANAGEMENT_KH,\ 279 $(filter %.properties,\ 280 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/management/resources)),\ 281 ListResourceBundle,%zh_TW,%zh_HK)) 282 #sun/print 283 #sun/print/resources 284 $(eval $(call add_properties_to_compile,SUN_PRINT,\ 285 $(filter %.properties,\ 286 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/print/resources)),\ 287 ListResourceBundle)) 288 $(eval $(call add_properties_to_compile,SUN_PRINT_HK,\ 289 $(filter %.properties,\ 290 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/print/resources)),\ 291 ListResourceBundle,%zh_TW,%zh_HK)) 292 #sun/rmi/registry/resources 293 $(eval $(call add_properties_to_clean,SUN_RMI_REGISTRY,\ 294 $(filter %.properties,\ 295 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/rmi/registry/resources)))) 296 $(eval $(call add_properties_to_clean,SUN_RMI_REGISTRY_HK,\ 297 $(filter %zh_TW.properties,\ 298 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/rmi/registry/resources)),\ 299 %zh_TW,%zh_HK)) 300 301 #sun/rmi/rmic/resources 302 $(eval $(call add_properties_to_clean,SUN_RMI_RMIC,\ 303 $(filter %.properties,\ 304 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/rmi/rmic/resources)))) 305 306 #sun/rmi/server/resources 307 $(eval $(call add_properties_to_clean,SUN_RMI_SERVER,\ 308 $(filter %.properties,\ 309 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/rmi/server/resources)))) 310 $(eval $(call add_properties_to_clean,SUN_RMI_SERVER_HK,\ 311 $(filter %zh_TW.properties,\ 312 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/rmi/server/resources)),\ 313 %zh_TW,%zh_HK)) 314 315 # sun/tools/jar/resources 316 $(eval $(call add_properties_to_compile,SUN_TOOLS_JAR,\ 317 $(filter %.properties,\ 318 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/tools/jar/resources)),\ 319 ListResourceBundle)) 320 $(eval $(call add_properties_to_compile,SUN_TOOLS_JAR_HK,\ 321 $(filter %.properties,\ 322 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/tools/jar/resources)),\ 323 ListResourceBundle,%zh_TW,%zh_HK)) 324 325 #sun/tools/javac/resources 326 # It's unclear if the other localized property files here are supposed to be copied or not 327 # but the old build system didn't copy them. 328 $(eval $(call add_properties_to_clean,SUN_TOOLS_SERIALVER,\ 329 $(filter %javac.properties,\ 330 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/tools/javac/resources)))) 331 332 #sun/tools/jconsole/resources 333 $(eval $(call add_properties_to_clean,SUN_TOOLS_JCONSOLE,\ 334 $(filter %.properties,\ 335 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/tools/jconsole/resources)))) 336 337 #sun/tools/serialver 338 $(eval $(call add_properties_to_clean,SUN_TOOLS_SERIALVER,\ 339 $(filter %.properties,\ 340 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/tools/serialver)),,,resources)) 341 342 #sun/util/logging/resources 343 $(eval $(call add_properties_to_compile,SUN_UTIL_LOGGING,\ 344 $(filter %.properties,\ 345 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/util/logging/resources)),\ 346 ListResourceBundle)) 347 $(eval $(call add_properties_to_compile,SUN_UTIL_LOGGING_HK,\ 348 $(filter %.properties,\ 349 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/util/logging/resources)),\ 350 ListResourceBundle,%zh_TW,%zh_HK)) 351 # sun/util/resources 352 $(eval $(call add_properties_to_compile,SUN_UTIL,\ 353 $(filter %.properties,\ 354 $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/util/resources)),\ 355 sun.util.resources.LocaleNamesBundle)) 356 357 # Now setup the rule for the generation of the resource bundles. 358 $(JDK_OUTPUTDIR)/gensrc/_the.compiled_properties : $(ALL_COMPILED_PROPSOURCES) $(BUILD_TOOLS) 359 # Generate all output directories in advance since the build tool does not do that... 360 $(MKDIR) -p $(sort $(dir $(ALL_COMPILED_PROPJAVAS))) 361 $(ECHO) Compiling $(words $(ALL_COMPILED_PROPSOURCES)) properties into resource bundles 362 $(call ListPathsSafely,COMPILE_PROPCMDLINE,\n, >> $(JDK_OUTPUTDIR)/gensrc/_the.cmdline) 363 $(TOOL_COMPILEPROPERTIES) -quiet @$(JDK_OUTPUTDIR)/gensrc/_the.cmdline 364 $(TOUCH) $@ 365 366 # Now setup the rule for the generation of the cleaned properties. 367 # FIXME: We currently don't handle removed properties incrementally. 368 $(JDK_OUTPUTDIR)/classes/_the.cleaned_properties : $(ALL_CLEANED_PROPSOURCES) $(BUILD_TOOLS) 369 $(RM) $(JDK_OUTPUTDIR)/classes/_the.cleaned_properties.cmdline 370 # Generate all output directories in advance since the build tool does not do that... 371 $(MKDIR) -p $(sort $(dir $(ALL_CLEANED_PROPOUTPUT))) 372 $(ECHO) Copying and cleaning $(words $(ALL_CLEANED_PROPSOURCES)) properties 373 $(call ListPathsSafely,CLEAN_PROPCMDLINE,\n, >> $(JDK_OUTPUTDIR)/classes/_the.cleaned_properties.cmdline) 374 $(TOOL_STRIPPROPERTIES) @$(JDK_OUTPUTDIR)/classes/_the.cleaned_properties.cmdline 375 $(TOUCH) $@ 376 377 $(ALL_COMPILED_PROPJAVAS) : $(JDK_OUTPUTDIR)/gensrc/_the.compiled_properties 378 379 $(ALL_CLEANED_PROPOUTPUT) : $(JDK_OUTPUTDIR)/classes/_the.cleaned_properties 380 381 382 # Some zh_HK resources are just copied of zh_TW 383 $(JDK_OUTPUTDIR)/gensrc/%_zh_HK.java: $(JDK_TOPDIR)/src/share/classes/%_zh_TW.java 384 $(MKDIR) -p $(@D) 385 $(CAT) $< | $(SED) -e '/class/s/_zh_TW/_zh_HK/' > $@ 386 387 ZH_HK_JAVA:= sun/applet/resources/MsgAppletViewer_zh_HK.java \ 388 sun/misc/resources/Messages_zh_HK.java \ 389 sun/security/util/AuthResources_zh_HK.java \ 390 sun/security/util/Resources_zh_HK.java 391 392 ZH_HK_JAVA_FILES:=$(addprefix $(JDK_OUTPUTDIR)/gensrc/,$(ZH_HK_JAVA)) 393 394 395 GENSRC_PROPERTIES:=$(ALL_COMPILED_PROPJAVAS) $(ALL_CLEANED_PROPOUTPUT) $(ZH_HK_JAVA_FILES)