1 #
   2 # Copyright (c) 2012, 2016, 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 OS types.
  34 ifneq ($(OPENJDK_TARGET_OS), windows)
  35   HOTSPOT_LIB_DIR := $(HOTSPOT_DIST)/lib$(OPENJDK_TARGET_CPU_LIBDIR)
  36   BASE_INSTALL_LIBRARIES_HERE := $(SUPPORT_OUTPUTDIR)/modules_libs/java.base$(OPENJDK_TARGET_CPU_LIBDIR)
  37 else
  38   HOTSPOT_LIB_DIR := $(HOTSPOT_DIST)/bin
  39   BASE_INSTALL_LIBRARIES_HERE := $(SUPPORT_OUTPUTDIR)/modules_libs/java.base
  40 endif
  41 
  42 ################################################################################
  43 #
  44 # Import hotspot
  45 #
  46 
  47 # Don't import jsig library for static builds
  48 ifneq ($(STATIC_BUILD), true)
  49   JSIG_IMPORT = jsig.*
  50 else
  51   JSIG_IMPORT =
  52 endif
  53 
  54 HOTSPOT_BASE_IMPORT_FILES := \
  55     $(addprefix $(LIBRARY_PREFIX), jvm.* $(JSIG_IMPORT) jvm_db.* jvm_dtrace.*) \
  56     Xusage.txt \
  57     #
  58 
  59 $(eval $(call SetupCopyFiles,COPY_HOTSPOT_BASE, \
  60     SRC := $(HOTSPOT_LIB_DIR), \
  61     DEST := $(BASE_INSTALL_LIBRARIES_HERE), \
  62     FILES := $(shell $(FIND) $(HOTSPOT_LIB_DIR) -type f  \
  63         -a \( -name DUMMY $(addprefix -o$(SPACE)-name$(SPACE), $(HOTSPOT_BASE_IMPORT_FILES)) \) )))
  64 
  65 ifeq ($(OPENJDK_TARGET_OS), windows)
  66   $(eval $(call SetupCopyFiles,COPY_HOTSPOT_BASE_JVMLIB, \
  67       SRC := $(HOTSPOT_DIST)/lib, \
  68       DEST := $(BASE_INSTALL_LIBRARIES_HERE), \
  69       FILES := $(wildcard $(HOTSPOT_DIST)/lib/*.lib)))
  70 endif
  71 
  72 BASE_TARGETS := $(COPY_HOTSPOT_BASE) $(COPY_HOTSPOT_BASE_JVMLIB)
  73 
  74 ################################################################################
  75 
  76 ifneq ($(STATIC_BUILD), true)
  77   ifeq ($(OPENJDK_TARGET_OS), macosx)
  78     JSIG_DEBUGINFO := $(strip $(wildcard $(HOTSPOT_DIST)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig$(SHARED_LIBRARY_SUFFIX).dSYM) \
  79         $(wildcard $(HOTSPOT_DIST)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.diz) )
  80   else
  81     JSIG_DEBUGINFO := $(strip $(wildcard $(HOTSPOT_DIST)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.debuginfo) \
  82         $(wildcard $(HOTSPOT_DIST)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.diz) )
  83   endif
  84 
  85   ifneq ($(OPENJDK_TARGET_OS), windows)
  86     ifeq ($(call check-jvm-variant, server), true)
  87       BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/server/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
  88       ifneq (, $(JSIG_DEBUGINFO))
  89         BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/server/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
  90       endif
  91     endif
  92     ifeq ($(call check-jvm-variant, client), true)
  93       BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/client/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
  94       ifneq (, $(JSIG_DEBUGINFO))
  95         BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/client/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
  96       endif
  97     endif
  98     ifneq ($(OPENJDK_TARGET_OS), macosx)
  99       ifeq ($(call check-jvm-variant, minimal), true)
 100         BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/minimal/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
 101         ifneq (,$(JSIG_DEBUGINFO))
 102           BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/minimal/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
 103         endif
 104       endif
 105     endif
 106   endif
 107 endif
 108 
 109 $(BASE_INSTALL_LIBRARIES_HERE)/server/%$(SHARED_LIBRARY_SUFFIX): $(BASE_INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX)
 110         $(MKDIR) -p $(@D)
 111         $(RM) $@
 112         $(LN) -s ../$(@F) $@
 113 
 114 ifeq ($(OPENJDK_TARGET_OS), macosx)
 115   $(BASE_INSTALL_LIBRARIES_HERE)/server/%.dSYM:
 116         $(MKDIR) -p $(@D)
 117         $(RM) $@
 118         $(LN) -s ../$(@F) $@
 119 
 120   $(BASE_INSTALL_LIBRARIES_HERE)/server/%.diz : $(BASE_INSTALL_LIBRARIES_HERE)/%.diz
 121         $(MKDIR) -p $(@D)
 122         $(RM) $@
 123         $(RM) $@.tmp $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM
 124         $(LN) -s ../$(basename $(@F))$(SHARED_LIBRARY_SUFFIX).dSYM $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM
 125         $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F))$(SHARED_LIBRARY_SUFFIX).dSYM
 126         $(RM) $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM
 127         $(MV) $@.tmp $@
 128 else
 129   $(BASE_INSTALL_LIBRARIES_HERE)/server/%.debuginfo: $(BASE_INSTALL_LIBRARIES_HERE)/%.debuginfo
 130         $(MKDIR) -p $(@D)
 131         $(RM) $@
 132         $(LN) -s ../$(@F) $@
 133 
 134   $(BASE_INSTALL_LIBRARIES_HERE)/server/%.diz: $(BASE_INSTALL_LIBRARIES_HERE)/%.diz
 135         $(MKDIR) -p $(@D)
 136         $(RM) $@
 137         $(RM) $@.tmp $(basename $@).debuginfo
 138         $(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo
 139         $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F)).debuginfo
 140         $(RM) $(basename $@).debuginfo
 141         $(MV) $@.tmp $@
 142 endif
 143 
 144 $(BASE_INSTALL_LIBRARIES_HERE)/client/%$(SHARED_LIBRARY_SUFFIX): $(BASE_INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX)
 145         $(MKDIR) -p $(@D)
 146         $(RM) $@
 147         $(LN) -s ../$(@F) $@
 148 
 149 ifeq ($(OPENJDK_TARGET_OS), macosx)
 150   $(BASE_INSTALL_LIBRARIES_HERE)/client/%.dSYM : $(BASE_INSTALL_LIBRARIES_HERE)/%.dSYM
 151         $(MKDIR) -p $(@D)
 152         $(RM) $@
 153         $(LN) -s ../$(@F) $@
 154 
 155   $(BASE_INSTALL_LIBRARIES_HERE)/client/%.diz : $(BASE_INSTALL_LIBRARIES_HERE)/%.diz
 156         $(MKDIR) -p $(@D)
 157         $(RM) $@
 158         $(RM) $@.tmp $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM
 159         $(LN) -s ../$(basename $(@F))$(SHARED_LIBRARY_SUFFIX).dSYM $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM
 160         $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F))$(SHARED_LIBRARY_SUFFIX).dSYM
 161         $(RM) $(basename $@)$(SHARED_LIBRARY_SUFFIX).dSYM
 162         $(MV) $@.tmp $@
 163 else
 164   $(BASE_INSTALL_LIBRARIES_HERE)/client/%.debuginfo: $(BASE_INSTALL_LIBRARIES_HERE)/%.debuginfo
 165         $(MKDIR) -p $(@D)
 166         $(RM) $@
 167         $(LN) -s ../$(@F) $@
 168 
 169   $(BASE_INSTALL_LIBRARIES_HERE)/client/%.diz: $(BASE_INSTALL_LIBRARIES_HERE)/%.diz
 170         $(MKDIR) -p $(@D)
 171         $(RM) $@
 172         $(RM) $@.tmp $(basename $@).debuginfo
 173         $(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo
 174         $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F)).debuginfo
 175         $(RM) $(basename $@).debuginfo
 176         $(MV) $@.tmp $@
 177 endif
 178 
 179 $(BASE_INSTALL_LIBRARIES_HERE)/minimal/%$(SHARED_LIBRARY_SUFFIX): $(BASE_INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX)
 180         $(MKDIR) -p $(@D)
 181         $(RM) $@
 182         $(LN) -s ../$(@F) $@
 183 
 184 ifneq ($(OPENJDK_TARGET_OS), macosx)
 185   $(BASE_INSTALL_LIBRARIES_HERE)/minimal/%.debuginfo: $(BASE_INSTALL_LIBRARIES_HERE)/%.debuginfo
 186         $(MKDIR) -p $(@D)
 187         $(RM) $@
 188         $(LN) -s ../$(@F) $@
 189 
 190   $(BASE_INSTALL_LIBRARIES_HERE)/minimal/%.diz: $(BASE_INSTALL_LIBRARIES_HERE)/%.diz
 191         $(MKDIR) -p $(@D)
 192         $(RM) $@
 193         $(RM) $@.tmp $(basename $@).debuginfo
 194         $(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo
 195         $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F)).debuginfo
 196         $(RM) $(basename $@).debuginfo
 197         $(MV) $@.tmp $@
 198 endif
 199 
 200 ################################################################################
 201 
 202 ifeq ($(OPENJDK_TARGET_OS), windows)
 203   $(eval $(call SetupCopyFiles,BASE_COPY_LIBS_BIN, \
 204       SRC := $(SUPPORT_OUTPUTDIR)/modules_libs/java.base, \
 205       DEST := $(JDK_OUTPUTDIR)/bin, \
 206       FILES := $(filter-out %.lib, $(BASE_TARGETS))))
 207 
 208   $(eval $(call SetupCopyFiles,BASE_COPY_LIBS_LIB, \
 209       SRC := $(SUPPORT_OUTPUTDIR)/modules_libs/java.base, \
 210       DEST := $(JDK_OUTPUTDIR)/lib, \
 211       FILES := $(filter %.lib, $(BASE_TARGETS))))
 212 
 213 else
 214   $(eval $(call SetupCopyFiles,BASE_COPY_LIBS, \
 215       SRC := $(SUPPORT_OUTPUTDIR)/modules_libs/java.base, \
 216       DEST := $(JDK_OUTPUTDIR)/lib, \
 217       FILES := $(BASE_TARGETS)))
 218 endif
 219 
 220 ################################################################################
 221 
 222 all: $(BASE_TARGETS) $(BASE_COPY_LIBS_BIN) $(BASE_COPY_LIBS_LIB) \
 223     $(BASE_COPY_LIBS)
 224 
 225 .PHONY: default all