|
1 # |
|
2 # Copyright (c) 2012, 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 default: all |
|
27 |
|
28 include $(SPEC) |
|
29 include MakeBase.gmk |
|
30 |
|
31 ####### |
|
32 |
|
33 IMPORT_TARGET_FILES := |
|
34 |
|
35 IMPORT_CLASSES := CORBA JAXP JAXWS LANGTOOLS |
|
36 IMPORT_SOURCES := CORBA JAXP JAXWS LANGTOOLS |
|
37 # Only Corba has binaries |
|
38 IMPORT_BINARIES := CORBA |
|
39 |
|
40 ####### |
|
41 |
|
42 # Put the libraries here. Different locations for different target apis. |
|
43 ifeq ($(OPENJDK_TARGET_OS_API), posix) |
|
44 INSTALL_LIBRARIES_HERE := $(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR) |
|
45 HOTSPOT_LIB_DIR := $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR) |
|
46 else |
|
47 INSTALL_LIBRARIES_HERE := $(JDK_OUTPUTDIR)/bin |
|
48 HOTSPOT_LIB_DIR := $(HOTSPOT_DIST)/jre/bin |
|
49 endif |
|
50 |
|
51 ####### |
|
52 |
|
53 # |
|
54 # jar xf/unzip fails when executing them all in parallel |
|
55 # introduce artificial dependency (_DEP) buuhhh |
|
56 |
|
57 define ImportClasses |
|
58 $1_CLASSES_DEP := $$(IMPORT_TARGET_CLASSES) |
|
59 IMPORT_TARGET_CLASSES += $(JDK_OUTPUTDIR)/classes/_the.$1.classes.imported |
|
60 |
|
61 $(JDK_OUTPUTDIR)/classes/_the.$1.classes.imported: $$($1_DIST)/lib/classes.jar $$($1_CLASSES_DEP) |
|
62 $(ECHO) Importing $1 classes.jar |
|
63 $(MKDIR) -p $$(@D) |
|
64 $(RM) $$@ $$@.tmp |
|
65 ($(CD) $$(@D) && $(JAR) xvf $$< > $$@.tmp) |
|
66 $(MV) $$@.tmp $$@ |
|
67 endef |
|
68 |
|
69 define ImportSources |
|
70 $1_SOURCES_DEP := $$(IMPORT_TARGET_SOURCES) |
|
71 IMPORT_TARGET_SOURCES += $(JDK_OUTPUTDIR)/impsrc/_the.$1.src.imported |
|
72 |
|
73 $(JDK_OUTPUTDIR)/impsrc/_the.$1.src.imported: $$($1_DIST)/lib/src.zip $$($1_SOURCES_DEP) |
|
74 $(ECHO) Importing $1 src.zip |
|
75 $(MKDIR) -p $$(@D) |
|
76 $(RM) $$@ $$@.tmp |
|
77 ($(CD) $$(@D) && $(JAR) xvf $$< > $$@.tmp) |
|
78 $(MV) $$@.tmp $$@ |
|
79 endef |
|
80 |
|
81 define ImportBinaries |
|
82 $1_BINARIES_DEP := $$(IMPORT_TARGET_BINARIES) |
|
83 IMPORT_TARGET_BINARIES += $(JDK_OUTPUTDIR)/_the.$1.binaries.imported |
|
84 |
|
85 $(JDK_OUTPUTDIR)/_the.$1.binaries.imported: $$($1_DIST)/lib/bin.zip $$($1_BINARIES_DEP) |
|
86 $(ECHO) Importing $1 bin.zip |
|
87 $(MKDIR) -p $$(@D) |
|
88 $(RM) $$@ $$@.tmp |
|
89 ($(CD) $$(@D) && $(JAR) xvf $$< > $$@.tmp) |
|
90 $(MV) $$@.tmp $$@ |
|
91 endef |
|
92 |
|
93 ####### |
|
94 |
|
95 $(foreach I, $(IMPORT_CLASSES), $(eval $(call ImportClasses,$I))) |
|
96 $(foreach I, $(IMPORT_SOURCES), $(eval $(call ImportSources,$I))) |
|
97 $(foreach I, $(IMPORT_BINARIES), $(eval $(call ImportBinaries,$I))) |
|
98 |
|
99 IMPORT_TARGET_FILES += $(IMPORT_TARGET_CLASSES) $(IMPORT_TARGET_SOURCES) $(IMPORT_TARGET_BINARIES) |
|
100 |
|
101 ####### |
|
102 |
|
103 define CopyDir |
|
104 $1_SRC_FILES := $(shell $(FIND) $2 -type f -a \( -name DUMMY $(addprefix -o$(SPACE)-name$(SPACE),$4) \)) |
|
105 $1_DST_FILES := $$(patsubst $2/%,$3/%,$$($1_SRC_FILES)) |
|
106 IMPORT_TARGET_FILES += $$($1_DST_FILES) |
|
107 $3/%: $2/% |
|
108 $(ECHO) $(LOG_INFO) Copying $$(@F) |
|
109 $$(install-file) |
|
110 endef |
|
111 |
|
112 ####### |
|
113 |
|
114 # |
|
115 # Import hotspot |
|
116 # |
|
117 HOTSPOT_IMPORT_FILES := $(addprefix $(LIBRARY_PREFIX), jvm.* saproc.* jsig.* sawindbg.* jvm_db.* jvm_dtrace.*) \ |
|
118 Xusage.txt sa-jdi.jar |
|
119 $(eval $(call CopyDir,HOTSPOT0, $(HOTSPOT_LIB_DIR), $(INSTALL_LIBRARIES_HERE), $(HOTSPOT_IMPORT_FILES))) |
|
120 $(eval $(call CopyDir,HOTSPOT1, $(HOTSPOT_DIST)/lib, $(JDK_OUTPUTDIR)/lib, $(HOTSPOT_IMPORT_FILES))) |
|
121 |
|
122 ifeq ($(OPENJDK_TARGET_OS), macosx) |
|
123 JSIG_DEBUGINFO := $(strip $(wildcard $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig$(SHARED_LIBRARY_SUFFIX).dSYM) \ |
|
124 $(wildcard $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.diz) ) |
|
125 else |
|
126 JSIG_DEBUGINFO := $(strip $(wildcard $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.debuginfo) \ |
|
127 $(wildcard $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.diz) ) |
|
128 endif |
|
129 |
|
130 ifneq ($(OPENJDK_TARGET_OS), windows) |
|
131 ifeq ($(JVM_VARIANT_SERVER), true) |
|
132 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/server/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX) |
|
133 ifneq (, $(JSIG_DEBUGINFO)) |
|
134 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/server/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I)) |
|
135 endif |
|
136 endif |
|
137 ifeq ($(JVM_VARIANT_CLIENT), true) |
|
138 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/client/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX) |
|
139 ifneq (, $(JSIG_DEBUGINFO)) |
|
140 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/client/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I)) |
|
141 endif |
|
142 endif |
|
143 ifneq ($(OPENJDK_TARGET_OS), macosx) |
|
144 ifeq ($(JVM_VARIANT_MINIMAL1), true) |
|
145 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/minimal/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX) |
|
146 ifneq (,$(JSIG_DEBUGINFO)) |
|
147 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/minimal/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I)) |
|
148 endif |
|
149 endif |
|
150 endif |
|
151 endif |
|
152 |
|
153 $(INSTALL_LIBRARIES_HERE)/server/%$(SHARED_LIBRARY_SUFFIX): $(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX) |
|
154 $(MKDIR) -p $(@D) |
|
155 $(RM) $@ |
|
156 $(LN) -s ../$(@F) $@ |
|
157 |
|
158 ifeq ($(OPENJDK_TARGET_OS), macosx) |
|
159 $(INSTALL_LIBRARIES_HERE)/server/%.dSYM : $(INSTALL_LIBRARIES_HERE)/%.dSYM |
|
160 $(MKDIR) -p $(@D) |
|
161 $(RM) $@ |
|
162 $(LN) -s ../$(@F) $@ |
|
163 |
|
164 $(INSTALL_LIBRARIES_HERE)/server/%.diz : $(INSTALL_LIBRARIES_HERE)/%.diz |
|
165 $(MKDIR) -p $(@D) |
|
166 $(RM) $@ |
|
167 $(RM) $@.tmp $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM |
|
168 $(LN) -s ../$(basename $(@F))$(SHARED_LIBRARY_SUFFIX).dSYM $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM |
|
169 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F))$(SHARED_LIBRARY_SUFFIX).dSYM |
|
170 $(RM) $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM |
|
171 $(MV) $@.tmp $@ |
|
172 else |
|
173 $(INSTALL_LIBRARIES_HERE)/server/%.debuginfo: $(INSTALL_LIBRARIES_HERE)/%.debuginfo |
|
174 $(MKDIR) -p $(@D) |
|
175 $(RM) $@ |
|
176 $(LN) -s ../$(@F) $@ |
|
177 |
|
178 $(INSTALL_LIBRARIES_HERE)/server/%.diz: $(INSTALL_LIBRARIES_HERE)/%.diz |
|
179 $(MKDIR) -p $(@D) |
|
180 $(RM) $@ |
|
181 $(RM) $@.tmp $(basename $@).debuginfo |
|
182 $(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo |
|
183 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F)).debuginfo |
|
184 $(RM) $(basename $@).debuginfo |
|
185 $(MV) $@.tmp $@ |
|
186 endif |
|
187 |
|
188 $(INSTALL_LIBRARIES_HERE)/client/%$(SHARED_LIBRARY_SUFFIX): $(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX) |
|
189 $(MKDIR) -p $(@D) |
|
190 $(RM) $@ |
|
191 $(LN) -s ../$(@F) $@ |
|
192 |
|
193 ifeq ($(OPENJDK_TARGET_OS), macosx) |
|
194 $(INSTALL_LIBRARIES_HERE)/client/%.dSYM : $(INSTALL_LIBRARIES_HERE)/%.dSYM |
|
195 $(MKDIR) -p $(@D) |
|
196 $(RM) $@ |
|
197 $(LN) -s ../$(@F) $@ |
|
198 |
|
199 $(INSTALL_LIBRARIES_HERE)/client/%.diz : $(INSTALL_LIBRARIES_HERE)/%.diz |
|
200 $(MKDIR) -p $(@D) |
|
201 $(RM) $@ |
|
202 $(RM) $@.tmp $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM |
|
203 $(LN) -s ../$(basename $(@F))$(SHARED_LIBRARY_SUFFIX).dSYM $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM |
|
204 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F))$(SHARED_LIBRARY_SUFFIX).dSYM |
|
205 $(RM) $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM |
|
206 $(MV) $@.tmp $@ |
|
207 else |
|
208 $(INSTALL_LIBRARIES_HERE)/client/%.debuginfo: $(INSTALL_LIBRARIES_HERE)/%.debuginfo |
|
209 $(MKDIR) -p $(@D) |
|
210 $(RM) $@ |
|
211 $(LN) -s ../$(@F) $@ |
|
212 |
|
213 $(INSTALL_LIBRARIES_HERE)/client/%.diz: $(INSTALL_LIBRARIES_HERE)/%.diz |
|
214 $(MKDIR) -p $(@D) |
|
215 $(RM) $@ |
|
216 $(RM) $@.tmp $(basename $@).debuginfo |
|
217 $(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo |
|
218 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F)).debuginfo |
|
219 $(RM) $(basename $@).debuginfo |
|
220 $(MV) $@.tmp $@ |
|
221 endif |
|
222 |
|
223 $(INSTALL_LIBRARIES_HERE)/minimal/%$(SHARED_LIBRARY_SUFFIX): $(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX) |
|
224 $(MKDIR) -p $(@D) |
|
225 $(RM) $@ |
|
226 $(LN) -s ../$(@F) $@ |
|
227 |
|
228 ifneq ($(OPENJDK_TARGET_OS), macosx) |
|
229 $(INSTALL_LIBRARIES_HERE)/minimal/%.debuginfo: $(INSTALL_LIBRARIES_HERE)/%.debuginfo |
|
230 $(MKDIR) -p $(@D) |
|
231 $(RM) $@ |
|
232 $(LN) -s ../$(@F) $@ |
|
233 |
|
234 $(INSTALL_LIBRARIES_HERE)/minimal/%.diz: $(INSTALL_LIBRARIES_HERE)/%.diz |
|
235 $(MKDIR) -p $(@D) |
|
236 $(RM) $@ |
|
237 $(RM) $@.tmp $(basename $@).debuginfo |
|
238 $(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo |
|
239 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F)).debuginfo |
|
240 $(RM) $(basename $@).debuginfo |
|
241 $(MV) $@.tmp $@ |
|
242 endif |
|
243 |
|
244 ########################################################################################## |
|
245 # Unpack the binary distributions of the crypto classes if they exist. |
|
246 SEC_FILES_ZIP := $(JDK_TOPDIR)/make/tools/crypto/sec-bin.zip |
|
247 SEC_FILES_WIN_ZIP := $(JDK_TOPDIR)/make/tools/crypto/sec-windows-bin.zip |
|
248 JGSS_WIN32_FILES_ZIP := $(JDK_TOPDIR)/make/tools/crypto/jgss-windows-i586-bin.zip |
|
249 JGSS_WIN64_FILES_ZIP := $(JDK_TOPDIR)/make/tools/crypto/jgss-windows-x64-bin.zip |
|
250 |
|
251 define unzip-sec-file |
|
252 $(ECHO) Unzipping $(<F) |
|
253 $(MKDIR) -p $(@D) |
|
254 $(RM) $@ |
|
255 ($(CD) $(JDK_OUTPUTDIR) && $(UNZIP) $< > $@.tmp) |
|
256 $(MV) $@.tmp $@ |
|
257 endef |
|
258 |
|
259 $(JDK_OUTPUTDIR)/classes/_the.sec-bin.unzipped: $(SEC_FILES_ZIP) |
|
260 $(call unzip-sec-file) |
|
261 |
|
262 $(JDK_OUTPUTDIR)/classes/_the.sec-windows-bin.unzipped: $(SEC_FILES_WIN_ZIP) |
|
263 $(call unzip-sec-file) |
|
264 |
|
265 $(JDK_OUTPUTDIR)/classes/_the.jgss-windows-i586-bin.unzipped: $(JGSS_WIN32_FILES_ZIP) |
|
266 $(call unzip-sec-file) |
|
267 |
|
268 $(JDK_OUTPUTDIR)/classes/_the.jgss-windows-x64-bin.unzipped: $(JGSS_WIN64_FILES_ZIP) |
|
269 $(call unzip-sec-file) |
|
270 |
|
271 ifneq ($(wildcard $(SEC_FILES_ZIP)), ) |
|
272 IMPORT_TARGET_FILES += $(JDK_OUTPUTDIR)/classes/_the.sec-bin.unzipped |
|
273 ifeq ($(OPENJDK_TARGET_OS), windows) |
|
274 IMPORT_TARGET_FILES += $(JDK_OUTPUTDIR)/classes/_the.sec-windows-bin.unzipped |
|
275 ifeq ($(OPENJDK_TARGET_CPU), x86) |
|
276 IMPORT_TARGET_FILES += $(JDK_OUTPUTDIR)/classes/_the.jgss-windows-i586-bin.unzipped |
|
277 endif |
|
278 ifeq ($(OPENJDK_TARGET_CPU), x86_64) |
|
279 IMPORT_TARGET_FILES += $(JDK_OUTPUTDIR)/classes/_the.jgss-windows-x64-bin.unzipped |
|
280 endif |
|
281 endif |
|
282 endif |
|
283 |
|
284 ########################################################################################## |
|
285 |
|
286 all: $(IMPORT_TARGET_FILES) |