author | jmasa |
Fri, 29 Aug 2014 08:14:19 -0700 | |
changeset 26331 | 8f17e084029b |
parent 25859 | 3317bb8137f4 |
child 26192 | 33b90e93e3bf |
permissions | -rw-r--r-- |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
1 |
# |
23010
6dadb192ad81
8029235: Update copyright year to match last edit in jdk8 jdk repository for 2013
lana
parents:
21805
diff
changeset
|
2 |
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
3 |
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
4 |
# |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
5 |
# This code is free software; you can redistribute it and/or modify it |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
6 |
# under the terms of the GNU General Public License version 2 only, as |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
7 |
# published by the Free Software Foundation. Oracle designates this |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
8 |
# particular file as subject to the "Classpath" exception as provided |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
9 |
# by Oracle in the LICENSE file that accompanied this code. |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
10 |
# |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
11 |
# This code is distributed in the hope that it will be useful, but WITHOUT |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
12 |
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
13 |
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
14 |
# version 2 for more details (a copy is included in the LICENSE file that |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
15 |
# accompanied this code). |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
16 |
# |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
17 |
# You should have received a copy of the GNU General Public License version |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
18 |
# 2 along with this work; if not, write to the Free Software Foundation, |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
19 |
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
20 |
# |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
21 |
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
22 |
# or visit www.oracle.com if you need additional information or have any |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
23 |
# questions. |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
24 |
# |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
25 |
|
23347
acb1d044a217
8037281: Improve CacheFind and enable on all platforms
erikj
parents:
23236
diff
changeset
|
26 |
# Prepare the find cache. |
25859 | 27 |
$(eval $(call FillCacheFind, $(wildcard $(JDK_TOPDIR)/src/*/*/classes))) |
15126
bceb690ccf35
8005540: build-infra: Improve incremental build speed on windows by caching find results
erikj
parents:
14231
diff
changeset
|
28 |
|
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
29 |
# All .properties files to be compiled are appended to this variable. |
20547 | 30 |
ALL_COMPILED_PROPSOURCES := |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
31 |
# All generated .java files from compilation are appended to this variable. |
20547 | 32 |
ALL_COMPILED_PROPJAVAS := |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
33 |
# The (very long) command line for compilation, stored in a file, prior to use. |
20547 | 34 |
COMPILE_PROPCMDLINE := |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
35 |
|
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
36 |
define add_properties_to_compile |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
37 |
# $1 is the name of the properties group |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
38 |
# $2 is the files belonging to this group |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
39 |
# $3 is the super class for the generated java file. |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
40 |
|
25859 | 41 |
# Convert <root>/jdk/src/<module>/share/classes/sun/util/resources/CurrencyNames_sv.properties |
42 |
# to <build>/jdk/gensrc/<module/sun/util/resources/CurrencyNames_sv.java |
|
43 |
$1_PROPJAVAS := $$(patsubst $(JDK_TOPDIR)/src/%.properties, \ |
|
44 |
$(JDK_OUTPUTDIR)/gensrc/%.java, \ |
|
45 |
$$(subst /share/classes,, \ |
|
46 |
$$(subst /$(OPENJDK_TARGET_OS_API_DIR)/classes,, \ |
|
47 |
$$(subst /$(OPENJDK_TARGET_OS)/classes,, $2)))) |
|
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
48 |
|
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
49 |
# Accumulate all found properties files. |
20547 | 50 |
ALL_COMPILED_PROPSOURCES += $2 |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
51 |
|
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
52 |
# Generate the list of to be created java files. |
25859 | 53 |
ALL_COMPILED_PROPJAVAS += $$($1_PROPJAVAS) |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
54 |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
55 |
# Now generate a sequence of |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
56 |
# "-compile ...CurrencyNames_sv.properties ...CurrencyNames_sv.java ListResourceBundle" |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
57 |
# suitable to be fed into the CompileProperties command. |
20547 | 58 |
COMPILE_PROPCMDLINE += $$(subst _SPACE_,$(SPACE),$$(join $$(addprefix -compile_SPACE_, $2), \ |
59 |
$$(addsuffix _SPACE_$(strip $3), \ |
|
25859 | 60 |
$$(addprefix _SPACE_, $$($1_PROPJAVAS))))) |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
61 |
endef |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
62 |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
63 |
################################################################################ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
64 |
# Some packages have properties that need to be converted to java source files. |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
65 |
COMPILE_PROP_SRC_FILES := \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
66 |
$(filter %.properties, $(call CacheFind, \ |
25859 | 67 |
$(JDK_TOPDIR)/src/java.desktop/share/classes/com/sun/accessibility/internal/resources \ |
68 |
$(JDK_TOPDIR)/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/resources \ |
|
69 |
$(JDK_TOPDIR)/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/resources \ |
|
70 |
$(JDK_TOPDIR)/src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources \ |
|
71 |
$(JDK_TOPDIR)/src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources \ |
|
72 |
$(JDK_TOPDIR)/src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources \ |
|
73 |
$(JDK_TOPDIR)/src/jdk.jdi/share/classes/com/sun/tools/jdi/resources \ |
|
74 |
$(JDK_TOPDIR)/src/java.desktop/share/classes/sun/awt/resources \ |
|
75 |
$(JDK_TOPDIR)/src/java.base/share/classes/sun/launcher/resources \ |
|
76 |
$(JDK_TOPDIR)/src/java.management/share/classes/sun/management/resources \ |
|
77 |
$(JDK_TOPDIR)/src/java.desktop/share/classes/sun/print/resources \ |
|
78 |
$(JDK_TOPDIR)/src/jdk.dev/share/classes/sun/tools/jar/resources \ |
|
79 |
$(JDK_TOPDIR)/src/jdk.dev/share/classes/jdk/jigsaw/tools/jlink/resources \ |
|
80 |
$(JDK_TOPDIR)/src/java.logging/share/classes/sun/util/logging/resources)) \ |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
81 |
# |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
82 |
|
20547 | 83 |
ifeq ($(OPENJDK_TARGET_OS), macosx) |
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
84 |
COMPILE_PROP_SRC_FILES += \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
85 |
$(filter %.properties, $(call CacheFind, \ |
25859 | 86 |
$(JDK_TOPDIR)/src/java.desktop/macosx/classes/com/apple/laf/resources \ |
87 |
$(JDK_TOPDIR)/src/java.desktop/macosx/classes/sun/awt/resources)) \ |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
88 |
# |
13702 | 89 |
endif |
90 |
||
20547 | 91 |
ifeq ($(OPENJDK_TARGET_OS), windows) |
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
92 |
COMPILE_PROP_SRC_FILES += \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
93 |
$(filter %.properties, $(call CacheFind, \ |
25859 | 94 |
$(JDK_TOPDIR)/src/java.desktop/windows/classes/sun/awt/windows)) \ |
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
95 |
# |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
96 |
else # ! windows |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
97 |
COMPILE_PROP_SRC_FILES += \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
98 |
$(filter %.properties, $(call CacheFind, \ |
25859 | 99 |
$(JDK_TOPDIR)/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/resources)) \ |
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
100 |
# |
20147
78e51d8fcb92
7129133: [macosx] Accelerators are displayed as Meta instead of the Command symbol
leonidr
parents:
16507
diff
changeset
|
101 |
endif |
13702 | 102 |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
103 |
$(eval $(call add_properties_to_compile,LIST_RESOURCE_BUNDLE, \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
104 |
$(COMPILE_PROP_SRC_FILES), ListResourceBundle)) |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
105 |
|
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
106 |
# sun/util/resources |
20547 | 107 |
$(eval $(call add_properties_to_compile,SUN_UTIL, \ |
108 |
$(filter %.properties, \ |
|
25859 | 109 |
$(call CacheFind, $(JDK_TOPDIR)/src/java.base/share/classes/sun/util/resources) \ |
110 |
$(call CacheFind, $(JDK_TOPDIR)/src/jdk.localedata/share/classes/sun/util/resources)), \ |
|
20547 | 111 |
sun.util.resources.LocaleNamesBundle)) |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
112 |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
113 |
################################################################################ |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
114 |
# Now setup the rule for the generation of the resource bundles. |
25859 | 115 |
$(JDK_OUTPUTDIR)/gensrc/_the.compiled_properties: $(ALL_COMPILED_PROPSOURCES) $(BUILD_TOOLS_JDK) |
20547 | 116 |
# Generate all output directories in advance since the build tool does not do that... |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
117 |
$(MKDIR) -p $(sort $(dir $(ALL_COMPILED_PROPJAVAS))) |
12892 | 118 |
$(ECHO) Compiling $(words $(ALL_COMPILED_PROPSOURCES)) properties into resource bundles |
14231 | 119 |
$(call ListPathsSafely,COMPILE_PROPCMDLINE,\n, >> $(JDK_OUTPUTDIR)/gensrc/_the.cmdline) |
120 |
$(TOOL_COMPILEPROPERTIES) -quiet @$(JDK_OUTPUTDIR)/gensrc/_the.cmdline |
|
12892 | 121 |
$(TOUCH) $@ |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
122 |
|
20547 | 123 |
$(ALL_COMPILED_PROPJAVAS): $(JDK_OUTPUTDIR)/gensrc/_the.compiled_properties |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
124 |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
125 |
################################################################################ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
126 |
# Some zh_HK resources are just copies of zh_TW |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
127 |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
128 |
define convert_tw_to_hk |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
129 |
$(MKDIR) -p $(@D) |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
130 |
$(CAT) $< | $(SED) -e '/class/s/_zh_TW/_zh_HK/' > $@ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
131 |
endef |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
132 |
|
25859 | 133 |
# Some are copies of existing sources |
134 |
$(JDK_OUTPUTDIR)/gensrc/java.desktop/%_zh_HK.java: \ |
|
135 |
$(JDK_TOPDIR)/src/java.desktop/share/classes/%_zh_TW.java |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
136 |
$(call convert_tw_to_hk) |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
137 |
|
25859 | 138 |
$(JDK_OUTPUTDIR)/gensrc/java.base/%_zh_HK.java: \ |
139 |
$(JDK_TOPDIR)/src/java.base/share/classes/%_zh_TW.java |
|
140 |
$(call convert_tw_to_hk) |
|
141 |
||
142 |
# Others are copies of sources generated by this makefile |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
143 |
$(JDK_OUTPUTDIR)/gensrc/%_zh_HK.java: $(JDK_OUTPUTDIR)/gensrc/%_zh_TW.java |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
144 |
$(call convert_tw_to_hk) |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
145 |
|
25859 | 146 |
# The existing sources |
147 |
ZH_HK_JAVA := java.desktop/sun/applet/resources/MsgAppletViewer_zh_HK.java \ |
|
148 |
java.base/sun/misc/resources/Messages_zh_HK.java \ |
|
149 |
java.base/sun/security/util/AuthResources_zh_HK.java \ |
|
150 |
java.base/sun/security/util/Resources_zh_HK.java |
|
12892 | 151 |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
152 |
ZH_HK_JAVA_FILES := $(addprefix $(JDK_OUTPUTDIR)/gensrc/, $(ZH_HK_JAVA)) \ |
25859 | 153 |
$(filter-out $(JDK_OUTPUTDIR)/gensrc/jdk.localedata/sun/util/resources/zh/%, \ |
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
154 |
$(subst _zh_TW,_zh_HK,$(filter %_zh_TW.java, $(ALL_COMPILED_PROPJAVAS)))) |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
155 |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
156 |
################################################################################ |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
157 |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
158 |
GENSRC_PROPERTIES := $(ALL_COMPILED_PROPJAVAS) $(ZH_HK_JAVA_FILES) |