jdk/make/java/redist/Makefile
author tbell
Wed, 14 Jan 2009 21:35:03 -0800
changeset 1776 33e9405ab91b
parent 2 90ce3da70b43
child 2301 0a3821d472a3
permissions -rw-r--r--
6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll 6779412: VS2008 errors compiling jdk sources Summary: Update Makefiles to tolerate newer Visual Studio releases and runtimes. Reviewed-by: ohair
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
     2
# Copyright 1997-2007 Sun Microsystems, Inc.  All Rights Reserved.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
90ce3da70b43 Initial load
duke
parents:
diff changeset
     7
# published by the Free Software Foundation.  Sun designates this
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
# particular file as subject to the "Classpath" exception as provided
90ce3da70b43 Initial load
duke
parents:
diff changeset
     9
# by Sun in the LICENSE file that accompanied this code.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
# This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
# version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
# accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
# You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
# 2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    21
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    22
# CA 95054 USA or visit www.sun.com if you need additional information or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    23
# have any questions.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
# Imports files exported by a hotspot build or provided from an external
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
#   location into the OUTPUTDIR, and also primes the OUTPUTDIR with files
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
#   that are provided inside this workspace.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
# IMPORT_LIST contains the list of destination files that are copied 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
#     from external places (outside this workspace).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
# INTERNAL_IMPORT_LIST is the list of destination files from BUILDDIR.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
# 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
BUILDDIR = ../..
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
PRODUCT  = java
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
include $(BUILDDIR)/common/Defs.gmk
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
SERVER_LOCATION = server
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
CLIENT_LOCATION = client
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
DB_SUFFIX = _db
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
ifeq ($(PLATFORM), windows)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
  LIB_LOCATION = $(BINDIR)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
else
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
  LIB_LOCATION = $(LIBDIR)/$(LIBARCH)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
JVM_NAME               = $(LIB_PREFIX)jvm.$(LIBRARY_SUFFIX)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
JVMLIB_NAME            = $(LIB_PREFIX)jvm.$(LIB_SUFFIX)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
JVMMAP_NAME            = $(LIB_PREFIX)jvm.map
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
JVMPDB_NAME            = $(LIB_PREFIX)jvm.pdb
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
LIBJSIG_NAME           = $(LIB_PREFIX)jsig.$(LIBRARY_SUFFIX)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
JVMDB_NAME             = $(LIB_PREFIX)jvm$(DB_SUFFIX).$(LIBRARY_SUFFIX)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
CLASSSHARINGDATA_DIR   = $(BUILDDIR)/tools/sharing
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
# Needed to do file copy
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
ABS_BUILDDIR :=$(call FullPath,$(BUILDDIR))
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
all: build
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
# List of files created here or coming from BUILDDIR area (this workspace)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
INTERNAL_IMPORT_LIST = $(LIBDIR)/classlist
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
# List of files coming from outside this workspace
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
IMPORT_LIST = $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_NAME) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
              $(LIB_LOCATION)/$(SERVER_LOCATION)/Xusage.txt
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
# INCLUDE_SA is false on platforms where SA is not supported.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
# On platforms where it is supported, we want to allow it to
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
# not be present, at least temporarily.  So,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
# if the SA files (well, just sa-jdi.jar) do not exist 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
# in the HOTSPOT_IMPORT_PATH, then we won't build SA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
SA_EXISTS := $(shell if [ -r $(HOTSPOT_IMPORT_PATH)/lib/sa-jdi.jar ] ; then \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
                          $(ECHO) true; \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    80
                        else \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
                          $(ECHO) false; \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
                        fi)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
