jdk/make/java/redist/Makefile
author mchung
Thu, 07 Jan 2010 08:14:48 -0800
changeset 4665 d14dc3d9e1fa
parent 4340 ec6ba551fa78
child 4917 c98da2209f8c
permissions -rw-r--r--
6911737: Module build: generate modules with native libraries and any other files not in jar Summary: create modules under OUTPUTDIR/modules directory containing resources, native libraries Reviewed-by: alanb, ohair
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
#
3288
db82a42da273 6862919: Update copyright year
xdono
parents: 3116
diff changeset
     2
# Copyright 1997-2009 Sun Microsystems, Inc.  All Rights Reserved.
2
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 = ../..
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 4340
diff changeset
    38
MODULE   = base
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
PRODUCT  = java
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
include $(BUILDDIR)/common/Defs.gmk
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
SERVER_LOCATION = server
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
CLIENT_LOCATION = client
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
DB_SUFFIX = _db
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
ifeq ($(PLATFORM), windows)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
  LIB_LOCATION = $(BINDIR)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
else
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
  LIB_LOCATION = $(LIBDIR)/$(LIBARCH)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
JVM_NAME               = $(LIB_PREFIX)jvm.$(LIBRARY_SUFFIX)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
JVMLIB_NAME            = $(LIB_PREFIX)jvm.$(LIB_SUFFIX)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
JVMMAP_NAME            = $(LIB_PREFIX)jvm.map
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
JVMPDB_NAME            = $(LIB_PREFIX)jvm.pdb
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
LIBJSIG_NAME           = $(LIB_PREFIX)jsig.$(LIBRARY_SUFFIX)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
JVMDB_NAME             = $(LIB_PREFIX)jvm$(DB_SUFFIX).$(LIBRARY_SUFFIX)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
CLASSSHARINGDATA_DIR   = $(BUILDDIR)/tools/sharing
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
# Needed to do file copy
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
ABS_BUILDDIR :=$(call FullPath,$(BUILDDIR))
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 4340
diff changeset
    65
SUBDIRS = fonts sajdi
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 4340
diff changeset
    66
all clean clobber::
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 4340
diff changeset
    67
	$(SUBDIRS-loop)
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 4340
diff changeset
    68
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 4340
diff changeset
    69
all:: build
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
# List of files created here or coming from BUILDDIR area (this workspace)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
INTERNAL_IMPORT_LIST = $(LIBDIR)/classlist
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
# List of files coming from outside this workspace
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
IMPORT_LIST = $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_NAME) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
              $(LIB_LOCATION)/$(SERVER_LOCATION)/Xusage.txt
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
4111
ffc9c33335f4 6891677: java/build integrate zero assembler JDK changes
gbenson
parents: 3288
diff changeset
    78
# Hotspot client is only available on 32-bit non-Zero builds
ffc9c33335f4 6891677: java/build integrate zero assembler JDK changes
gbenson
parents: 3288
diff changeset
    79
ifneq ($(ZERO_BUILD), true)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    80
ifeq ($(ARCH_DATA_MODEL), 32)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
  IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
                 $(LIB_LOCATION)/$(CLIENT_LOCATION)/Xusage.txt
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
endif
4111
ffc9c33335f4 6891677: java/build integrate zero assembler JDK changes
gbenson
parents: 3288
diff changeset
    84
endif
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
ifeq ($(PLATFORM), windows)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
#  Windows     vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv  Windows
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
IMPORT_LIST += $(MS_RUNTIME_LIBRARIES:%=$(BINDIR)/%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
90ce3da70b43 Initial load
duke
parents:
diff changeset
    91
# NOTE: These might actually come from BUILDDIR, depends on the settings.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    92
$(BINDIR)/msvcrt.dll: $(MSVCRT_DLL_PATH)/msvcrt.dll
90ce3da70b43 Initial load
duke
parents:
diff changeset
    93
	$(install-import-file)
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 4340
diff changeset
    94
	$(call chmod-file, a+x)
1776
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 2
diff changeset
    95
$(BINDIR)/$(MSVCRNN_DLL): $(MSVCRNN_DLL_PATH)/$(MSVCRNN_DLL)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    96
	$(install-import-file)
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 4340
diff changeset
    97
	$(call chmod-file, a+x)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    98
90ce3da70b43 Initial load
duke
parents:
diff changeset
    99
# Get the hotspot .map and .pdb files for client and server
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
IMPORT_LIST += \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
	$(LIBDIR)/$(JVMLIB_NAME) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   102
	$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMMAP_NAME) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   103
	$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMPDB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   104
3111
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2301
diff changeset
   105
