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