Resources.gmk revision 2362
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# This code is free software; you can redistribute it and/or modify it
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# under the terms of the GNU General Public License version 2 only, as
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# published by the Free Software Foundation. Oracle designates this
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# particular file as subject to the "Classpath" exception as provided
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# by Oracle in the LICENSE file that accompanied this code.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# This code is distributed in the hope that it will be useful, but WITHOUT
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# version 2 for more details (a copy is included in the LICENSE file that
27e52281f1522522b170cafc76b08b58aa70ccaand# accompanied this code).
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# You should have received a copy of the GNU General Public License version
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# 2 along with this work; if not, write to the Free Software Foundation,
4b5981e276e93df97c34e4da05ca5cf8bbd937dand# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# or visit www.oracle.com if you need additional information or have any
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# questions.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Generic mechanism for installing properties files, resource bundles,
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# and other resource files.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# FILES_properties should be defined.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# FILES_compiled_properties should be defined.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# If COMPILED_PROPERTIES_SUPERCLASS is defined, ALL the FILES_properties
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# files will be compiled into java with this super class.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# You can add locales to LOCALE_SUFFIXES explicitly, or use the
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# LOCALE_SET_DEFINITION variable to add some pre-defined locale lists.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# The LOCALE_SET_DEFINITION can have the value: jre, plugin, or jdk.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Resource bundles to be installed are identified using the following variables.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Note that only the file name of the base bundle is given; localized versions
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# are added automatically. For Java files, use a format suitable for inclusion
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# in the FILES_java list; dito for properties, all relative paths.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# NEW_RESOURCE_BUNDLES_JAVA - new resource bundles implemented in
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Java, not localized
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# RESOURCE_BUNDLES_JAVA - resource bundles implemented in
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Java, localized
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# The following variable is now used for most .properties files in the JDK.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# These properties files are converted into java and compiled with javac.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# The resulting .class files are usually smaller and are always faster to load.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# The relative path to the properties file becomes a relative path to a
3a4bee74e997db3681ef3fe735202ba35f52cb98nd# java source file.
3a4bee74e997db3681ef3fe735202ba35f52cb98nd#
b3c7a2279fa7a45f5807d9a404760b9b3760df50nd# RESOURCE_BUNDLES_COMPILED_PROPERTIES - resource bundles implemented as
b3c7a2279fa7a45f5807d9a404760b9b3760df50nd# properties files, localized
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# NEW_RESOURCE_BUNDLES_COMPILED_PROPERTIES - same as above, not localized
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# For non-compiled properties files, use the following variables:
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# NEW_RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES - new resource bundles implemented as
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# properties files, not localized
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES - resource bundles implemented as
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# properties files, localized
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Other properties files to be installed are identified using the variable:
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# OTHER_PROPERTIES
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Compile properties files into java source?
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndifdef COMPILED_PROPERTIES_SUPERCLASS
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd # Add all properties files to the compiled properties list (all or nothing)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd COMPILED_PROPERTIES += $(FILES_compiled_properties) $(FILES_properties)
22d5d84393d960a2027f472036f3fee15d7dbce9ndelse
22d5d84393d960a2027f472036f3fee15d7dbce9nd COMPILED_PROPERTIES_SUPERCLASS = ListResourceBundle
22d5d84393d960a2027f472036f3fee15d7dbce9nd COMPILED_PROPERTIES += $(FILES_compiled_properties)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndendif
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Determine the locale suffixes needed beyond the base bundle
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndifeq ($(LOCALE_SET_DEFINITION), plugin)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd LOCALE_SUFFIXES += $(PLUGIN_LOCALES)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndendif
635e08c1d8332adc365b1c20bbe3577d59ebcd78kessifeq ($(LOCALE_SET_DEFINITION), jdk)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd LOCALE_SUFFIXES += $(JDK_LOCALES)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndendif
ffb88a4885747797937e30a5ac8b1606da3cb4adndifeq ($(LOCALE_SET_DEFINITION), jre)
909ce17e2bd0faef7b1c294f2307f009793fd493nd LOCALE_SUFFIXES += $(JRE_LOCALES)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndendif
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Java files get tacked onto the standard list of files to compile
42af92a661a06b3cebc88d585aad75064a309d51ndRESOURCE_BUNDLE_FILES_java += $(NEW_RESOURCE_BUNDLES_JAVA)
42af92a661a06b3cebc88d585aad75064a309d51ndRESOURCE_BUNDLE_FILES_java += $(RESOURCE_BUNDLES_JAVA) \
ffb88a4885747797937e30a5ac8b1606da3cb4adnd $(foreach file,$(RESOURCE_BUNDLES_JAVA), \
6fe26506780e73be2a412d758af77fafdf03291and $(foreach locale,$(LOCALE_SUFFIXES), \
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(basename $(file))_$(locale).java))
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Add to java sources list
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndFILES_java += $(RESOURCE_BUNDLE_FILES_java)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Compiled properties files are translated to .java.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# The .java files are generated into GENSRCDIR.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndCOMPILED_PROPERTIES += $(NEW_RESOURCE_BUNDLES_COMPILED_PROPERTIES)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndCOMPILED_PROPERTIES += $(RESOURCE_BUNDLES_COMPILED_PROPERTIES) \
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(foreach file,$(RESOURCE_BUNDLES_COMPILED_PROPERTIES),\
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(foreach locale,$(LOCALE_SUFFIXES),\
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(basename $(file))_$(locale)$(suffix $(file))))
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Add to java sources list
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndFILES_java += $(COMPILED_PROPERTIES:%.properties=%.java)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Non-compiled files
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndPROPERTIES_FILES += $(NEW_RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndPROPERTIES_FILES += $(RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES) \
05ede5110427cb9dc071cc671d5aaba5d3b88c79nd $(foreach file,$(RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES), \
e8b603fa9ccf7b17b11b42df6d8916fd97c2331dnd $(foreach locale,$(LOCALE_SUFFIXES), \
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(basename $(file))_$(locale)$(suffix $(file))))
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# other properties
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndPROPERTIES_FILES += $(OTHER_PROPERTIES)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
611049e38bfbaeb173d2d7fab2e44a48753436a1nd# Compile Properties tool
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndCOMPILEPROPERTIES_JARFILE = $(BUILDTOOLJARDIR)/compileproperties.jar
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Strip Properties tool
d8b761beec42bbe2847bb14e3b706642c6eed47cnd#
d8b761beec42bbe2847bb14e3b706642c6eed47cndSTRIPPROPERTIES_JARFILE = $(BUILDTOOLJARDIR)/stripproperties.jar
d8b761beec42bbe2847bb14e3b706642c6eed47cnd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Process and strip all non-compiled properties files (in a batch mode)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
03a4ff9ac4c9b8009249010e7c53bb86ff05915andSTRIP_PROP_FILES = $(PROPERTIES_FILES:%=$(CLASSDESTDIR)/%)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# To efficiently strip properties we use one run of StripProperties.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# This macro gathers an option for use later.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndSTRIP_PROP_options=$(TEMPDIR)/strip_prop_options
6329991d5f023c1c4ae02cfbbda636c66e6392aanddefine install-properties-file
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd$(install-file)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd$(call chmod-file, a+rw)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd@$(ECHO) "# Adding to strip properties list: $@"
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd$(ECHO) "$@" >> $(STRIP_PROP_options)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndendef
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Constructs command line options file
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd$(STRIP_PROP_options): $(STRIP_PROP_FILES)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd @$(TOUCH) $@
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndstrip_prop_options_clean:
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd @$(RM) $(STRIP_PROP_options)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Strip the properties files
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndstrip_all_props: $(STRIPPROPERTIES_JARFILE) $(STRIP_PROP_options)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd @if [ -s $(STRIP_PROP_options) ] ; then \
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(ECHO) "$(BOOT_JAVA_CMD) -jar $(STRIPPROPERTIES_JARFILE) -optionsfile $(STRIP_PROP_options)" ; \
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(BOOT_JAVA_CMD) -jar $(STRIPPROPERTIES_JARFILE) -optionsfile $(STRIP_PROP_options) ; \
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd fi
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd @$(java-vm-cleanup)
a43bfa789f4e52dde53ae8e53fa0427b5c1cf977nd
a43bfa789f4e52dde53ae8e53fa0427b5c1cf977nd#
28c9d384aa958b321280b4ac886941dcad25396bnd# Creates files in CLASSDESTDIR
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# In some cases, we move files from package to resources subdir
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd$(CLASSDESTDIR)/$(PKGDIR)/resources/%.properties: \
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(SHARE_SRC)/classes/$(PKGDIR)/%.properties
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(install-properties-file)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd$(CLASSDESTDIR)/%.properties: $(SHARE_SRC)/classes/%.properties
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(install-properties-file)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd$(CLASSDESTDIR)/%.res: $(SHARE_SRC)/classes/%.res
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(install-file)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd$(CLASSDESTDIR)/%.dtd: $(SHARE_SRC)/classes/%.dtd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(install-file)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd$(CLASSDESTDIR)/%.xml: $(SHARE_SRC)/classes/%.xml
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(install-file)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd$(CLASSDESTDIR)/%.prp: $(SHARE_SRC)/classes/%.prp
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(install-file)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd#
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# To efficiently compile properties into java sources we use one run
898711b68797304101de0882fa576c8908acfae6nd# of compileproperties. This macro gathers an option for use later.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# Note: The properties file and java source name can be different
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# locales, e.g. zh_TW and zh_HK. The java source filename
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd# determines the name of the class.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndCOMPILE_PROP_options=$(TEMPDIR)/compile_prop_options
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nddefine add-property-java-file
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd@$(prep-target)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd@$(ECHO) "# Adding to compile properties list: $? -> $@"
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd$(ECHO) "-compile $? $@ $(COMPILED_PROPERTIES_SUPERCLASS)" \
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd >> $(COMPILE_PROP_options)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndendef
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd$(GENSRCDIR)/%.java: $(PLATFORM_SRC)/classes/%.properties
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(add-property-java-file)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd$(GENSRCDIR)/%.java: $(SHARE_SRC)/classes/%.properties
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(add-property-java-file)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd$(GENSRCDIR)/%.java: $(GENSRCDIR)/%.properties
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(add-property-java-file)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndifndef OPENJDK
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd$(GENSRCDIR)/%.java: $(CLOSED_PLATFORM_SRC)/classes/%.properties
6eed902e5b4d3e016e220bfbf8769a87c4cb242enoodl $(add-property-java-file)
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd$(GENSRCDIR)/%.java: $(CLOSED_SHARE_SRC)/classes/%.properties
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd $(add-property-java-file)
endif
# Create HK java file from zh_TW (explicit resource bundles only)
define create-hk-java-file
@$(prep-target)
$(CAT) $< | $(SED) -e '/class/s/_zh_TW/_zh_HK/' > $@
endef
# Explicit resource bundles
$(GENSRCDIR)/%_zh_HK.java: $(PLATFORM_SRC)/classes/%_zh_TW.java
$(create-hk-java-file)
$(GENSRCDIR)/%_zh_HK.java: $(SHARE_SRC)/classes/%_zh_TW.java
$(create-hk-java-file)
# Compile of zh_HK properties just uses the zh_TW properties files
$(GENSRCDIR)/%_zh_HK.java: $(PLATFORM_SRC)/classes/%_zh_TW.properties
$(add-property-java-file)
$(GENSRCDIR)/%_zh_HK.java: $(SHARE_SRC)/classes/%_zh_TW.properties
$(add-property-java-file)
# Simple delivery of zh_HK properties files just copies zh_TW properties files
$(CLASSDESTDIR)/%_zh_HK.properties: \
$(PLATFORM_SRC)/classes/%_zh_TW.properties
$(install-properties-file)
$(CLASSDESTDIR)/%_zh_HK.properties: \
$(SHARE_SRC)/classes/%_zh_TW.properties
$(install-properties-file)
# List of java files converted from properties files needed
COMPILE_PROP_JAVA_FILES = $(COMPILED_PROPERTIES:%.properties=$(GENSRCDIR)/%.java)
# Constructs command line options file
$(COMPILE_PROP_options): $(COMPILE_PROP_JAVA_FILES)
@$(TOUCH) $@
compile_prop_options_clean:
@$(RM) $(COMPILE_PROP_options)
# Make sure all are compiled, one compiler run
compile_all_props: $(COMPILEPROPERTIES_JARFILE) $(COMPILE_PROP_options)
@if [ `$(CAT) $(COMPILE_PROP_options) | $(WC) -l` -ge 1 ] ; then \
$(MKDIR) -p $(GENSRCDIR); \
$(ECHO) "$(BOOT_JAVA_CMD) -jar $(COMPILEPROPERTIES_JARFILE) -optionsfile $(COMPILE_PROP_options)";\
$(BOOT_JAVA_CMD) -jar $(COMPILEPROPERTIES_JARFILE) -optionsfile $(COMPILE_PROP_options) ; \
$(java-vm-cleanup); \
fi
# Make sure the build rule creates all the properties
resources:
ifneq ($(PROPERTIES_FILES),)
resources: strip_prop_options_clean strip_all_props
clobber clean::
$(RM) $(STRIP_PROP_FILES) $(STRIP_PROP_options)
endif
ifneq ($(COMPILED_PROPERTIES),)
resources: compile_prop_options_clean compile_all_props
clobber clean::
$(RM) $(COMPILE_PROP_JAVA_FILES) $(COMPILE_PROP_options)
endif
.PHONY: resources \
compile_prop_options_clean compile_all_props \
strip_prop_options_clean strip_all_props