ifeq ($(SA_EXISTS), false)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
  INCLUDE_SA := false
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
ifeq ($(INCLUDE_SA), true)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
  IMPORT_LIST += $(LIBDIR)/sa-jdi.jar \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
                 $(LIB_LOCATION)/$(SALIB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    91
  ifeq ($(PLATFORM), windows)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    92
    IMPORT_LIST += $(LIB_LOCATION)/$(SAMAP_NAME) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    93
                   $(LIB_LOCATION)/$(SAPDB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
  endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
endif # INCLUDE_SA
90ce3da70b43 Initial load
duke
parents:
diff changeset
    96
90ce3da70b43 Initial load
duke
parents:
diff changeset
    97
# Hotspot client is only available on 32-bit builds
90ce3da70b43 Initial load
duke
parents:
diff changeset
    98
ifeq ($(ARCH_DATA_MODEL), 32)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    99
  IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
                 $(LIB_LOCATION)/$(CLIENT_LOCATION)/Xusage.txt
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   102
90ce3da70b43 Initial load
duke
parents:
diff changeset
   103
ifeq ($(PLATFORM), windows)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   104
#  Windows     vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv  Windows
90ce3da70b43 Initial load
duke
parents:
diff changeset
   105
90ce3da70b43 Initial load
duke
parents:
diff changeset
   106
IMPORT_LIST += $(MS_RUNTIME_LIBRARIES:%=$(BINDIR)/%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
# NOTE: These might actually come from BUILDDIR, depends on the settings.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
$(BINDIR)/msvcrt.dll: $(MSVCRT_DLL_PATH)/msvcrt.dll
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
	$(CHMOD) a+x $@
1776
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 2
diff changeset
   112
$(BINDIR)/$(MSVCRNN_DLL): $(MSVCRNN_DLL_PATH)/$(MSVCRNN_DLL)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   113
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
	$(CHMOD) a+x $@
90ce3da70b43 Initial load
duke
parents:
diff changeset
   115
90ce3da70b43 Initial load
duke
parents:
diff changeset
   116
# Get the hotspot .map and .pdb files for client and server
90ce3da70b43 Initial load
duke
parents:
diff changeset
   117
IMPORT_LIST += \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   118
	$(LIBDIR)/$(JVMLIB_NAME) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   119
	$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMMAP_NAME) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   120
	$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMPDB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   121
90ce3da70b43 Initial load
duke
parents:
diff changeset
   122
# Hotspot client is only available on 32-bit builds
90ce3da70b43 Initial load
duke
parents:
diff changeset
   123
ifeq ($(ARCH_DATA_MODEL), 32)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   124
  IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMMAP_NAME) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   125
                 $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMPDB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   126
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   127
90ce3da70b43 Initial load
duke
parents:
diff changeset
   128
$(LIBDIR)/$(JVMLIB_NAME): $(HOTSPOT_LIB_PATH)/$(JVMLIB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   129
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   130
90ce3da70b43 Initial load
duke
parents:
diff changeset
   131
# it is OK for the .map and .pdb files to not exist, so do not force a 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   132
# dependency on them from the bootstrap location, and allow the copy to fail.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   133
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMMAP_NAME):
90ce3da70b43 Initial load
duke
parents:
diff changeset
   134
	@$(prep-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
	-$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMMAP_NAME)  $@
90ce3da70b43 Initial load
duke
parents:
diff changeset
   136
90ce3da70b43 Initial load
duke
parents:
diff changeset
   137
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMMAP_NAME):
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
	@$(prep-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   139
	-$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMMAP_NAME) $@
90ce3da70b43 Initial load
duke
parents:
diff changeset
   140
90ce3da70b43 Initial load
duke
parents:
diff changeset
   141
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMPDB_NAME):
90ce3da70b43 Initial load
duke
parents:
diff changeset
   142
	@$(prep-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   143
	-$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMPDB_NAME)  $@
90ce3da70b43 Initial load
duke
parents:
diff changeset
   144
90ce3da70b43 Initial load
duke
parents:
diff changeset
   145
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMPDB_NAME): 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   146
	@$(prep-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   147
	-$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMPDB_NAME) $@
90ce3da70b43 Initial load
duke
parents:
diff changeset
   148
90ce3da70b43 Initial load
duke
parents:
diff changeset
   149
