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 # Put the libraries here. Different locations for different target apis. 34 ifeq ($(OPENJDK_TARGET_OS_API), posix) 35 INSTALL_LIBRARIES_HERE := $(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR) 36 HOTSPOT_LIB_DIR := $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR) 37 else 38 INSTALL_LIBRARIES_HERE := $(JDK_OUTPUTDIR)/bin 39 HOTSPOT_LIB_DIR := $(HOTSPOT_DIST)/jre/bin 40 endif 41 42 ################################################################################ 43 44 define CopyDir 45 $1_SRC_FILES := $(shell $(FIND) $2 -type f -a \( -name DUMMY $(addprefix -o$(SPACE)-name$(SPACE),$4) \)) 46 $1_DST_FILES := $$(patsubst $2/%,$3/%,$$($1_SRC_FILES)) 47 HOTSPOT_IMPORT_TARGET_FILES += $$($1_DST_FILES) 48 $3/%: $2/% 49 $(ECHO) $(LOG_INFO) Copying $$(@F) 50 $$(install-file) 51 endef 52 53 ################################################################################ 54 55 # 56 # Import hotspot 57 # 58 HOTSPOT_IMPORT_FILES := $(addprefix $(LIBRARY_PREFIX), jvm.* saproc.* jsig.* sawindbg.* jvm_db.* jvm_dtrace.*) \ 59 Xusage.txt sa-jdi.jar 60 $(eval $(call CopyDir,HOTSPOT0, $(HOTSPOT_LIB_DIR), $(INSTALL_LIBRARIES_HERE), $(HOTSPOT_IMPORT_FILES))) 61 $(eval $(call CopyDir,HOTSPOT1, $(HOTSPOT_DIST)/lib, $(JDK_OUTPUTDIR)/lib, $(HOTSPOT_IMPORT_FILES))) 62 63 ifeq ($(OPENJDK_TARGET_OS), macosx) 64 JSIG_DEBUGINFO := $(strip $(wildcard $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig$(SHARED_LIBRARY_SUFFIX).dSYM) \ 65 $(wildcard $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.diz) ) 66 else 67 JSIG_DEBUGINFO := $(strip $(wildcard $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.debuginfo) \ 68 $(wildcard $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.diz) ) 69 endif 70 71 ifneq ($(OPENJDK_TARGET_OS), windows) 72 ifeq ($(JVM_VARIANT_SERVER), true) 73 HOTSPOT_IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/server/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX) 74 ifneq (, $(JSIG_DEBUGINFO)) 75 HOTSPOT_IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/server/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I)) 76 endif 77 endif 78 ifeq ($(JVM_VARIANT_CLIENT), true) 79 HOTSPOT_IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/client/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX) 80 ifneq (, $(JSIG_DEBUGINFO)) 81 HOTSPOT_IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/client/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I)) 82 endif 83 endif 84 ifneq ($(OPENJDK_TARGET_OS), macosx) 85 ifeq ($(JVM_VARIANT_MINIMAL1), true) 86 HOTSPOT_IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/minimal/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX) 87 ifneq (,$(JSIG_DEBUGINFO)) 88 HOTSPOT_IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/minimal/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I)) 89 endif 90 endif 91 endif 92 endif 93 94 $(INSTALL_LIBRARIES_HERE)/server/%$(SHARED_LIBRARY_SUFFIX): $(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX) 95 $(MKDIR) -p $(@D) 96 $(RM) $@ 97 $(LN) -s ../$(@F) $@ 98 99 ifeq ($(OPENJDK_TARGET_OS), macosx) 100 $(INSTALL_LIBRARIES_HERE)/server/%.dSYM : $(INSTALL_LIBRARIES_HERE)/%.dSYM 101 $(MKDIR) -p $(@D) 102 $(RM) $@ 103 $(LN) -s ../$(@F) $@ 104 105 $(INSTALL_LIBRARIES_HERE)/server/%.diz : $(INSTALL_LIBRARIES_HERE)/%.diz 106 $(MKDIR) -p $(@D) 107 $(RM) $@ 108 $(RM) $@.tmp $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM 109 $(LN) -s ../$(basename $(@F))$(SHARED_LIBRARY_SUFFIX).dSYM $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM 110 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F))$(SHARED_LIBRARY_SUFFIX).dSYM 111 $(RM) $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM 112 $(MV) $@.tmp $@ 113 else 114 $(INSTALL_LIBRARIES_HERE)/server/%.debuginfo: $(INSTALL_LIBRARIES_HERE)/%.debuginfo 115 $(MKDIR) -p $(@D) 116 $(RM) $@ 117 $(LN) -s ../$(@F) $@ 118 119 $(INSTALL_LIBRARIES_HERE)/server/%.diz: $(INSTALL_LIBRARIES_HERE)/%.diz 120 $(MKDIR) -p $(@D) 121 $(RM) $@ 122 $(RM) $@.tmp $(basename $@).debuginfo 123 $(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo 124 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F)).debuginfo 125 $(RM) $(basename $@).debuginfo 126 $(MV) $@.tmp $@ 127 endif 128 129 $(INSTALL_LIBRARIES_HERE)/client/%$(SHARED_LIBRARY_SUFFIX): $(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX) 130 $(MKDIR) -p $(@D) 131 $(RM) $@ 132 $(LN) -s ../$(@F) $@ 133 134 ifeq ($(OPENJDK_TARGET_OS), macosx) 135 $(INSTALL_LIBRARIES_HERE)/client/%.dSYM : $(INSTALL_LIBRARIES_HERE)/%.dSYM 136 $(MKDIR) -p $(@D) 137 $(RM) $@ 138 $(LN) -s ../$(@F) $@ 139 140 $(INSTALL_LIBRARIES_HERE)/client/%.diz : $(INSTALL_LIBRARIES_HERE)/%.diz 141 $(MKDIR) -p $(@D) 142 $(RM) $@ 143 $(RM) $@.tmp $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM 144 $(LN) -s ../$(basename $(@F))$(SHARED_LIBRARY_SUFFIX).dSYM $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM 145 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F))$(SHARED_LIBRARY_SUFFIX).dSYM 146 $(RM) $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM 147 $(MV) $@.tmp $@ 148 else 149 $(INSTALL_LIBRARIES_HERE)/client/%.debuginfo: $(INSTALL_LIBRARIES_HERE)/%.debuginfo 150 $(MKDIR) -p $(@D) 151 $(RM) $@ 152 $(LN) -s ../$(@F) $@ 153 154 $(INSTALL_LIBRARIES_HERE)/client/%.diz: $(INSTALL_LIBRARIES_HERE)/%.diz 155 $(MKDIR) -p $(@D) 156 $(RM) $@ 157 $(RM) $@.tmp $(basename $@).debuginfo 158 $(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo 159 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F)).debuginfo 160 $(RM) $(basename $@).debuginfo 161 $(MV) $@.tmp $@ 162 endif 163 164 $(INSTALL_LIBRARIES_HERE)/minimal/%$(SHARED_LIBRARY_SUFFIX): $(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX) 165 $(MKDIR) -p $(@D) 166 $(RM) $@ 167 $(LN) -s ../$(@F) $@ 168 169 ifneq ($(OPENJDK_TARGET_OS), macosx) 170 $(INSTALL_LIBRARIES_HERE)/minimal/%.debuginfo: $(INSTALL_LIBRARIES_HERE)/%.debuginfo 171 $(MKDIR) -p $(@D) 172 $(RM) $@ 173 $(LN) -s ../$(@F) $@ 174 175 $(INSTALL_LIBRARIES_HERE)/minimal/%.diz: $(INSTALL_LIBRARIES_HERE)/%.diz 176 $(MKDIR) -p $(@D) 177 $(RM) $@ 178 $(RM) $@.tmp $(basename $@).debuginfo 179 $(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo 180 $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F)).debuginfo 181 $(RM) $(basename $@).debuginfo 182 $(MV) $@.tmp $@ 183 endif 184 185 ########################################################################################## 186 187 hotspot: $(HOTSPOT_IMPORT_TARGET_FILES) 188 189 all: hotspot 190 191 .PHONY: hotspot all