# Add .map and .pdb files to the import path for client and kernel VMs. 
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2301
diff changeset
   106
# These are only available on 32-bit windows builds. 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
ifeq ($(ARCH_DATA_MODEL), 32)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
  IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMMAP_NAME) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
                 $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMPDB_NAME)
3114
f503507dcce5 6853152: JDK 7 cannot build w/o ALT_HOTSPOT_KERNEL_PATH set. - still broken
herrick
parents: 3111
diff changeset
   110
  ifeq ($(DO_KERNEL), true)
f503507dcce5 6853152: JDK 7 cannot build w/o ALT_HOTSPOT_KERNEL_PATH set. - still broken
herrick
parents: 3111
diff changeset
   111
    IMPORT_LIST += $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMMAP_NAME) \
f503507dcce5 6853152: JDK 7 cannot build w/o ALT_HOTSPOT_KERNEL_PATH set. - still broken
herrick
parents: 3111
diff changeset
   112
                   $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMPDB_NAME)
f503507dcce5 6853152: JDK 7 cannot build w/o ALT_HOTSPOT_KERNEL_PATH set. - still broken
herrick
parents: 3111
diff changeset
   113
  endif
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   115
90ce3da70b43 Initial load
duke
parents:
diff changeset
   116
$(LIBDIR)/$(JVMLIB_NAME): $(HOTSPOT_LIB_PATH)/$(JVMLIB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   117
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   118
90ce3da70b43 Initial load
duke
parents:
diff changeset
   119
# it is OK for the .map and .pdb files to not exist, so do not force a 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   120
# dependency on them from the bootstrap location, and allow the copy to fail.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   121
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMMAP_NAME):
90ce3da70b43 Initial load
duke
parents:
diff changeset
   122
	@$(prep-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   123
	-$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMMAP_NAME)  $@
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 4340
diff changeset
   124
	@$(install-module-file)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   125
3111
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2301
diff changeset
   126
$(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMMAP_NAME):
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2301
diff changeset
   127
	@$(prep-target)
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2301
diff changeset
   128
	-$(CP) $(HOTSPOT_KERNEL_PATH)/$(JVMMAP_NAME)  $@
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 4340
diff changeset
   129
	@$(install-module-file)
3111
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2301
diff changeset
   130
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   131
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMMAP_NAME):
90ce3da70b43 Initial load
duke
parents:
diff changeset
   132
	@$(prep-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   133
	-$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMMAP_NAME) $@
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 4340
diff changeset
   134
	@$(install-module-file)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
90ce3da70b43 Initial load
duke
parents:
diff changeset
   136
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMPDB_NAME):
90ce3da70b43 Initial load
duke
parents:
diff changeset
   137
	@$(prep-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
	-$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMPDB_NAME)  $@
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 4340
diff changeset
   139
	@$(install-module-file)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   140
3111
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2301
diff changeset
   141
$(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMPDB_NAME):
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2301
diff changeset
   142
	@$(prep-target)
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2301
diff changeset
   143
	-$(CP) $(HOTSPOT_KERNEL_PATH)/$(JVMPDB_NAME)  $@
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 4340
diff changeset
   144
	@$(install-module-file)
3111
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2301
diff changeset
   145
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   146
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMPDB_NAME): 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   147
	@$(prep-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   148
	-$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMPDB_NAME) $@
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 4340
diff changeset
   149
	@$(install-module-file)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   150
90ce3da70b43 Initial load
duke
parents:
diff changeset
   151
#  Windows     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  Windows
90ce3da70b43 Initial load
duke
parents:
diff changeset
   152
else # PLATFORM
90ce3da70b43 Initial load
duke
parents:
diff changeset
   153
#  NOT Windows vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv  NOT Windows
90ce3da70b43 Initial load
duke
parents:
diff changeset
   154
90ce3da70b43 Initial load
duke
parents:
diff changeset
   155
