author | erikj |
Fri, 07 Mar 2014 15:01:32 +0100 | |
changeset 23236 | 7c5997f59e20 |
parent 23010 | 6dadb192ad81 |
child 23347 | acb1d044a217 |
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 |
|
15126
bceb690ccf35
8005540: build-infra: Improve incremental build speed on windows by caching find results
erikj
parents:
14231
diff
changeset
|
26 |
# Prepare the find cache. This is only used on windows. |
20547 | 27 |
$(eval $(call FillCacheFind, $(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/windows/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 |
|
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
41 |
# Strip away prefix and suffix, |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
42 |
# leaving for example: sun/util/resources/CurrencyNames_sv |
20547 | 43 |
$1_PROPPATHS := $$(patsubst $(JDK_TOPDIR)/src/windows/classes/%.properties, %, \ |
44 |
$$(patsubst $(JDK_TOPDIR)/src/macosx/classes/%.properties, %, \ |
|
45 |
$$(patsubst $(JDK_TOPDIR)/src/share/classes/%.properties, %, $2))) |
|
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
46 |
|
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
47 |
# Accumulate all found properties files. |
20547 | 48 |
ALL_COMPILED_PROPSOURCES += $2 |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
49 |
|
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
50 |
# Generate the list of to be created java files. |
20547 | 51 |
ALL_COMPILED_PROPJAVAS += $$(patsubst %, $(JDK_OUTPUTDIR)/gensrc/%.java, $$($1_PROPPATHS)) |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
52 |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
53 |
# Now generate a sequence of |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
54 |
# "-compile ...CurrencyNames_sv.properties ...CurrencyNames_sv.java ListResourceBundle" |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
55 |
# suitable to be fed into the CompileProperties command. |
20547 | 56 |
COMPILE_PROPCMDLINE += $$(subst _SPACE_,$(SPACE),$$(join $$(addprefix -compile_SPACE_, $2), \ |
57 |
$$(addsuffix _SPACE_$(strip $3), \ |
|
58 |
$$(addprefix _SPACE_$(JDK_OUTPUTDIR)/gensrc/, \ |
|
59 |
$$(addsuffix .java, $$($1_PROPPATHS)))))) |
|
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
60 |
endef |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
61 |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
62 |
################################################################################ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
63 |
# 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
|
64 |
COMPILE_PROP_SRC_FILES := \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
65 |
$(filter %.properties, $(call CacheFind, \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
66 |
$(JDK_TOPDIR)/src/share/classes/com/sun/accessibility/internal/resources \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
67 |
$(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/motif/resources \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
68 |
$(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/windows/resources \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
69 |
$(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/basic/resources \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
70 |
$(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/metal/resources \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
71 |
$(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/synth/resources \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
72 |
$(JDK_TOPDIR)/src/share/classes/com/sun/tools/jdi/resources \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
73 |
$(JDK_TOPDIR)/src/share/classes/sun/awt/resources \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
74 |
$(JDK_TOPDIR)/src/share/classes/sun/launcher/resources \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
75 |
$(JDK_TOPDIR)/src/share/classes/sun/management/resources \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
76 |
$(JDK_TOPDIR)/src/share/classes/sun/print/resources \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
77 |
$(JDK_TOPDIR)/src/share/classes/sun/tools/jar/resources \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
78 |
$(JDK_TOPDIR)/src/share/classes/sun/util/logging/resources)) \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
79 |
# |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
80 |
|
20547 | 81 |
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
|
82 |
COMPILE_PROP_SRC_FILES += \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
83 |
$(filter %.properties, $(call CacheFind, \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
84 |
$(JDK_TOPDIR)/src/macosx/classes/com/apple/laf/resources \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
85 |
$(JDK_TOPDIR)/src/macosx/classes/sun/awt/resources)) \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
86 |
# |
13702 | 87 |
endif |
88 |
||
20547 | 89 |
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
|
90 |
COMPILE_PROP_SRC_FILES += \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
91 |
$(filter %.properties, $(call CacheFind, \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
92 |
$(JDK_TOPDIR)/src/windows/classes/sun/awt/windows)) \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
93 |
# |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
94 |
else # ! windows |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
95 |
COMPILE_PROP_SRC_FILES += \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
96 |
$(filter %.properties, $(call CacheFind, \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
97 |
$(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/gtk/resources)) \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
98 |
# |
20147
78e51d8fcb92
7129133: [macosx] Accelerators are displayed as Meta instead of the Command symbol
leonidr
parents:
16507
diff
changeset
|
99 |
endif |
13702 | 100 |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
101 |
$(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
|
102 |
$(COMPILE_PROP_SRC_FILES), ListResourceBundle)) |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
103 |
|
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
104 |
# sun/util/resources |
20547 | 105 |
$(eval $(call add_properties_to_compile,SUN_UTIL, \ |
106 |
$(filter %.properties, \ |
|
107 |
$(call CacheFind, $(JDK_TOPDIR)/src/share/classes/sun/util/resources)), \ |
|
108 |
sun.util.resources.LocaleNamesBundle)) |
|
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
109 |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
110 |
################################################################################ |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
111 |
# Now setup the rule for the generation of the resource bundles. |
20547 | 112 |
$(JDK_OUTPUTDIR)/gensrc/_the.compiled_properties: $(ALL_COMPILED_PROPSOURCES) $(BUILD_TOOLS) |
113 |
# 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
|
114 |
$(MKDIR) -p $(sort $(dir $(ALL_COMPILED_PROPJAVAS))) |
12892 | 115 |
$(ECHO) Compiling $(words $(ALL_COMPILED_PROPSOURCES)) properties into resource bundles |
14231 | 116 |
$(call ListPathsSafely,COMPILE_PROPCMDLINE,\n, >> $(JDK_OUTPUTDIR)/gensrc/_the.cmdline) |
117 |
$(TOOL_COMPILEPROPERTIES) -quiet @$(JDK_OUTPUTDIR)/gensrc/_the.cmdline |
|
12892 | 118 |
$(TOUCH) $@ |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
119 |
|
20547 | 120 |
$(ALL_COMPILED_PROPJAVAS): $(JDK_OUTPUTDIR)/gensrc/_the.compiled_properties |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
121 |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
122 |
################################################################################ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
123 |
# Some zh_HK resources are just copies of zh_TW |
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 |
define convert_tw_to_hk |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
126 |
$(MKDIR) -p $(@D) |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
127 |
$(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
|
128 |
endef |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
129 |
|
14231 | 130 |
$(JDK_OUTPUTDIR)/gensrc/%_zh_HK.java: $(JDK_TOPDIR)/src/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
|
131 |
$(call convert_tw_to_hk) |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
132 |
|
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
133 |
$(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
|
134 |
$(call convert_tw_to_hk) |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
135 |
|
20547 | 136 |
ZH_HK_JAVA := sun/applet/resources/MsgAppletViewer_zh_HK.java \ |
137 |
sun/misc/resources/Messages_zh_HK.java \ |
|
138 |
sun/security/util/AuthResources_zh_HK.java \ |
|
139 |
sun/security/util/Resources_zh_HK.java |
|
12892 | 140 |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
141 |
ZH_HK_JAVA_FILES := $(addprefix $(JDK_OUTPUTDIR)/gensrc/, $(ZH_HK_JAVA)) \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
142 |
$(filter-out $(JDK_OUTPUTDIR)/gensrc/sun/util/resources/zh/%, \ |
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
143 |
$(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
|
144 |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
145 |
################################################################################ |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
146 |
|
23236
7c5997f59e20
8036611: Cleanup of handling of properties and other java resources in the build
erikj
parents:
23010
diff
changeset
|
147 |
GENSRC_PROPERTIES := $(ALL_COMPILED_PROPJAVAS) $(ZH_HK_JAVA_FILES) |