blob: 5e99b53f0e8dca9ed07701d80c473acdbbe35428 [file] [log] [blame]
erikjaf85fc42012-07-03 16:10:44 -07001#
2# Copyright (c) 2012, 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
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.
43ifeq ($(OPENJDK_TARGET_OS_API),posix)
ohair46fcac92012-09-18 11:29:24 -070044 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
47 INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/bin
48 HOTSPOT_LIB_DIR:=$(HOTSPOT_DIST)/jre/bin
49endif
50
51#######
52
53#
54# jar xf/unzip fails when executing them all in parallel
55# introduce artificial dependency (_DEP) buuhhh
56
57define ImportClasses
58$1_CLASSES_DEP := $$(IMPORT_TARGET_CLASSES)
59IMPORT_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)
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
70$1_SOURCES_DEP := $$(IMPORT_TARGET_SOURCES)
71IMPORT_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)
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
82$1_BINARIES_DEP := $$(IMPORT_TARGET_BINARIES)
83IMPORT_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)
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
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
99IMPORT_TARGET_FILES += $(IMPORT_TARGET_CLASSES) $(IMPORT_TARGET_SOURCES) $(IMPORT_TARGET_BINARIES)
100
101#######
102
erikjaf85fc42012-07-03 16:10:44 -0700103define CopyDir
tbell9eea0b02012-11-12 12:35:20 -0800104 $1_SRC_FILES := $(shell $(FIND) $2 -type f -a \( -name DUMMY $(addprefix -o$(SPACE)-name$(SPACE),$4) \))
erikjaf85fc42012-07-03 16:10:44 -0700105 $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#
tbell9eea0b02012-11-12 12:35:20 -0800117HOTSPOT_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)))
erikjaf85fc42012-07-03 16:10:44 -0700121
ohair46fcac92012-09-18 11:29:24 -0700122JSIG_DEBUGINFO := $(strip $(wildcard $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.debuginfo) \
123 $(wildcard $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.diz) )
erikjaf85fc42012-07-03 16:10:44 -0700124
125ifneq ($(OPENJDK_TARGET_OS), windows)
126 ifeq ($(JVM_VARIANT_SERVER), true)
127 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/server/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
128 ifneq (,$(JSIG_DEBUGINFO))
129 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/server/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
130 endif
131 endif
132 ifeq ($(JVM_VARIANT_CLIENT), true)
133 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/client/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
134 ifneq (,$(JSIG_DEBUGINFO))
135 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/client/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
136 endif
137 endif
dholmes9bfdb142013-01-21 21:54:51 -0500138 ifeq ($(JVM_VARIANT_MINIMAL1), true)
139 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/minimal/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
140 ifneq (,$(JSIG_DEBUGINFO))
141 IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/minimal/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
142 endif
143 endif
erikjaf85fc42012-07-03 16:10:44 -0700144endif
145
146$(INSTALL_LIBRARIES_HERE)/server/%$(SHARED_LIBRARY_SUFFIX) : $(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX)
ohair46fcac92012-09-18 11:29:24 -0700147 $(MKDIR) -p $(@D)
148 $(RM) $@
erikjaf85fc42012-07-03 16:10:44 -0700149 $(LN) -s ../$(@F) $@
150
151$(INSTALL_LIBRARIES_HERE)/server/%.debuginfo : $(INSTALL_LIBRARIES_HERE)/%.debuginfo
ohair46fcac92012-09-18 11:29:24 -0700152 $(MKDIR) -p $(@D)
153 $(RM) $@
erikjaf85fc42012-07-03 16:10:44 -0700154 $(LN) -s ../$(@F) $@
155
156$(INSTALL_LIBRARIES_HERE)/server/%.diz : $(INSTALL_LIBRARIES_HERE)/%.diz
ohair46fcac92012-09-18 11:29:24 -0700157 $(MKDIR) -p $(@D)
158 $(RM) $@
ohair46fcac92012-09-18 11:29:24 -0700159 $(RM) $@.tmp $(basename $@).debuginfo
erikjaf85fc42012-07-03 16:10:44 -0700160 $(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo
erikj967f29d2013-01-16 16:40:16 +0100161 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F)).debuginfo
ohair46fcac92012-09-18 11:29:24 -0700162 $(RM) $(basename $@).debuginfo
163 $(MV) $@.tmp $@
erikjaf85fc42012-07-03 16:10:44 -0700164
165$(INSTALL_LIBRARIES_HERE)/client/%$(SHARED_LIBRARY_SUFFIX) : $(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX)
ohair46fcac92012-09-18 11:29:24 -0700166 $(MKDIR) -p $(@D)
167 $(RM) $@
erikjaf85fc42012-07-03 16:10:44 -0700168 $(LN) -s ../$(@F) $@
169
170$(INSTALL_LIBRARIES_HERE)/client/%.debuginfo : $(INSTALL_LIBRARIES_HERE)/%.debuginfo
ohair46fcac92012-09-18 11:29:24 -0700171 $(MKDIR) -p $(@D)
172 $(RM) $@
erikjaf85fc42012-07-03 16:10:44 -0700173 $(LN) -s ../$(@F) $@
174
175$(INSTALL_LIBRARIES_HERE)/client/%.diz : $(INSTALL_LIBRARIES_HERE)/%.diz
ohair46fcac92012-09-18 11:29:24 -0700176 $(MKDIR) -p $(@D)
177 $(RM) $@
ohair46fcac92012-09-18 11:29:24 -0700178 $(RM) $@.tmp $(basename $@).debuginfo
erikjaf85fc42012-07-03 16:10:44 -0700179 $(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo
erikj967f29d2013-01-16 16:40:16 +0100180 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F)).debuginfo
ohair46fcac92012-09-18 11:29:24 -0700181 $(RM) $(basename $@).debuginfo
182 $(MV) $@.tmp $@
erikjaf85fc42012-07-03 16:10:44 -0700183
dholmes9bfdb142013-01-21 21:54:51 -0500184$(INSTALL_LIBRARIES_HERE)/minimal/%$(SHARED_LIBRARY_SUFFIX) : $(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX)
185 $(MKDIR) -p $(@D)
186 $(RM) $@
187 $(LN) -s ../$(@F) $@
188
189$(INSTALL_LIBRARIES_HERE)/minimal/%.debuginfo : $(INSTALL_LIBRARIES_HERE)/%.debuginfo
190 $(MKDIR) -p $(@D)
191 $(RM) $@
192 $(LN) -s ../$(@F) $@
193
194$(INSTALL_LIBRARIES_HERE)/minimal/%.diz : $(INSTALL_LIBRARIES_HERE)/%.diz
195 $(MKDIR) -p $(@D)
196 $(RM) $@
197 $(RM) $@.tmp $(basename $@).debuginfo
198 $(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo
199 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F)).debuginfo
200 $(RM) $(basename $@).debuginfo
201 $(MV) $@.tmp $@
202
erikjaf85fc42012-07-03 16:10:44 -0700203#######
204
erikjaf85fc42012-07-03 16:10:44 -0700205all: $(IMPORT_TARGET_FILES)