IMPORT_LIST += \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
        $(LIB_LOCATION)/$(LIBJSIG_NAME) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   157
	$(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   158
90ce3da70b43 Initial load
duke
parents:
diff changeset
   159
ifeq ($(PLATFORM), solaris)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   160
  IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   161
endif 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   162
4111
ffc9c33335f4 6891677: java/build integrate zero assembler JDK changes
gbenson
parents: 3288
diff changeset
   163
ifneq ($(ZERO_BUILD), true)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   164
ifeq ($(ARCH_DATA_MODEL), 32)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   165
90ce3da70b43 Initial load
duke
parents:
diff changeset
   166
IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   167
90ce3da70b43 Initial load
duke
parents:
diff changeset
   168
ifeq ($(PLATFORM), solaris)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   169
#  solaris   vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv  solaris
90ce3da70b43 Initial load
duke
parents:
diff changeset
   170
90ce3da70b43 Initial load
duke
parents:
diff changeset
   171
ifeq ($(ARCH), sparc)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   172
  IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   173
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   174
90ce3da70b43 Initial load
duke
parents:
diff changeset
   175
IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   176
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
ifeq ($(ARCH), sparc)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   178
  IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   179
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
90ce3da70b43 Initial load
duke
parents:
diff changeset
   181
# For backwards compatability, make a link of the 32-bit client JVM to $(LIBDIR)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   182
IMPORT_LIST += $(LIB_LOCATION)/$(JVM_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   183
90ce3da70b43 Initial load
duke
parents:
diff changeset
   184
$(LIB_LOCATION)/$(JVM_NAME): $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   185
	@$(prep-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   186
90ce3da70b43 Initial load
duke
parents:
diff changeset
   187
#  solaris   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ solaris
90ce3da70b43 Initial load
duke
parents:
diff changeset
   188
endif # 32bit solaris
90ce3da70b43 Initial load
duke
parents:
diff changeset
   189
90ce3da70b43 Initial load
duke
parents:
diff changeset
   190
endif # 32bit
90ce3da70b43 Initial load
duke
parents:
diff changeset
   191
4111
ffc9c33335f4 6891677: java/build integrate zero assembler JDK changes
gbenson
parents: 3288
diff changeset
   192
endif # ZERO_BUILD
ffc9c33335f4 6891677: java/build integrate zero assembler JDK changes
gbenson
parents: 3288
diff changeset
   193
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   194
#  NOT Windows ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ NOT Windows
90ce3da70b43 Initial load
duke
parents:
diff changeset
   195
90ce3da70b43 Initial load
duke
parents:
diff changeset
   196
endif # PLATFORM
90ce3da70b43 Initial load
duke
parents:
diff changeset
   197
90ce3da70b43 Initial load
duke
parents:
diff changeset
   198
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVM_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   199
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   200
3111
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2301
diff changeset
   201
$(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVM_NAME): $(HOTSPOT_KERNEL_PATH)/$(JVM_NAME)
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2301
diff changeset
   202
	$(install-file)
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2301
diff changeset
   203
4062
203caeb1e9a8 6896472: Missing libjsig.so causes jdk build failure
ohair
parents: 3288
diff changeset
   204
$(LIB_LOCATION)/$(LIBJSIG_NAME): $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_NAME)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   205
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   206
90ce3da70b43 Initial load
duke
parents:
diff changeset
   207
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   208
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_NAME):
90ce3da70b43 Initial load
duke
parents:
diff changeset
   209
	@$(prep-target)
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 4340
diff changeset
   210
	$(call install-sym-link, ../$(LIBJSIG_NAME))
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   211
90ce3da70b43 Initial load
duke
parents:
diff changeset
   212
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_CLIENT_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)/$(CLIENT_LOCATION)/64/$(JVMDB_NAME): $(HOTSPOT_CLIENT_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)/$(JVMDB_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDB_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)/64/$(JVMDB_NAME): $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME)
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)/$(SERVER_LOCATION)/$(JVM_NAME): $(HOTSPOT_SERVER_PATH)/$(JVM_NAME)
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
$(LIB_LOCATION)/$(SERVER_LOCATION)/Xusage.txt : $(HOTSPOT_SERVER_PATH)/Xusage.txt
90ce3da70b43 Initial load
duke
parents:
diff changeset
   228
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   229
90ce3da70b43 Initial load
duke
parents:
diff changeset
   230
