GensrcProperties.gmk revision 9330:8b1f1c2a400f
1# 2# Copyright (c) 2011, 2013, 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. 30ALL_COMPILED_PROPSOURCES := 31# All generated .java files from compilation are appended to this variable. 32ALL_COMPILED_PROPJAVAS := 33# The (very long) command line for compilation, stored in a file, prior to use. 34COMPILE_PROPCMDLINE := 35 36# All .properties files to be cleaned are appended to this variable. 37ALL_CLEANED_PROPSOURCES := 38# All generated cleaned .properties files from cleaning are appended to this variable. 39ALL_CLEANED_PROPOUTPUT := 40# The (very long) command line for cleaning, stored in a file, prior to use. 41CLEAN_PROPCMDLINE := 42 43define 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)))))) 71endef 72 73define 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)))) 104endef 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 121ifeq ($(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)) 126endif 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 142ifneq ($(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)) 152endif 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/ 246ifeq ($(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)) 255endif 256# os x specific awt properties 257ifeq ($(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)) 262endif 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 387ZH_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 392ZH_HK_JAVA_FILES := $(addprefix $(JDK_OUTPUTDIR)/gensrc/, $(ZH_HK_JAVA)) 393 394 395GENSRC_PROPERTIES := $(ALL_COMPILED_PROPJAVAS) $(ALL_CLEANED_PROPOUTPUT) $(ZH_HK_JAVA_FILES) 396