#  Windows     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  Windows
90ce3da70b43 Initial load
duke
parents:
diff changeset
   150
else # PLATFORM
90ce3da70b43 Initial load
duke
parents:
diff changeset
   151
#  NOT Windows vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv  NOT Windows
90ce3da70b43 Initial load
duke
parents:
diff changeset
   152
90ce3da70b43 Initial load
duke
parents:
diff changeset
   153
IMPORT_LIST += \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   154
        $(LIB_LOCATION)/$(LIBJSIG_NAME) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   155
	$(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
90ce3da70b43 Initial load
duke
parents:
diff changeset
   157
ifeq ($(PLATFORM), solaris)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   158
  IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   159
endif 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   160
90ce3da70b43 Initial load
duke
parents:
diff changeset
   161
ifeq ($(ARCH_DATA_MODEL), 32)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   162
90ce3da70b43 Initial load
duke
parents:
diff changeset
   163
IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   164
90ce3da70b43 Initial load
duke
parents:
diff changeset
   165
ifeq ($(PLATFORM), solaris)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   166
#  solaris   vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv  solaris
90ce3da70b43 Initial load
duke
parents:
diff changeset
   167
90ce3da70b43 Initial load
duke
parents:
diff changeset
   168
ifeq ($(ARCH), sparc)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   169
  IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   170
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   171
90ce3da70b43 Initial load
duke
parents:
diff changeset
   172
IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   173
90ce3da70b43 Initial load
duke
parents:
diff changeset
   174
ifeq ($(ARCH), sparc)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   175
  IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   176
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
90ce3da70b43 Initial load
duke
parents:
diff changeset
   178
# For backwards compatability, make a link of the 32-bit client JVM to $(LIBDIR)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   179
IMPORT_LIST += $(LIB_LOCATION)/$(JVM_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
90ce3da70b43 Initial load
duke
parents:
diff changeset
   181
# create a link from lib/libjvm.so to client/libjvm.so
90ce3da70b43 Initial load
duke
parents:
diff changeset
   182
$(LIB_LOCATION)/$(JVM_NAME): $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   183
	@$(prep-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   184
	$(LN) -s $(CLIENT_LOCATION)/$(JVM_NAME) $@
90ce3da70b43 Initial load
duke
parents:
diff changeset
   185
90ce3da70b43 Initial load
duke
parents:
diff changeset
   186
#  solaris   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ solaris
90ce3da70b43 Initial load
duke
parents:
diff changeset
   187
endif # 32bit solaris
90ce3da70b43 Initial load
duke
parents:
diff changeset
   188
90ce3da70b43 Initial load
duke
parents:
diff changeset
   189
endif # 32bit
90ce3da70b43 Initial load
duke
parents:
diff changeset
   190
90ce3da70b43 Initial load
duke
parents:
diff changeset
   191
#  NOT Windows ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ NOT Windows
90ce3da70b43 Initial load
duke
parents:
diff changeset
   192
90ce3da70b43 Initial load
duke
parents:
diff changeset
   193
endif # PLATFORM
90ce3da70b43 Initial load
duke
parents:
diff changeset
   194
90ce3da70b43 Initial load
duke
parents:
diff changeset
   195
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVM_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   196
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   197
90ce3da70b43 Initial load
duke
parents:
diff changeset
   198
$(LIB_LOCATION)/$(LIBJSIG_NAME): $(HOTSPOT_SERVER_PATH)/$(LIBJSIG_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   199
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   200
90ce3da70b43 Initial load
duke
parents:
diff changeset
   201
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   202
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_NAME):
90ce3da70b43 Initial load
duke
parents:
diff changeset
   203
	@$(prep-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
	$(LN) -s ../$(LIBJSIG_NAME) $@
90ce3da70b43 Initial load
duke
parents:
diff changeset
   205
90ce3da70b43 Initial load
duke
parents:
diff changeset
   206
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   207
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   208
90ce3da70b43 Initial load
duke
parents:
diff changeset
   209
$(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_NAME): $(HOTSPOT_CLIENT_PATH)/64/$(JVMDB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   210
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   211
90ce3da70b43 Initial load
duke
parents:
diff changeset
   212
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   213
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   214
90ce3da70b43 Initial load
duke
parents:
diff changeset
   215
$(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_NAME): $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   216
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   217
90ce3da70b43 Initial load
duke
parents:
diff changeset
   218
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_NAME): $(HOTSPOT_SERVER_PATH)/$(JVM_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   219
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   220
90ce3da70b43 Initial load
duke
parents:
diff changeset
   221
$(LIB_LOCATION)/$(SERVER_LOCATION)/Xusage.txt : $(HOTSPOT_SERVER_PATH)/Xusage.txt
90ce3da70b43 Initial load
duke
parents:
diff changeset
   222
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   223
90ce3da70b43 Initial load
duke
parents:
diff changeset
   224
$(LIB_LOCATION)/$(CLIENT_LOCATION)/Xusage.txt : $(HOTSPOT_CLIENT_PATH)/Xusage.txt
90ce3da70b43 Initial load
duke
parents:
diff changeset
   225
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   226
90ce3da70b43 Initial load
duke
parents:
diff changeset
   227
ifeq ($(INCLUDE_SA), true)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   228
# The Serviceability Agent is built in the Hotspot workspace.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   229
# It contains two files:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   230
#  - sa-jdi.jar:  This goes into the same dir as tools.jar.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   231
#  - a shared library:  sawindbg.dll on windows / libproc.sa on unix
90ce3da70b43 Initial load
duke
parents:
diff changeset
   232
#		        This goes into the same dir as the other
90ce3da70b43 Initial load
duke
parents:
diff changeset
   233
#			shared libs, eg. libjdwp.so.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   234
$(LIBDIR)/sa-jdi.jar: $(HOTSPOT_IMPORT_PATH)/lib/sa-jdi.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   235
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   236
90ce3da70b43 Initial load
duke
parents:
diff changeset
   237
$(LIB_LOCATION)/$(SALIB_NAME): $(HOTSPOT_SALIB_PATH)/$(SALIB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   238
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   239
90ce3da70b43 Initial load
duke
parents:
diff changeset
   240
ifeq ($(PLATFORM), windows)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   241
$(LIB_LOCATION)/$(SAPDB_NAME): $(HOTSPOT_SALIB_PATH)/$(SAPDB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   242
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   243
90ce3da70b43 Initial load
duke
parents:
diff changeset
   244
$(LIB_LOCATION)/$(SAMAP_NAME): $(HOTSPOT_SALIB_PATH)/$(SAMAP_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   245
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   246
endif # windows
90ce3da70b43 Initial load
duke
parents:
diff changeset
   247
endif # INCLUDE_SA
90ce3da70b43 Initial load
duke
parents:
diff changeset
   248
90ce3da70b43 Initial load
duke
parents:
diff changeset
   249
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   250
# Specific to OpenJDK building
90ce3da70b43 Initial load
duke
parents:
diff changeset
   251
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   252
ifdef OPENJDK
90ce3da70b43 Initial load
duke
parents:
diff changeset
   253
90ce3da70b43 Initial load
duke
parents:
diff changeset
   254
include $(BUILDDIR)/common/internal/BinaryPlugs.gmk
90ce3da70b43 Initial load
duke
parents:
diff changeset
   255
90ce3da70b43 Initial load
duke
parents:
diff changeset
   256
build: import-binary-plugs
90ce3da70b43 Initial load
duke
parents:
diff changeset
   257
90ce3da70b43 Initial load
duke
parents:
diff changeset
   258
else # !OPENJDK
90ce3da70b43 Initial load
duke
parents:
diff changeset
   259
90ce3da70b43 Initial load
duke
parents:
diff changeset
   260
INTERNAL_IMPORT_LIST += \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   261
            $(LIBDIR)/security/US_export_policy.jar \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   262
            $(LIBDIR)/security/local_policy.jar \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   263
            $(LIBDIR)/jce.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   264
90ce3da70b43 Initial load
duke
parents:
diff changeset
   265
$(LIBDIR)/jce.jar: \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   266
	    $(BUILDDIR)/closed/tools/crypto/jce/jce.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   267
	$(install-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   268
$(LIBDIR)/security/US_export_policy.jar: \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   269
	    $(BUILDDIR)/closed/tools/crypto/jce/US_export_policy.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   270
	$(install-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   271
$(LIBDIR)/security/local_policy.jar: \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   272
	    $(BUILDDIR)/closed/tools/crypto/jce/local_policy.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   273
	$(install-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   274
90ce3da70b43 Initial load
duke
parents:
diff changeset
   275
endif # OPENJDK
90ce3da70b43 Initial load
duke
parents:
diff changeset
   276
90ce3da70b43 Initial load
duke
parents:
diff changeset
   277
ADDJSUM_JARFILE = $(BUILDTOOLJARDIR)/addjsum.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   278
90ce3da70b43 Initial load
duke
parents:
diff changeset
   279
# Construct classlist file
90ce3da70b43 Initial load
duke
parents:
diff changeset
   280
$(LIBDIR)/classlist: \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   281
    $(CLASSSHARINGDATA_DIR)/classlist.$(PLATFORM) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   282
    $(ADDJSUM_JARFILE)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   283
	@$(prep-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   284
	@$(RM) -f $@.temp
90ce3da70b43 Initial load
duke
parents:
diff changeset
   285
	$(BOOT_JAVA_CMD) -jar $(ADDJSUM_JARFILE) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   286
	    $(CLASSSHARINGDATA_DIR)/classlist.$(PLATFORM) $@.temp
90ce3da70b43 Initial load
duke
parents:
diff changeset
   287
	$(MV) $@.temp $@
90ce3da70b43 Initial load
duke
parents:
diff changeset
   288
90ce3da70b43 Initial load
duke
parents:
diff changeset
   289
ifndef OPENJDK
90ce3da70b43 Initial load
duke
parents:
diff changeset
   290
90ce3da70b43 Initial load
duke
parents:
diff changeset
   291
# Lucida font files are not included in the OpenJDK distribution.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   292
# Get names of font files
90ce3da70b43 Initial load
duke
parents:
diff changeset
   293
include FILES.gmk
90ce3da70b43 Initial load
duke
parents:
diff changeset
   294
90ce3da70b43 Initial load
duke
parents:
diff changeset
   295
# Copy font files into OUTPUTDIR area
90ce3da70b43 Initial load
duke
parents:
diff changeset
   296
90ce3da70b43 Initial load
duke
parents:
diff changeset
   297
FONTFILES = $(SHARED_FONTFILES)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   298
FONTSDIR  = $(LIBDIR)/fonts
90ce3da70b43 Initial load
duke
parents:
diff changeset
   299
FONTSDIRFILE  = $(FONTSDIR)/fonts.dir
90ce3da70b43 Initial load
duke
parents:
diff changeset
   300
INTERNAL_IMPORT_LIST += $(FONTFILES) 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   301
90ce3da70b43 Initial load
duke
parents:
diff changeset
   302
ifneq ($(PLATFORM), windows)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   303
  INTERNAL_IMPORT_LIST += $(FONTSDIRFILE)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   304
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   305
90ce3da70b43 Initial load
duke
parents:
diff changeset
   306
$(LIBDIR)/fonts/%.ttf: $(CLOSED_SRC)/share/lib/fonts/%.ttf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   307
	$(install-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   308
90ce3da70b43 Initial load
duke
parents:
diff changeset
   309
$(FONTSDIRFILE): $(PLATFORM_SRC)/classes/sun/awt/motif/java.fonts.dir
90ce3da70b43 Initial load
duke
parents:
diff changeset
   310
	$(install-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   311
90ce3da70b43 Initial load
duke
parents:
diff changeset
   312
ifeq ($(PLATFORM), linux)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   313
90ce3da70b43 Initial load
duke
parents:
diff changeset
   314
# The oblique fonts are only needed/wanted on Linux.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   315
90ce3da70b43 Initial load
duke
parents:
diff changeset
   316
OBLFONTSDIR  = $(LIBDIR)/oblique-fonts
90ce3da70b43 Initial load
duke
parents:
diff changeset
   317
OBLFONTSDIRFILE	 = $(OBLFONTSDIR)/fonts.dir
90ce3da70b43 Initial load
duke
parents:
diff changeset
   318
INTERNAL_IMPORT_LIST += $(OBLIQUE_FONTFILES) $(OBLFONTSDIRFILE)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   319
90ce3da70b43 Initial load
duke
parents:
diff changeset
   320
$(LIBDIR)/oblique-fonts/%.ttf: $(CLOSED_SRC)/share/lib/fonts/oblique/%.ttf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   321
	$(install-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   322
90ce3da70b43 Initial load
duke
parents:
diff changeset
   323
$(OBLFONTSDIRFILE): $(PLATFORM_SRC)/classes/sun/awt/motif/java.oblique-fonts.dir
90ce3da70b43 Initial load
duke
parents:
diff changeset
   324
	$(install-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   325
90ce3da70b43 Initial load
duke
parents:
diff changeset
   326
endif # linux
90ce3da70b43 Initial load
duke
parents:
diff changeset
   327
endif # !OPENJDK
90ce3da70b43 Initial load
duke
parents:
diff changeset
   328
90ce3da70b43 Initial load
duke
parents:
diff changeset
   329
# Import internal files (ones that are stashed in this source tree)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   330
import_internal_files : $(INTERNAL_IMPORT_LIST)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   331
90ce3da70b43 Initial load
duke
parents:
diff changeset
   332
# Import files from the JDK that we are not building
90ce3da70b43 Initial load
duke
parents:
diff changeset
   333
import_files: $(IMPORT_LIST)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   334
90ce3da70b43 Initial load
duke
parents:
diff changeset
   335
# Get component information variables and rules
90ce3da70b43 Initial load
duke
parents:
diff changeset
   336
include $(BUILDDIR)/common/internal/ImportComponents.gmk
90ce3da70b43 Initial load
duke
parents:
diff changeset
   337
90ce3da70b43 Initial load
duke
parents:
diff changeset
   338
# Security files we need to import
90ce3da70b43 Initial load
duke
parents:
diff changeset
   339
SEC_FILES_ZIP=$(ABS_BUILDDIR)/tools/crypto/sec-bin.zip
90ce3da70b43 Initial load
duke
parents:
diff changeset
   340
SEC_FILES_WIN_ZIP=$(ABS_BUILDDIR)/tools/crypto/sec-windows-bin.zip
90ce3da70b43 Initial load
duke
parents:
diff changeset
   341
JGSS_WIN32_FILES_ZIP=$(ABS_BUILDDIR)/tools/crypto/jgss-windows-i586-bin.zip
90ce3da70b43 Initial load
duke
parents:
diff changeset
   342
JGSS_WIN64_FILES_ZIP=$(ABS_BUILDDIR)/tools/crypto/jgss-windows-x64-bin.zip
90ce3da70b43 Initial load
duke
parents:
diff changeset
   343
90ce3da70b43 Initial load
duke
parents:
diff changeset
   344
# Unzip zip file $2 into directory $1 (if $2 exists)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   345
#   Warning: $2 must be absolute path not relative
90ce3da70b43 Initial load
duke
parents:
diff changeset
   346
define SecUnzipper
90ce3da70b43 Initial load
duke
parents:
diff changeset
   347
if [ -f $2 ] ; then \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   348
  $(MKDIR) -p $1; \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   349
  $(ECHO) "( $(CD) $1 && $(UNZIP) -o $2 )"; \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   350
  ( $(CD) $1 && $(UNZIP) -o $2 ); \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   351
fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   352
endef
90ce3da70b43 Initial load
duke
parents:
diff changeset
   353
90ce3da70b43 Initial load
duke
parents:
diff changeset
   354
# If sec-bin exists, unpack it into the build directory
90ce3da70b43 Initial load
duke
parents:
diff changeset
   355
#   Also, the library recompile build indirectly depends on two SSL classes,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   356
#   so copy those as well   FIXUP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   357
#   if sec-windows-bin exists, unpack it into the build directory
90ce3da70b43 Initial load
duke
parents:
diff changeset
   358
#   if JGSS files exists, unpack it into the build directory
90ce3da70b43 Initial load
duke
parents:
diff changeset
   359
$(TEMPDIR)/security_imported:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   360
	@$(prep-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   361
	@$(call SecUnzipper,$(OUTPUTDIR),$(SEC_FILES_ZIP))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   362
ifeq ($(PLATFORM), windows)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   363
	@$(call SecUnzipper,$(OUTPUTDIR),$(SEC_FILES_WIN_ZIP))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   364
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   365
ifeq ($(PLATFORM), windows)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   366
    ifeq ($(ARCH_DATA_MODEL), 32)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   367
	@$(call SecUnzipper,$(OUTPUTDIR),$(JGSS_WIN32_FILES_ZIP))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   368
    else
90ce3da70b43 Initial load
duke
parents:
diff changeset
   369
	@$(call SecUnzipper,$(OUTPUTDIR),$(JGSS_WIN64_FILES_ZIP))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   370
    endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   371
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   372
	@$(ECHO) "Imported on `$(DATE)`" > $@
90ce3da70b43 Initial load
duke
parents:
diff changeset
   373
90ce3da70b43 Initial load
duke
parents:
diff changeset
   374
# Import all files from other components
90ce3da70b43 Initial load
duke
parents:
diff changeset
   375
$(TEMPDIR)/components_imported:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   376
	@$(prep-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   377
	$(call import-component-binaries,$(ABS_OUTPUTDIR))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   378
	$(call import-component-sources,$(IMPORTSRCDIR))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   379
	$(call import-component-docs,$(IMPORTDOCDIR))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   380
	$(call import-component-classes,$(CLASSDESTDIR))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   381
	@$(ECHO) "Imported on `$(DATE)`" > $@
90ce3da70b43 Initial load
duke
parents:
diff changeset
   382
90ce3da70b43 Initial load
duke
parents:
diff changeset
   383
# Do pretty much everything
90ce3da70b43 Initial load
duke
parents:
diff changeset
   384
build : import_files \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   385
	import_internal_files \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   386
	$(TEMPDIR)/components_imported \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   387
	$(TEMPDIR)/security_imported
90ce3da70b43 Initial load
duke
parents:
diff changeset
   388
90ce3da70b43 Initial load
duke
parents:
diff changeset
   389
# Clean up what we imported (except for component files)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   390
clean clobber::
90ce3da70b43 Initial load
duke
parents:
diff changeset
   391
	$(RM) $(IMPORT_LIST)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   392
	$(RM) $(INTERNAL_IMPORT_LIST)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   393
	$(call import-component-sources-clean,$(IMPORTSRCDIR))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   394
	$(call import-component-docs-clean,$(IMPORTDOCDIR))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   395
	$(call import-component-classes-clean,$(CLASSDESTDIR))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   396
	$(RM) $(TEMPDIR)/components_imported
90ce3da70b43 Initial load
duke
parents:
diff changeset
   397
	$(RM) $(TEMPDIR)/security_imported
90ce3da70b43 Initial load
duke
parents:
diff changeset
   398
90ce3da70b43 Initial load
duke
parents:
diff changeset
   399
.PHONY: import_files import_internal_files
90ce3da70b43 Initial load
duke
parents:
diff changeset
   400