$(LIB_LOCATION)/$(CLIENT_LOCATION)/Xusage.txt : $(HOTSPOT_CLIENT_PATH)/Xusage.txt
90ce3da70b43 Initial load
duke
parents:
diff changeset
   231
	$(install-import-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   232
3111
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2301
diff changeset
   233
$(LIB_LOCATION)/$(KERNEL_LOCATION)/Xusage.txt : $(HOTSPOT_KERNEL_PATH)/Xusage.txt
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2301
diff changeset
   234
	$(install-file)
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2301
diff changeset
   235
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   236
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   237
# Specific to OpenJDK building
90ce3da70b43 Initial load
duke
parents:
diff changeset
   238
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   239
ifdef OPENJDK
90ce3da70b43 Initial load
duke
parents:
diff changeset
   240
2301
0a3821d472a3 6819847: build is broken for OpenJDK with plugs
tbell
parents: 1776
diff changeset
   241
  ifeq ($(IMPORT_BINARY_PLUGS),true)
0a3821d472a3 6819847: build is broken for OpenJDK with plugs
tbell
parents: 1776
diff changeset
   242
    include $(BUILDDIR)/common/internal/BinaryPlugs.gmk
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   243
2301
0a3821d472a3 6819847: build is broken for OpenJDK with plugs
tbell
parents: 1776
diff changeset
   244
    build: import-binary-plugs
0a3821d472a3 6819847: build is broken for OpenJDK with plugs
tbell
parents: 1776
diff changeset
   245
  endif
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   246
90ce3da70b43 Initial load
duke
parents:
diff changeset
   247
else # !OPENJDK
90ce3da70b43 Initial load
duke
parents:
diff changeset
   248
90ce3da70b43 Initial load
duke
parents:
diff changeset
   249
INTERNAL_IMPORT_LIST += \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   250
            $(LIBDIR)/security/US_export_policy.jar \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   251
            $(LIBDIR)/security/local_policy.jar \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   252
            $(LIBDIR)/jce.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   253
90ce3da70b43 Initial load
duke
parents:
diff changeset
   254
$(LIBDIR)/jce.jar: \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   255
	    $(BUILDDIR)/closed/tools/crypto/jce/jce.jar
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 4340
diff changeset
   256
	$(install-non-module-file)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   257
$(LIBDIR)/security/US_export_policy.jar: \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   258
	    $(BUILDDIR)/closed/tools/crypto/jce/US_export_policy.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   259
	$(install-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   260
$(LIBDIR)/security/local_policy.jar: \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   261
	    $(BUILDDIR)/closed/tools/crypto/jce/local_policy.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   262
	$(install-file)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   263
90ce3da70b43 Initial load
duke
parents:
diff changeset
   264
endif # OPENJDK
90ce3da70b43 Initial load
duke
parents:
diff changeset
   265
90ce3da70b43 Initial load
duke
parents:
diff changeset
   266
ADDJSUM_JARFILE = $(BUILDTOOLJARDIR)/addjsum.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   267
90ce3da70b43 Initial load
duke
parents:
diff changeset
   268
# Construct classlist file
90ce3da70b43 Initial load
duke
parents:
diff changeset
   269
$(LIBDIR)/classlist: \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   270
    $(CLASSSHARINGDATA_DIR)/classlist.$(PLATFORM) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   271
    $(ADDJSUM_JARFILE)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   272
	@$(prep-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   273
	@$(RM) -f $@.temp
90ce3da70b43 Initial load
duke
parents:
diff changeset
   274
	$(BOOT_JAVA_CMD) -jar $(ADDJSUM_JARFILE) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   275
	    $(CLASSSHARINGDATA_DIR)/classlist.$(PLATFORM) $@.temp
90ce3da70b43 Initial load
duke
parents:
diff changeset
   276
	$(MV) $@.temp $@
90ce3da70b43 Initial load
duke
parents:
diff changeset
   277
90ce3da70b43 Initial load
duke
parents:
diff changeset
   278
# Import internal files (ones that are stashed in this source tree)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   279
import_internal_files : $(INTERNAL_IMPORT_LIST)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   280
90ce3da70b43 Initial load
duke
parents:
diff changeset
   281
# Import files from the JDK that we are not building
90ce3da70b43 Initial load
duke
parents:
diff changeset
   282
import_files: $(IMPORT_LIST)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   283
90ce3da70b43 Initial load
duke
parents:
diff changeset
   284
# Get component information variables and rules
90ce3da70b43 Initial load
duke
parents:
diff changeset
   285
include $(BUILDDIR)/common/internal/ImportComponents.gmk
90ce3da70b43 Initial load
duke
parents:
diff changeset
   286
90ce3da70b43 Initial load
duke
parents:
diff changeset
   287
# Security files we need to import
90ce3da70b43 Initial load
duke
parents:
diff changeset
   288
SEC_FILES_ZIP=$(ABS_BUILDDIR)/tools/crypto/sec-bin.zip
90ce3da70b43 Initial load
duke
parents:
diff changeset
   289
SEC_FILES_WIN_ZIP=$(ABS_BUILDDIR)/tools/crypto/sec-windows-bin.zip
90ce3da70b43 Initial load
duke
parents:
diff changeset
   290
JGSS_WIN32_FILES_ZIP=$(ABS_BUILDDIR)/tools/crypto/jgss-windows-i586-bin.zip
90ce3da70b43 Initial load
duke
parents:
diff changeset
   291
JGSS_WIN64_FILES_ZIP=$(ABS_BUILDDIR)/tools/crypto/jgss-windows-x64-bin.zip
90ce3da70b43 Initial load
duke
parents:
diff changeset
   292
90ce3da70b43 Initial load
duke
parents:
diff changeset
   293
# Unzip zip file $2 into directory $1 (if $2 exists)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   294
#   Warning: $2 must be absolute path not relative
90ce3da70b43 Initial load
duke
parents:
diff changeset
   295
define SecUnzipper
90ce3da70b43 Initial load
duke
parents:
diff changeset
   296
if [ -f $2 ] ; then \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   297
  $(MKDIR) -p $1; \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   298
  $(ECHO) "( $(CD) $1 && $(UNZIP) -o $2 )"; \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   299
  ( $(CD) $1 && $(UNZIP) -o $2 ); \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   300
fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   301
endef
90ce3da70b43 Initial load
duke
parents:
diff changeset
   302
90ce3da70b43 Initial load
duke
parents:
diff changeset
   303
# If sec-bin exists, unpack it into the build directory
90ce3da70b43 Initial load
duke
parents:
diff changeset
   304
#   Also, the library recompile build indirectly depends on two SSL classes,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   305
#   so copy those as well   FIXUP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   306
#   if sec-windows-bin exists, unpack it into the build directory
90ce3da70b43 Initial load
duke
parents:
diff changeset
   307
#   if JGSS files exists, unpack it into the build directory
90ce3da70b43 Initial load
duke
parents:
diff changeset
   308
$(TEMPDIR)/security_imported:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   309
	@$(prep-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   310
	@$(call SecUnzipper,$(OUTPUTDIR),$(SEC_FILES_ZIP))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   311
ifeq ($(PLATFORM), windows)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   312
	@$(call SecUnzipper,$(OUTPUTDIR),$(SEC_FILES_WIN_ZIP))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   313
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   314
ifeq ($(PLATFORM), windows)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   315
    ifeq ($(ARCH_DATA_MODEL), 32)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   316
	@$(call SecUnzipper,$(OUTPUTDIR),$(JGSS_WIN32_FILES_ZIP))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   317
    else
90ce3da70b43 Initial load
duke
parents:
diff changeset
   318
	@$(call SecUnzipper,$(OUTPUTDIR),$(JGSS_WIN64_FILES_ZIP))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   319
    endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   320
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   321
	@$(ECHO) "Imported on `$(DATE)`" > $@
90ce3da70b43 Initial load
duke
parents:
diff changeset
   322
90ce3da70b43 Initial load
duke
parents:
diff changeset
   323
# Import all files from other components
90ce3da70b43 Initial load
duke
parents:
diff changeset
   324
$(TEMPDIR)/components_imported:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   325
	@$(prep-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   326
	$(call import-component-binaries,$(ABS_OUTPUTDIR))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   327
	$(call import-component-sources,$(IMPORTSRCDIR))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   328
	$(call import-component-docs,$(IMPORTDOCDIR))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   329
	$(call import-component-classes,$(CLASSDESTDIR))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   330
	@$(ECHO) "Imported on `$(DATE)`" > $@
90ce3da70b43 Initial load
duke
parents:
diff changeset
   331
90ce3da70b43 Initial load
duke
parents:
diff changeset
   332
# Do pretty much everything
90ce3da70b43 Initial load
duke
parents:
diff changeset
   333
build : import_files \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   334
	import_internal_files \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   335
	$(TEMPDIR)/components_imported \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   336
	$(TEMPDIR)/security_imported
90ce3da70b43 Initial load
duke
parents:
diff changeset
   337
90ce3da70b43 Initial load
duke
parents:
diff changeset
   338
# Clean up what we imported (except for component files)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   339
clean clobber::
90ce3da70b43 Initial load
duke
parents:
diff changeset
   340
	$(RM) $(IMPORT_LIST)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   341
	$(RM) $(INTERNAL_IMPORT_LIST)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   342
	$(call import-component-sources-clean,$(IMPORTSRCDIR))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   343
	$(call import-component-docs-clean,$(IMPORTDOCDIR))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   344
	$(call import-component-classes-clean,$(CLASSDESTDIR))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   345
	$(RM) $(TEMPDIR)/components_imported
90ce3da70b43 Initial load
duke
parents:
diff changeset
   346
	$(RM) $(TEMPDIR)/security_imported
90ce3da70b43 Initial load
duke
parents:
diff changeset
   347
90ce3da70b43 Initial load
duke
parents:
diff changeset
   348
.PHONY: import_files import_internal_files
90ce3da70b43 Initial load
duke
parents:
diff changeset
   349