blob: b115fa7f867eb78547b7cfbf2cca021ce65e5a7b [file] [log] [blame]
erikjaf85fc42012-07-03 16:10:44 -07001#
dholmesbb588872014-12-17 20:25:47 -05002# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
erikjaf85fc42012-07-03 16:10:44 -07003# 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
26default: all
27
28include $(SPEC)
29include MakeBase.gmk
30
31#######
32
33IMPORT_TARGET_FILES :=
34
35IMPORT_CLASSES := CORBA JAXP JAXWS LANGTOOLS
36IMPORT_SOURCES := CORBA JAXP JAXWS LANGTOOLS
37# Only Corba has binaries
38IMPORT_BINARIES := CORBA
39
40#######
41
42# Put the libraries here. Different locations for different target apis.
ihsea29e6222013-10-10 15:06:21 +020043ifeq ($(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)
erikjaf85fc42012-07-03 16:10:44 -070046else
ihsea29e6222013-10-10 15:06:21 +020047 INSTALL_LIBRARIES_HERE := $(JDK_OUTPUTDIR)/bin
48 HOTSPOT_LIB_DIR := $(HOTSPOT_DIST)/jre/bin
erikjaf85fc42012-07-03 16:10:44 -070049endif
50
51#######
52
53#
54# jar xf/unzip fails when executing them all in parallel
ihsea29e6222013-10-10 15:06:21 +020055# introduce artificial dependency (_DEP) buuhhh
erikjaf85fc42012-07-03 16:10:44 -070056
57define ImportClasses
ihsea29e6222013-10-10 15:06:21 +020058 $1_CLASSES_DEP := $$(IMPORT_TARGET_CLASSES)
59 IMPORT_TARGET_CLASSES += $(JDK_OUTPUTDIR)/classes/_the.$1.classes.imported
erikjaf85fc42012-07-03 16:10:44 -070060
ihsea29e6222013-10-10 15:06:21 +020061 $(JDK_OUTPUTDIR)/classes/_the.$1.classes.imported: $$($1_DIST)/lib/classes.jar $$($1_CLASSES_DEP)
erikjaf85fc42012-07-03 16:10:44 -070062 $(ECHO) Importing $1 classes.jar
63 $(MKDIR) -p $$(@D)
ohair46fcac92012-09-18 11:29:24 -070064 $(RM) $$@ $$@.tmp
erikjaf85fc42012-07-03 16:10:44 -070065 ($(CD) $$(@D) && $(JAR) xvf $$< > $$@.tmp)
66 $(MV) $$@.tmp $$@
67endef
68
69define ImportSources
ihsea29e6222013-10-10 15:06:21 +020070 $1_SOURCES_DEP := $$(IMPORT_TARGET_SOURCES)
71 IMPORT_TARGET_SOURCES += $(JDK_OUTPUTDIR)/impsrc/_the.$1.src.imported
erikjaf85fc42012-07-03 16:10:44 -070072
ihsea29e6222013-10-10 15:06:21 +020073 $(JDK_OUTPUTDIR)/impsrc/_the.$1.src.imported: $$($1_DIST)/lib/src.zip $$($1_SOURCES_DEP)
erikjaf85fc42012-07-03 16:10:44 -070074 $(ECHO) Importing $1 src.zip
75 $(MKDIR) -p $$(@D)
ohair46fcac92012-09-18 11:29:24 -070076 $(RM) $$@ $$@.tmp
erikjaf85fc42012-07-03 16:10:44 -070077 ($(CD) $$(@D) && $(JAR) xvf $$< > $$@.tmp)
78 $(MV) $$@.tmp $$@
79endef
80
81define ImportBinaries
ihsea29e6222013-10-10 15:06:21 +020082 $1_BINARIES_DEP := $$(IMPORT_TARGET_BINARIES)
83 IMPORT_TARGET_BINARIES += $(JDK_OUTPUTDIR)/_the.$1.binaries.imported
erikjaf85fc42012-07-03 16:10:44 -070084
ihsea29e6222013-10-10 15:06:21 +020085 $(JDK_OUTPUTDIR)/_the.$1.binaries.imported: $$($1_DIST)/lib/bin.zip $$($1_BINARIES_DEP)
erikjaf85fc42012-07-03 16:10:44 -070086 $(ECHO) Importing $1 bin.zip
87 $(MKDIR) -p $$(@D)
ohair46fcac92012-09-18 11:29:24 -070088 $(RM) $$@ $$@.tmp
erikjaf85fc42012-07-03 16:10:44 -070089 ($(CD) $$(@D) && $(JAR) xvf $$< > $$@.tmp)
90 $(MV) $$@.tmp $$@
91endef
92
93#######
94
ihsea29e6222013-10-10 15:06:21 +020095$(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)))
erikjaf85fc42012-07-03 16:10:44 -070098
99IMPORT_TARGET_FILES += $(IMPORT_TARGET_CLASSES) $(IMPORT_TARGET_SOURCES) $(IMPORT_TARGET_BINARIES)
100
101#######
102
erikjaf85fc42012-07-03 16:10:44 -0700103define CopyDir
ihsea29e6222013-10-10 15:06:21 +0200104 $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/%
ohairb71409c2012-10-26 14:23:29 -0700108 $(ECHO) $(LOG_INFO) Copying $$(@F)
erikjc784c0e2013-02-18 11:27:43 +0100109 $$(install-file)
erikjaf85fc42012-07-03 16:10:44 -0700110endef
111
112#######
113
114#
115# Import hotspot
116#
ihsea29e6222013-10-10 15:06:21 +0200117HOTSPOT_IMPORT_FILES := $(addprefix $(LIBRARY_PREFIX), jvm.* saproc.* jsig.* sawindbg.* jvm_db.* jvm_dtrace.*) \
118 Xusage.txt sa-jdi.jar
dholmesbb588872014-12-17 20:25:47 -0500119
120ifeq ($(OPENJDK_TARGET_OS), macosx)
121 # additional debug file
122 HOTSPOT_IMPORT_FILES += Info.plist
123endif
124
tbell9eea0b02012-11-12 12:35:20 -0800125$(eval $(call CopyDir,HOTSPOT0, $(HOTSPOT_LIB_DIR), $(INSTALL_LIBRARIES_HERE), $(HOTSPOT_IMPORT_FILES)))
126$(eval $(call CopyDir,HOTSPOT1, $(HOTSPOT_DIST)/lib, $(JDK_OUTPUTDIR)/lib, $(HOTSPOT_IMPORT_FILES)))
erikjaf85fc42012-07-03 16:10:44 -0700127
dcubedb2db7f02013-10-15 08:26:38 -0700128ifeq ($(OPENJDK_TARGET_OS), macosx)
erikja0cf85d2013-10-29 15:44:30 +0100129 JSIG_DEBUGINFO := $(strip $(wildcard $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig$(SHARED_LIBRARY_SUFFIX).dSYM) \
130 $(wildcard $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.diz) )
dcubedb2db7f02013-10-15 08:26:38 -0700131else
dcubed10a5a932013-10-25 10:16:40 -0700132 JSIG_DEBUGINFO := $(strip $(wildcard $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.debuginfo) \
erikja0cf85d2013-10-29 15:44:30 +0100133 $(wildcard $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.diz) )
dcubedb2db7f02013-10-15 08:26:38 -0700134endif
erikjaf85fc42012-07-03 16:10:44 -0700135
136ifneq ($(OPENJDK_TARGET_OS), windows)
ihsea29e6222013-10-10 15:06:21 +0200137 ifeq ($(JVM_VARIANT_SERVER), true)
138 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/server/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
139 ifneq (, $(JSIG_DEBUGINFO))
140 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/server/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
erikjaf85fc42012-07-03 16:10:44 -0700141 endif
ihsea29e6222013-10-10 15:06:21 +0200142 endif
143 ifeq ($(JVM_VARIANT_CLIENT), true)
144 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/client/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
145 ifneq (, $(JSIG_DEBUGINFO))
146 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/client/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
erikjaf85fc42012-07-03 16:10:44 -0700147 endif
ihsea29e6222013-10-10 15:06:21 +0200148 endif
dcubed10a5a932013-10-25 10:16:40 -0700149 ifneq ($(OPENJDK_TARGET_OS), macosx)
150 ifeq ($(JVM_VARIANT_MINIMAL1), true)
151 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/minimal/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
152 ifneq (,$(JSIG_DEBUGINFO))
153 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/minimal/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
154 endif
dholmes9bfdb142013-01-21 21:54:51 -0500155 endif
dcubed10a5a932013-10-25 10:16:40 -0700156 endif
erikjaf85fc42012-07-03 16:10:44 -0700157endif
158
ihsea29e6222013-10-10 15:06:21 +0200159$(INSTALL_LIBRARIES_HERE)/server/%$(SHARED_LIBRARY_SUFFIX): $(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX)
ohair46fcac92012-09-18 11:29:24 -0700160 $(MKDIR) -p $(@D)
161 $(RM) $@
erikjaf85fc42012-07-03 16:10:44 -0700162 $(LN) -s ../$(@F) $@
163
dcubedb2db7f02013-10-15 08:26:38 -0700164ifeq ($(OPENJDK_TARGET_OS), macosx)
erikja0cf85d2013-10-29 15:44:30 +0100165 $(INSTALL_LIBRARIES_HERE)/server/%.dSYM : $(INSTALL_LIBRARIES_HERE)/%.dSYM
dcubedb2db7f02013-10-15 08:26:38 -0700166 $(MKDIR) -p $(@D)
167 $(RM) $@
168 $(LN) -s ../$(@F) $@
169
erikja0cf85d2013-10-29 15:44:30 +0100170 $(INSTALL_LIBRARIES_HERE)/server/%.diz : $(INSTALL_LIBRARIES_HERE)/%.diz
dcubedb2db7f02013-10-15 08:26:38 -0700171 $(MKDIR) -p $(@D)
172 $(RM) $@
erikja0cf85d2013-10-29 15:44:30 +0100173 $(RM) $@.tmp $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM
174 $(LN) -s ../$(basename $(@F))$(SHARED_LIBRARY_SUFFIX).dSYM $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM
175 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F))$(SHARED_LIBRARY_SUFFIX).dSYM
176 $(RM) $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM
dcubedb2db7f02013-10-15 08:26:38 -0700177 $(MV) $@.tmp $@
178else
erikja0cf85d2013-10-29 15:44:30 +0100179 $(INSTALL_LIBRARIES_HERE)/server/%.debuginfo: $(INSTALL_LIBRARIES_HERE)/%.debuginfo
ohair46fcac92012-09-18 11:29:24 -0700180 $(MKDIR) -p $(@D)
181 $(RM) $@
erikjaf85fc42012-07-03 16:10:44 -0700182 $(LN) -s ../$(@F) $@
183
erikja0cf85d2013-10-29 15:44:30 +0100184 $(INSTALL_LIBRARIES_HERE)/server/%.diz: $(INSTALL_LIBRARIES_HERE)/%.diz
ohair46fcac92012-09-18 11:29:24 -0700185 $(MKDIR) -p $(@D)
186 $(RM) $@
ohair46fcac92012-09-18 11:29:24 -0700187 $(RM) $@.tmp $(basename $@).debuginfo
erikjaf85fc42012-07-03 16:10:44 -0700188 $(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo
erikj967f29d2013-01-16 16:40:16 +0100189 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F)).debuginfo
ohair46fcac92012-09-18 11:29:24 -0700190 $(RM) $(basename $@).debuginfo
191 $(MV) $@.tmp $@
dcubedb2db7f02013-10-15 08:26:38 -0700192endif
erikjaf85fc42012-07-03 16:10:44 -0700193
ihsea29e6222013-10-10 15:06:21 +0200194$(INSTALL_LIBRARIES_HERE)/client/%$(SHARED_LIBRARY_SUFFIX): $(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX)
ohair46fcac92012-09-18 11:29:24 -0700195 $(MKDIR) -p $(@D)
196 $(RM) $@
erikjaf85fc42012-07-03 16:10:44 -0700197 $(LN) -s ../$(@F) $@
198
dcubedb2db7f02013-10-15 08:26:38 -0700199ifeq ($(OPENJDK_TARGET_OS), macosx)
erikja0cf85d2013-10-29 15:44:30 +0100200 $(INSTALL_LIBRARIES_HERE)/client/%.dSYM : $(INSTALL_LIBRARIES_HERE)/%.dSYM
dcubedb2db7f02013-10-15 08:26:38 -0700201 $(MKDIR) -p $(@D)
202 $(RM) $@
203 $(LN) -s ../$(@F) $@
204
erikja0cf85d2013-10-29 15:44:30 +0100205 $(INSTALL_LIBRARIES_HERE)/client/%.diz : $(INSTALL_LIBRARIES_HERE)/%.diz
dcubedb2db7f02013-10-15 08:26:38 -0700206 $(MKDIR) -p $(@D)
207 $(RM) $@
erikja0cf85d2013-10-29 15:44:30 +0100208 $(RM) $@.tmp $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM
209 $(LN) -s ../$(basename $(@F))$(SHARED_LIBRARY_SUFFIX).dSYM $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM
210 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F))$(SHARED_LIBRARY_SUFFIX).dSYM
211 $(RM) $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM
dcubedb2db7f02013-10-15 08:26:38 -0700212 $(MV) $@.tmp $@
213else
erikja0cf85d2013-10-29 15:44:30 +0100214 $(INSTALL_LIBRARIES_HERE)/client/%.debuginfo: $(INSTALL_LIBRARIES_HERE)/%.debuginfo
ohair46fcac92012-09-18 11:29:24 -0700215 $(MKDIR) -p $(@D)
216 $(RM) $@
erikjaf85fc42012-07-03 16:10:44 -0700217 $(LN) -s ../$(@F) $@
218
erikja0cf85d2013-10-29 15:44:30 +0100219 $(INSTALL_LIBRARIES_HERE)/client/%.diz: $(INSTALL_LIBRARIES_HERE)/%.diz
ohair46fcac92012-09-18 11:29:24 -0700220 $(MKDIR) -p $(@D)
221 $(RM) $@
ohair46fcac92012-09-18 11:29:24 -0700222 $(RM) $@.tmp $(basename $@).debuginfo
erikjaf85fc42012-07-03 16:10:44 -0700223 $(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo
erikj967f29d2013-01-16 16:40:16 +0100224 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F)).debuginfo
ohair46fcac92012-09-18 11:29:24 -0700225 $(RM) $(basename $@).debuginfo
226 $(MV) $@.tmp $@
dcubedb2db7f02013-10-15 08:26:38 -0700227endif
erikjaf85fc42012-07-03 16:10:44 -0700228
ihsea29e6222013-10-10 15:06:21 +0200229$(INSTALL_LIBRARIES_HERE)/minimal/%$(SHARED_LIBRARY_SUFFIX): $(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX)
dholmes9bfdb142013-01-21 21:54:51 -0500230 $(MKDIR) -p $(@D)
231 $(RM) $@
232 $(LN) -s ../$(@F) $@
233
dcubedb2db7f02013-10-15 08:26:38 -0700234ifneq ($(OPENJDK_TARGET_OS), macosx)
erikja0cf85d2013-10-29 15:44:30 +0100235 $(INSTALL_LIBRARIES_HERE)/minimal/%.debuginfo: $(INSTALL_LIBRARIES_HERE)/%.debuginfo
dholmes9bfdb142013-01-21 21:54:51 -0500236 $(MKDIR) -p $(@D)
237 $(RM) $@
238 $(LN) -s ../$(@F) $@
239
erikja0cf85d2013-10-29 15:44:30 +0100240 $(INSTALL_LIBRARIES_HERE)/minimal/%.diz: $(INSTALL_LIBRARIES_HERE)/%.diz
dholmes9bfdb142013-01-21 21:54:51 -0500241 $(MKDIR) -p $(@D)
242 $(RM) $@
243 $(RM) $@.tmp $(basename $@).debuginfo
244 $(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo
245 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F)).debuginfo
246 $(RM) $(basename $@).debuginfo
247 $(MV) $@.tmp $@
dcubedb2db7f02013-10-15 08:26:38 -0700248endif
dholmes9bfdb142013-01-21 21:54:51 -0500249
erikj41f82602013-06-11 13:26:15 +0200250##########################################################################################
251# Unpack the binary distributions of the crypto classes if they exist.
ihsea29e6222013-10-10 15:06:21 +0200252SEC_FILES_ZIP := $(JDK_TOPDIR)/make/tools/crypto/sec-bin.zip
253SEC_FILES_WIN_ZIP := $(JDK_TOPDIR)/make/tools/crypto/sec-windows-bin.zip
254JGSS_WIN32_FILES_ZIP := $(JDK_TOPDIR)/make/tools/crypto/jgss-windows-i586-bin.zip
255JGSS_WIN64_FILES_ZIP := $(JDK_TOPDIR)/make/tools/crypto/jgss-windows-x64-bin.zip
erikj41f82602013-06-11 13:26:15 +0200256
257define unzip-sec-file
258 $(ECHO) Unzipping $(<F)
259 $(MKDIR) -p $(@D)
260 $(RM) $@
erikjd22fbd22014-03-18 14:55:34 +0100261 ($(CD) $(JDK_OUTPUTDIR) && $(UNZIP) -q -o $< > $@.tmp)
erikj41f82602013-06-11 13:26:15 +0200262 $(MV) $@.tmp $@
263endef
264
265$(JDK_OUTPUTDIR)/classes/_the.sec-bin.unzipped: $(SEC_FILES_ZIP)
266 $(call unzip-sec-file)
267
268$(JDK_OUTPUTDIR)/classes/_the.sec-windows-bin.unzipped: $(SEC_FILES_WIN_ZIP)
269 $(call unzip-sec-file)
270
271$(JDK_OUTPUTDIR)/classes/_the.jgss-windows-i586-bin.unzipped: $(JGSS_WIN32_FILES_ZIP)
272 $(call unzip-sec-file)
273
274$(JDK_OUTPUTDIR)/classes/_the.jgss-windows-x64-bin.unzipped: $(JGSS_WIN64_FILES_ZIP)
275 $(call unzip-sec-file)
276
ihsea29e6222013-10-10 15:06:21 +0200277ifneq ($(wildcard $(SEC_FILES_ZIP)), )
erikj41f82602013-06-11 13:26:15 +0200278 IMPORT_TARGET_FILES += $(JDK_OUTPUTDIR)/classes/_the.sec-bin.unzipped
ihsea29e6222013-10-10 15:06:21 +0200279 ifeq ($(OPENJDK_TARGET_OS), windows)
erikj41f82602013-06-11 13:26:15 +0200280 IMPORT_TARGET_FILES += $(JDK_OUTPUTDIR)/classes/_the.sec-windows-bin.unzipped
ihsea29e6222013-10-10 15:06:21 +0200281 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikj41f82602013-06-11 13:26:15 +0200282 IMPORT_TARGET_FILES += $(JDK_OUTPUTDIR)/classes/_the.jgss-windows-i586-bin.unzipped
283 endif
ihsea29e6222013-10-10 15:06:21 +0200284 ifeq ($(OPENJDK_TARGET_CPU), x86_64)
erikj41f82602013-06-11 13:26:15 +0200285 IMPORT_TARGET_FILES += $(JDK_OUTPUTDIR)/classes/_the.jgss-windows-x64-bin.unzipped
286 endif
287 endif
288endif
289
290##########################################################################################
erikjaf85fc42012-07-03 16:10:44 -0700291
erikjaf85fc42012-07-03 16:10:44 -0700292all: $(IMPORT_TARGET_FILES)