2
+ − 1
#
+ − 2
# Copyright 1997-2007 Sun Microsystems, Inc. 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. Sun designates this
+ − 8
# particular file as subject to the "Classpath" exception as provided
+ − 9
# by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ − 22
# CA 95054 USA or visit www.sun.com if you need additional information or
+ − 23
# have any questions.
+ − 24
#
+ − 25
+ − 26
include $(JDK_TOPDIR)/make/docs/CORE_PKGS.gmk
+ − 27
include $(JDK_TOPDIR)/make/docs/NON_CORE_PKGS.gmk
+ − 28
+ − 29
#
+ − 30
# Perform release engineering tasks.
+ − 31
#
+ − 32
# images An image is what the product looks like when it is
+ − 33
# installed.
+ − 34
#
+ − 35
+ − 36
IMAGE_BINDIR = bin
+ − 37
+ − 38
# The compiler should not issue a "Sun Propietary" warning when compiling
+ − 39
# classes in the com.sun.java.swing.plaf packages, since we've always
+ − 40
# allowed, and even advocated, extending them (see bug 6476749).
+ − 41
#
+ − 42
# This approach is NOT to be used as a general purpose way to avoid such
+ − 43
# compiler warnings for non-core packages. The correct way is to document
+ − 44
# the packages in NON_CORE_PKGS.gmk, and include them in the NON_CORE_PKGS
+ − 45
# definition.
+ − 46
#
+ − 47
# Swing has taken this approach only as a temporary measure to avoid
+ − 48
# the compiler warnings until we can properly document these packages.
+ − 49
# This is covered under 6491853.
+ − 50
EXCLUDE_PROPWARN_PKGS = com.sun.java.swing.plaf \
+ − 51
com.sun.java.swing.plaf.windows \
+ − 52
com.sun.java.swing.plaf.motif \
+ − 53
com.sun.java.swing.plaf.gtk
+ − 54
+ − 55
# 64-bit solaris has a few special cases. We define the variable
+ − 56
# SOLARIS64 for use in this Makefile to easily test those cases
+ − 57
ifeq ($(PLATFORM), solaris)
+ − 58
ifeq ($(ARCH_DATA_MODEL), 64)
+ − 59
SOLARIS64 = true
+ − 60
IMAGE_BINDIR = bin/$(ARCH)
+ − 61
endif
+ − 62
endif
+ − 63
+ − 64
JTG_DOCS = $(JDK_TOPDIR)/src/solaris/doc
+ − 65
+ − 66
# Choose the right set of documents for the images
+ − 67
ifdef OPENJDK
+ − 68
SHARE_JDK_DOC_SRC = $(JDK_TOPDIR)/make
+ − 69
SHARE_JRE_DOC_SRC = $(JDK_TOPDIR)/make
+ − 70
else
+ − 71
SHARE_JDK_DOC_SRC = $(CLOSED_SHARE_SRC)/doc/jdk
+ − 72
SHARE_JRE_DOC_SRC = $(CLOSED_SHARE_SRC)/doc/jre
+ − 73
endif
+ − 74
+ − 75
#We use this for man page header
+ − 76
jdkversion := $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
+ − 77
+ − 78
# Text documents on windows use this suffix
+ − 79
ifeq ($(PLATFORM), windows)
+ − 80
TEXT_SUFFIX = .txt
+ − 81
endif
+ − 82
+ − 83
# The base names of all the license and document files for the jdk and jre
+ − 84
ifdef OPENJDK
+ − 85
# Same files for jdk and jre, no name changes
+ − 86
LICENSE_DOCLIST_JDK = LICENSE ASSEMBLY_EXCEPTION
+ − 87
LICENSE_DOCLIST_JRE = LICENSE ASSEMBLY_EXCEPTION
+ − 88
OTHER_DOCLIST_JDK = README.html THIRD_PARTY_README
+ − 89
OTHER_DOCLIST_JRE = README.html THIRD_PARTY_README
+ − 90
else
+ − 91
# Select the pre-release or FCS license version based on the build milestone.
+ − 92
LICENSE_VERSION=.pre
+ − 93
ifeq ($(MILESTONE), fcs)
+ − 94
LICENSE_VERSION=.fcs
+ − 95
endif
+ − 96
ifeq ($(PLATFORM), windows)
+ − 97
LICENSE_DOCLIST_JDK = $(subst $(LICENSE_VERSION),,\
+ − 98
$(shell $(CD) $(SHARE_JDK_DOC_SRC) && \
+ − 99
$(LS) *LICENSE*$(LICENSE_VERSION)))
+ − 100
LICENSE_DOCLIST_JRE = $(subst $(LICENSE_VERSION),,\
+ − 101
$(shell $(CD) $(SHARE_JRE_DOC_SRC) && \
+ − 102
$(LS) *LICENSE*$(LICENSE_VERSION)))
+ − 103
else
+ − 104
LICENSE_DOCLIST_JDK = $(subst $(LICENSE_VERSION),,\
+ − 105
$(shell $(CD) $(SHARE_JDK_DOC_SRC) && \
+ − 106
$(LS) *LICENSE*$(LICENSE_VERSION) | $(GREP) -v rtf))
+ − 107
LICENSE_DOCLIST_JRE = $(subst $(LICENSE_VERSION),,\
+ − 108
$(shell $(CD) $(SHARE_JRE_DOC_SRC) && \
+ − 109
$(LS) *LICENSE*$(LICENSE_VERSION) | $(GREP) -v rtf))
+ − 110
endif
+ − 111
OTHER_DOCLIST_JDK = COPYRIGHT README.html README_ja.html README_zh_CN.html
+ − 112
OTHER_DOCLIST_JRE = COPYRIGHT Welcome.html
+ − 113
JRE_NAMECHANGE_DOCLIST = README
+ − 114
endif
+ − 115
+ − 116
# Paths to these files we need
+ − 117
JDK_LICENSES = $(LICENSE_DOCLIST_JDK:%=$(JDK_IMAGE_DIR)/%)
+ − 118
JDK64_LICENSES = $(LICENSE_DOCLIST_JDK:%=$(JDK_IMAGE_DIR)/%64)
+ − 119
JDK_DOCFILES = $(OTHER_DOCLIST_JDK:%=$(JDK_IMAGE_DIR)/%)
+ − 120
+ − 121
JRE_LICENSES = $(LICENSE_DOCLIST_JRE:%=$(JRE_IMAGE_DIR)/%)
+ − 122
JRE64_LICENSES = $(LICENSE_DOCLIST_JRE:%=$(JRE_IMAGE_DIR)/%64)
+ − 123
JRE_DOCFILES = $(OTHER_DOCLIST_JRE:%=$(JRE_IMAGE_DIR)/%)
+ − 124
JRE_DOCFILES += $(JRE_NAMECHANGE_DOCLIST:%=$(JRE_IMAGE_DIR)/%$(TEXT_SUFFIX))
+ − 125
+ − 126
# absolute directory names: note, these must exist prior to build
+ − 127
# time - they are created in the main Makefile.
+ − 128
JRE_IMAGE_BINDIR = $(JRE_IMAGE_DIR)/bin
+ − 129
JRE_IMAGE_THREADIR = $(JRE_IMAGE_DIR)/bin/*/native_threads
+ − 130
+ − 131
MAINMANIFEST = $(JDK_TOPDIR)/make/tools/manifest.mf
+ − 132
BEANMANIFEST = $(JDK_TOPDIR)/make/javax/swing/beaninfo/manifest
+ − 133
+ − 134
#
+ − 135
# Man pages
+ − 136
#
+ − 137
+ − 138
JRE_MAN_PAGES = \
+ − 139
java.1 \
+ − 140
keytool.1 \
+ − 141
orbd.1 \
+ − 142
pack200.1 \
+ − 143
policytool.1 \
+ − 144
rmid.1 \
+ − 145
rmiregistry.1 \
+ − 146
servertool.1 \
+ − 147
tnameserv.1 \
+ − 148
unpack200.1
+ − 149
+ − 150
ifeq ($(ARCH_DATA_MODEL),32)
+ − 151
JRE_MAN_PAGES += javaws.1
+ − 152
endif
+ − 153
+ − 154
JDK_MAN_PAGES = \
+ − 155
$(JRE_MAN_PAGES) \
+ − 156
appletviewer.1 \
+ − 157
apt.1 \
+ − 158
extcheck.1 \
+ − 159
idlj.1 \
+ − 160
jar.1 \
+ − 161
jarsigner.1 \
+ − 162
javac.1 \
+ − 163
javadoc.1 \
+ − 164
javah.1 \
+ − 165
javap.1 \
+ − 166
jconsole.1 \
+ − 167
jdb.1 \
+ − 168
jhat.1 \
+ − 169
jinfo.1 \
+ − 170
jmap.1 \
+ − 171
jps.1 \
+ − 172
jrunscript.1 \
+ − 173
jsadebugd.1 \
+ − 174
jstack.1 \
+ − 175
jstat.1 \
+ − 176
jstatd.1 \
+ − 177
native2ascii.1 \
+ − 178
rmic.1 \
+ − 179
schemagen.1 \
+ − 180
serialver.1 \
+ − 181
wsgen.1 \
+ − 182
wsimport.1 \
+ − 183
xjc.1
+ − 184
+ − 185
ifeq ($(PLATFORM), solaris)
+ − 186
MANBASEDIRS=$(JDK_TOPDIR)/src/solaris/doc $(IMPORTDOCDIR)
+ − 187
MAN1SUBDIR=sun/man/man1
+ − 188
endif # solaris
+ − 189
+ − 190
ifeq ($(PLATFORM), linux)
+ − 191
MANBASEDIRS=$(JDK_TOPDIR)/src/linux/doc $(IMPORTDOCDIR)
+ − 192
MAN1SUBDIR=man
+ − 193
JA_DIRNAME=ja_JP.$(JA_SOURCE_ENCODING)
+ − 194
endif # linux
+ − 195
+ − 196
define copy-man-pages
+ − 197
$(MKDIR) -p $1/man/man1
+ − 198
for manbase in $(MANBASEDIRS:%=%/$(MAN1SUBDIR)) ; do \
+ − 199
for manpage in $2; do \
+ − 200
if [ -f $${manbase}/$${manpage} ] ; then \
+ − 201
$(CP) $${manbase}/$${manpage} $1/man/man1 ; \
+ − 202
for ja_encoding in $(JA_TARGET_ENCODINGS); do \
+ − 203
ja_dir="ja"; \
+ − 204
if [ "$${ja_encoding}" != "$(JA_SOURCE_ENCODING)" ]; then \
+ − 205
ja_dir="ja_JP.$${ja_encoding}"; \
+ − 206
fi; \
+ − 207
$(MKDIR) -p $1/man/$${ja_dir}/man1; \
+ − 208
$(CAT) $${manbase}/ja/$${manpage} \
+ − 209
| $(NATIVE2ASCII) -encoding $(JA_SOURCE_ENCODING) \
+ − 210
| $(SED) 's/@@VERSION@@/$(jdkversion)/g' \
+ − 211
| $(NATIVE2ASCII) -reverse -encoding $${ja_encoding} \
+ − 212
> $1/man/$${ja_dir}/man1/$${manpage}; \
+ − 213
done; \
+ − 214
fi; \
+ − 215
done; \
+ − 216
done
+ − 217
$(java-vm-cleanup)
+ − 218
if [ "$(JA_DIRNAME)" != "" ] ; then \
+ − 219
$(MV) $1/man/ja $1/man/$(JA_DIRNAME); \
+ − 220
$(CD) $1/man && $(LN) -s $(JA_DIRNAME) ja; \
+ − 221
fi
+ − 222
endef
+ − 223
+ − 224
#
+ − 225
# Targets.
+ − 226
#
+ − 227
INITIAL_IMAGE_JRE=initial-image-jre
+ − 228
INITIAL_IMAGE_JDK=initial-image-jdk
+ − 229
ifeq ($(PLATFORM), solaris)
+ − 230
ifeq ($(ARCH_DATA_MODEL), 64)
+ − 231
INITIAL_IMAGE_JRE=initial-image-jre-sol64
+ − 232
INITIAL_IMAGE_JDK=initial-image-jdk-sol64
+ − 233
endif
+ − 234
endif
+ − 235
+ − 236
images images-clobber \
+ − 237
initial-image-jre initial-image-jdk \
+ − 238
initial-image-jre-sol64 initial-image-jdk-sol64 \
+ − 239
trim-image-jre trim-image-jdk \
+ − 240
process-image-jre process-image-jdk \
+ − 241
compare-image \
+ − 242
sec-files sec-files-win jgss-files ::
+ − 243
@$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
+ − 244
+ − 245
#
+ − 246
# Export binary plugs if not building OPENJDK
+ − 247
#
+ − 248
ifdef OPENJDK
+ − 249
EXPORT_BINARY_PLUGS =
+ − 250
else # !OPENJDK
+ − 251
EXPORT_BINARY_PLUGS = export-binary-plugs test-binary-plugs
+ − 252
endif # OPENJDK
+ − 253
+ − 254
# Order is important here, trim jre after jdk image is created
+ − 255
images:: sanity-images post-sanity-images \
+ − 256
$(EXPORT_BINARY_PLUGS) \
+ − 257
$(INITIAL_IMAGE_JRE) $(INITIAL_IMAGE_JDK) \
+ − 258
trim-image-jre trim-image-jdk \
+ − 259
process-image-jre process-image-jdk sec-files sec-files-win jgss-files
+ − 260
+ − 261
# Don't use these
+ − 262
image-jre:: initial-image-jre trim-image-jre process-image-jre
+ − 263
image-jdk:: initial-image-jdk trim-image-jdk process-image-jdk
+ − 264
+ − 265
#
+ − 266
# Sources we ship in the SDK.
+ − 267
#
+ − 268
SOURCES = \
+ − 269
java/applet \
+ − 270
java/awt \
+ − 271
java/beans \
+ − 272
java/io \
+ − 273
java/lang \
+ − 274
java/math \
+ − 275
java/net \
+ − 276
java/nio \
+ − 277
java/rmi \
+ − 278
java/security \
+ − 279
java/sql \
+ − 280
java/text \
+ − 281
java/util \
+ − 282
com/sun/corba \
+ − 283
com/sun/image/codec/jpeg \
+ − 284
com/sun/imageio \
+ − 285
com/sun/java/swing \
+ − 286
com/sun/javadoc \
+ − 287
com/sun/jmx \
+ − 288
com/sun/mirror \
+ − 289
com/sun/source \
+ − 290
com/sun/naming \
+ − 291
com/sun/security/auth \
+ − 292
com/sun/security/jgss \
+ − 293
javax/accessibility \
+ − 294
javax/annotation \
+ − 295
javax/script \
+ − 296
javax/imageio \
+ − 297
javax/lang \
+ − 298
javax/management \
+ − 299
javax/naming \
+ − 300
javax/print \
+ − 301
javax/rmi \
+ − 302
javax/security \
+ − 303
javax/sound \
+ − 304
javax/sql \
+ − 305
javax/swing \
+ − 306
javax/tools \
+ − 307
javax/xml \
+ − 308
com/sun/org/apache \
+ − 309
com/sun/java_cup \
+ − 310
com/sun/jlex \
+ − 311
org/ietf \
+ − 312
org/omg \
+ − 313
org/w3c/dom \
+ − 314
org/xml/sax \
+ − 315
sunw
+ − 316
#
+ − 317
# Directories where sources may be found. If a file with the same path
+ − 318
# name exists in more than one of these places, the one found last on this
+ − 319
# list wins.
+ − 320
#
+ − 321
SOURCE_DIRS = $(SHARE_SRC)/classes $(PLATFORM_SRC)/classes
+ − 322
SOURCE_DIRS += $(GENSRCDIR)
+ − 323
SOURCE_DIRS += $(IMPORTSRCDIR)
+ − 324
ifndef OPENJDK
+ − 325
SOURCE_DIRS += $(CLOSED_SRC)/share/classes
+ − 326
endif
+ − 327
+ − 328
+ − 329
#
+ − 330
# Specific files and directories that will be filtered out from above areas.
+ − 331
#
+ − 332
SOURCE_FILTERs = $(SCM_DIRs) 'X-*' '*-X-*' '*-template.java' ',*'
+ − 333
SOURCE_FILES_filter = $(SOURCE_FILTERs:%=-name % -prune -o)
+ − 334
+ − 335
#
+ − 336
# Bug 4249883 - excluding some unnecessary packages from com.sun.tools
+ − 337
#
+ − 338
# Bug 5008685 - exclude jconsole from sun/tools
+ − 339
#
+ − 340
TOOLS = \
+ − 341
META-INF/services/com.sun.jdi.connect.Connector \
+ − 342
META-INF/services/com.sun.jdi.connect.spi.TransportService \
+ − 343
sun/tools/asm \
+ − 344
sun/tools/jar \
+ − 345
sun/tools/java \
+ − 346
sun/tools/javac \
+ − 347
sun/tools/javap \
+ − 348
sun/tools/jps \
+ − 349
sun/tools/jstat \
+ − 350
sun/tools/jstatd \
+ − 351
sun/tools/native2ascii \
+ − 352
sun/tools/serialver \
+ − 353
sun/tools/tree \
+ − 354
sun/tools/util \
+ − 355
sun/security/tools/JarBASE64Encoder.class \
+ − 356
sun/security/tools/JarSigner.class \
+ − 357
sun/security/tools/JarSignerParameters.class \
+ − 358
sun/security/tools/JarSignerResources.class \
+ − 359
sun/security/tools/JarSignerResources_ja.class \
+ − 360
sun/security/tools/JarSignerResources_zh_CN.class \
+ − 361
sun/security/tools/SignatureFile\$$Block.class \
+ − 362
sun/security/tools/SignatureFile.class \
+ − 363
sun/security/tools/TimestampedSigner.class \
+ − 364
sun/rmi/rmic \
+ − 365
sun/applet \
+ − 366
sun/jvmstat \
+ − 367
com/sun/javadoc \
+ − 368
com/sun/jdi \
+ − 369
com/sun/jarsigner \
+ − 370
com/sun/mirror \
+ − 371
com/sun/source \
+ − 372
com/sun/tools/doclets \
+ − 373
com/sun/tools/example/debug/expr \
+ − 374
com/sun/tools/example/debug/tty \
+ − 375
com/sun/tools/extcheck \
+ − 376
com/sun/tools/hat \
+ − 377
com/sun/tools/javac \
+ − 378
com/sun/tools/javadoc \
+ − 379
com/sun/tools/apt \
+ − 380
com/sun/tools/javah \
+ − 381
com/sun/tools/corba \
+ − 382
com/sun/tools/internal/xjc \
+ − 383
com/sun/tools/internal/ws \
+ − 384
META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory \
+ − 385
META-INF/services/com.sun.tools.xjc.Plugin \
+ − 386
com/sun/istack/internal/tools \
+ − 387
com/sun/istack/internal/ws \
+ − 388
com/sun/codemodel \
+ − 389
com/sun/tools/internal/jxc \
+ − 390
com/sun/xml/internal/rngom \
+ − 391
com/sun/xml/internal/xsom \
+ − 392
org/relaxng/datatype \
+ − 393
com/sun/xml/internal/dtdparser \
+ − 394
com/sun/tools/jdi \
+ − 395
com/sun/tools/script/shell \
+ − 396
META-INF/services/com.sun.tools.attach.spi.AttachProvider \
+ − 397
com/sun/tools/attach \
+ − 398
sun/tools/attach \
+ − 399
sun/tools/jstack \
+ − 400
sun/tools/jinfo \
+ − 401
sun/tools/jmap
+ − 402
+ − 403
# classes that go into jsse.jar
+ − 404
JSSE_CLASSES_DIRS = \
+ − 405
sun/security/provider/Sun.class \
+ − 406
sun/security/rsa/SunRsaSign.class \
+ − 407
sun/security/ssl \
+ − 408
com/sun/net/ssl/internal/ssl
+ − 409
+ − 410
# files under $(OUTPUTDIR) that need to go into sec-bin.zip for builds
+ − 411
# where the corresponding sources are not available
+ − 412
SEC_FILES_DIRS = \
+ − 413
classes/javax/net \
+ − 414
classes/javax/security/cert \
+ − 415
classes/com/sun/net/ssl \
+ − 416
classes/com/sun/security/cert \
+ − 417
classes/sun/net/www/protocol/https \
+ − 418
classes/sun/security/pkcs12 \
+ − 419
classes/sun/security/ssl \
+ − 420
classes/sun/security/krb5/*.class \
+ − 421
classes/sun/security/krb5/internal/*.class \
+ − 422
classes/sun/security/krb5/internal/ccache \
+ − 423
classes/sun/security/krb5/internal/crypto \
+ − 424
classes/sun/security/krb5/internal/ktab \
+ − 425
classes/sun/security/krb5/internal/rcache \
+ − 426
classes/sun/security/krb5/internal/util \
+ − 427
classes/sun/security/jgss/spi/GSSContextSpi.class
+ − 428
+ − 429
# files under $(OUTPUTDIR) that need to go into sec-windows-win.zip for builds
+ − 430
# where the corresponding sources are not available
+ − 431
SEC_FILES_WIN_DIRS = \
+ − 432
classes/sun/security/krb5/internal/tools
+ − 433
+ − 434
# files under $(BINDIR) that need to go into jgss_files.zip for builds
+ − 435
# where the corresponding sources are not available
+ − 436
JGSS_FILES_DIRS = \
+ − 437
bin/w2k_lsa_auth.dll \
+ − 438
bin/w2k_lsa_auth.map \
+ − 439
bin/w2k_lsa_auth.pdb
+ − 440
+ − 441
# The following get removed from the SDK image.
+ − 442
NOTJDKTOOLS = \
+ − 443
java_vm
+ − 444
+ − 445
# The following get removed from the JRE after the bulk-copy of BINDIR...
+ − 446
NOTJRETOOLS = \
+ − 447
appletviewer$(EXE_SUFFIX) \
+ − 448
extcheck$(EXE_SUFFIX) \
+ − 449
idlj$(EXE_SUFFIX) \
+ − 450
jar$(EXE_SUFFIX) \
+ − 451
jarsigner$(EXE_SUFFIX) \
+ − 452
java-rmi.cgi \
+ − 453
javac$(EXE_SUFFIX) \
+ − 454
javadoc$(EXE_SUFFIX) \
+ − 455
apt$(EXE_SUFFIX) \
+ − 456
javah$(EXE_SUFFIX) \
+ − 457
javap$(EXE_SUFFIX) \
+ − 458
jdb$(EXE_SUFFIX) \
+ − 459
jps$(EXE_SUFFIX) \
+ − 460
jrunscript$(EXE_SUFFIX) \
+ − 461
jstat$(EXE_SUFFIX) \
+ − 462
jstatd$(EXE_SUFFIX) \
+ − 463
jstack$(EXE_SUFFIX) \
+ − 464
packagebean$(SCRIPT_SUFFIX) \
+ − 465
rmic$(EXE_SUFFIX) \
+ − 466
serialver$(EXE_SUFFIX) \
+ − 467
unregbean$(EXE_SUFFIX) \
+ − 468
jconsole$(EXE_SUFFIX) \
+ − 469
jinfo$(EXE_SUFFIX) \
+ − 470
jmap$(EXE_SUFFIX) \
+ − 471
native2ascii$(EXE_SUFFIX) \
+ − 472
xjc$(EXE_SUFFIX) \
+ − 473
wsgen$(EXE_SUFFIX) \
+ − 474
wsimport$(EXE_SUFFIX) \
+ − 475
schemagen$(EXE_SUFFIX) \
+ − 476
jsadebugd$(EXE_SUFFIX) \
+ − 477
jhat$(EXE_SUFFIX)
+ − 478
+ − 479
# The following get removed from the JRE after the bulk-copy of LIBDIR...
+ − 480
NOTJRELIBS = tools.jar \
+ − 481
jconsole.jar
+ − 482
+ − 483
ifeq ($(INCLUDE_SA), true)
+ − 484
NOTJRELIBS += sa-jdi.jar
+ − 485
+ − 486
# The following get removed from the JRE after the bulk-copy of LIBDIR...
+ − 487
NOTJRE_SHARED_LIBS = $(SALIB_NAME)
+ − 488
else
+ − 489
NOTJRE_SHARED_LIBS =
+ − 490
endif
+ − 491
+ − 492
# Attach library is JDK only
+ − 493
NOTJRE_SHARED_LIBS += $(LIB_PREFIX)attach.$(LIBRARY_SUFFIX)
+ − 494
+ − 495
#
+ − 496
###### RULES
+ − 497
+ − 498
# Processing license files from source area to image area
+ − 499
# These will be modified to have the platform specific EOL chars.
+ − 500
define process-doc-file
+ − 501
$(prep-target)
+ − 502
$(SED) 's/$$//g' $< > $@
+ − 503
$(CHMOD) 444 $@
+ − 504
endef
+ − 505
+ − 506
# JDK files
+ − 507
$(JDK_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/%
+ − 508
$(process-doc-file)
+ − 509
# Removes LICENSE_VERSION or not
+ − 510
ifdef LICENSE_VERSION
+ − 511
$(JDK_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/%$(LICENSE_VERSION)
+ − 512
$(process-doc-file)
+ − 513
$(JDK_IMAGE_DIR)/%64: $(SHARE_JDK_DOC_SRC)/%$(LICENSE_VERSION)
+ − 514
$(process-doc-file)
+ − 515
else
+ − 516
$(JDK_IMAGE_DIR)/%64: $(SHARE_JDK_DOC_SRC)/%
+ − 517
$(process-doc-file)
+ − 518
endif
+ − 519
+ − 520
# JRE files
+ − 521
$(JRE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/%
+ − 522
$(process-doc-file)
+ − 523
# Add $(TEXT_SUFFIX) suffix
+ − 524
ifdef TEXT_SUFFIX
+ − 525
$(JRE_IMAGE_DIR)/%$(TEXT_SUFFIX): $(SHARE_JRE_DOC_SRC)/%
+ − 526
$(process-doc-file)
+ − 527
endif
+ − 528
# Removes LICENSE_VERSION or not
+ − 529
ifdef LICENSE_VERSION
+ − 530
$(JRE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/%$(LICENSE_VERSION)
+ − 531
$(process-doc-file)
+ − 532
$(JRE_IMAGE_DIR)/%64: $(SHARE_JRE_DOC_SRC)/%$(LICENSE_VERSION)
+ − 533
$(process-doc-file)
+ − 534
else
+ − 535
$(JRE_IMAGE_DIR)/%64: $(SHARE_JRE_DOC_SRC)/%
+ − 536
$(process-doc-file)
+ − 537
endif
+ − 538
+ − 539
# Differences tool
+ − 540
DIRDIFF_JARFILE = $(BUILDTOOLJARDIR)/dirdiff.jar
+ − 541
+ − 542
######################################################
+ − 543
# List of directories in classes directory that should NOT be in rt.jar
+ − 544
######################################################
+ − 545
+ − 546
NOT_RT_JAR_LIST = $(ABS_TEMPDIR)/not_rt_jar.list
+ − 547
+ − 548
$(NOT_RT_JAR_LIST): FRC
+ − 549
$(prep-target)
+ − 550
$(ECHO) "#\n" >> $@
+ − 551
$(ECHO) "# List of subdirectories not in include in rt.jar" >> $@
+ − 552
$(ECHO) "# Directories must contain trailing '/'." >> $@
+ − 553
$(ECHO) "com/sun/javadoc/" >> $@
+ − 554
$(ECHO) "com/sun/jdi/" >> $@
+ − 555
$(ECHO) "com/sun/jarsigner/" >> $@
+ − 556
$(ECHO) "com/sun/mirror/" >> $@
+ − 557
$(ECHO) "com/sun/source/" >> $@
+ − 558
$(ECHO) "com/sun/istack/internal/tools/" >> $@
+ − 559
$(ECHO) "com/sun/istack/internal/ws/" >> $@
+ − 560
$(ECHO) "META-INF/services/com.sun.jdi.connect.Connector" >> $@
+ − 561
$(ECHO) "META-INF/services/com.sun.jdi.connect.spi.TransportService" >> $@
+ − 562
$(ECHO) "META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory" >> $@
+ − 563
$(ECHO) "META-INF/services/com.sun.tools.xjc.Plugin" >> $@
+ − 564
$(ECHO) "com/sun/tools/" >> $@
+ − 565
$(ECHO) "sun/jvmstat/" >> $@
+ − 566
$(ECHO) "sun/rmi/rmic/" >> $@
+ − 567
$(ECHO) "sun/tools/asm/" >> $@
+ − 568
$(ECHO) "sun/tools/java/" >> $@
+ − 569
$(ECHO) "sun/tools/javac/" >> $@
+ − 570
$(ECHO) "sun/tools/javap/" >> $@
+ − 571
$(ECHO) "sun/tools/jconsole/" >> $@
+ − 572
$(ECHO) "sun/tools/jps/" >> $@
+ − 573
$(ECHO) "sun/tools/jstat/" >> $@
+ − 574
$(ECHO) "sun/tools/jstatd/" >> $@
+ − 575
$(ECHO) "sun/tools/native2ascii/" >> $@
+ − 576
$(ECHO) "sun/tools/serialver/" >> $@
+ − 577
$(ECHO) "sun/tools/tree/" >> $@
+ − 578
$(ECHO) "sun/tools/util/" >> $@
+ − 579
$(ECHO) "sun/security/tools/JarBASE64Encoder.class" >> $@
+ − 580
$(ECHO) "sun/security/tools/JarSigner.class" >> $@
+ − 581
$(ECHO) "sun/security/tools/JarSignerParameters.class" >> $@
+ − 582
$(ECHO) "sun/security/tools/JarSignerResources.class" >> $@
+ − 583
$(ECHO) "sun/security/tools/JarSignerResources_ja.class" >> $@
+ − 584
$(ECHO) "sun/security/tools/JarSignerResources_zh_CN.class" >> $@
+ − 585
$(ECHO) "sun/security/tools/SignatureFile\$$Block.class" >> $@
+ − 586
$(ECHO) "sun/security/tools/SignatureFile.class" >> $@
+ − 587
$(ECHO) "sun/security/tools/TimestampedSigner.class" >> $@
+ − 588
$(ECHO) "sun/security/provider/Sun.class" >> $@
+ − 589
$(ECHO) "sun/security/rsa/SunRsaSign.class" >> $@
+ − 590
$(ECHO) "sun/security/ssl/" >> $@
+ − 591
$(ECHO) "com/sun/net/ssl/internal/ssl/" >> $@
+ − 592
$(ECHO) "javax/crypto/" >> $@
+ − 593
$(ECHO) "sun/security/internal/" >> $@
+ − 594
$(ECHO) "com/sun/crypto/provider/" >> $@
+ − 595
$(ECHO) "META-INF/services/com.sun.tools.attach.spi.AttachProvider" >> $@
+ − 596
$(ECHO) "com/sun/tools/attach/" >> $@
+ − 597
$(ECHO) "org/relaxng/datatype/" >> $@
+ − 598
$(ECHO) "com/sun/codemodel/" >> $@
+ − 599
$(ECHO) "com/sun/xml/internal/dtdparser/" >> $@
+ − 600
$(ECHO) "com/sun/xml/internal/rngom/" >> $@
+ − 601
$(ECHO) "com/sun/xml/internal/xsom/" >> $@
+ − 602
$(ECHO) "com/sun/tools/script/shell/" >> $@
+ − 603
$(ECHO) "sun/tools/attach/" >> $@
+ − 604
$(ECHO) "sun/tools/jstack/" >> $@
+ − 605
$(ECHO) "sun/tools/jinfo/" >> $@
+ − 606
$(ECHO) "sun/tools/jmap/" >> $@
+ − 607
+ − 608
+ − 609
# File order list for rt.jar
+ − 610
# - sun.applet is included, till hotjava stops relying on it.
+ − 611
# - sun.tools.jar is included, needs cleanup.
+ − 612
#
+ − 613
REORDER_TEMPDIR=$(ABS_TEMPDIR)/reorder
+ − 614
TOTAL_JAR_FILELIST=$(REORDER_TEMPDIR)/file_list
+ − 615
+ − 616
JARFILELISTS_TEMPDIR=$(ABS_TEMPDIR)/jarfilelists
+ − 617
RT_JAR_FILELIST=$(JARFILELISTS_TEMPDIR)/rt_jar_list
+ − 618
RES_JAR_FILELIST=$(JARFILELISTS_TEMPDIR)/resources_jar_list
+ − 619
+ − 620
JARREORDER_JARFILE = $(ABS_BUILDTOOLJARDIR)/jarreorder.jar
+ − 621
+ − 622
$(TOTAL_JAR_FILELIST): $(JARREORDER_JARFILE) $(NOT_RT_JAR_LIST)
+ − 623
$(prep-target)
+ − 624
$(RM) $@.temp
+ − 625
($(CD) $(CLASSBINDIR) && \
+ − 626
$(BOOT_JAVA_CMD) -jar $(JARREORDER_JARFILE) \
+ − 627
-o $@.temp $(ABS_LIBDIR)/classlist $(NOT_RT_JAR_LIST) . )
+ − 628
$(MV) $@.temp $@
+ − 629
@($(CD) $(CLASSBINDIR) && $(java-vm-cleanup))
+ − 630
+ − 631
# Create the rt.jar file list & non-class files list
+ − 632
+ − 633
JARSPLIT_JARFILE = $(BUILDTOOLJARDIR)/jarsplit.jar
+ − 634
+ − 635
$(RT_JAR_FILELIST) + $(RES_JAR_FILELIST): \
+ − 636
$(TOTAL_JAR_FILELIST) $(JARSPLIT_JARFILE)
+ − 637
@$(RM) $(RT_JAR_FILELIST) $(RES_JAR_FILELIST)
+ − 638
$(MKDIR) -p $(JARFILELISTS_TEMPDIR)
+ − 639
$(BOOT_JAVA_CMD) -jar $(JARSPLIT_JARFILE) \
+ − 640
$(TOTAL_JAR_FILELIST) \
+ − 641
-o $(RT_JAR_FILELIST) $(RES_JAR_FILELIST)
+ − 642
@$(java-vm-cleanup)
+ − 643
+ − 644
# Create the manifest file.
+ − 645
JAR_MANIFEST_FILE=$(TEMPDIR)/manifest.tmp
+ − 646
$(JAR_MANIFEST_FILE): $(MAINMANIFEST) $(BEANMANIFEST)
+ − 647
$(prep-target)
+ − 648
$(SED) -e "s/@@RELEASE@@/$(RELEASE)/" $(MAINMANIFEST) >> $@
+ − 649
$(ECHO) >> $@
+ − 650
$(CAT) $(BEANMANIFEST) >> $@
+ − 651
+ − 652
# Create resources.jar containing non-class files
+ − 653
RESOURCES_JAR=$(TEMPDIR)/resources-orig.jar
+ − 654
RES_JAR_ARGLIST=$(RES_JAR_FILELIST)_args
+ − 655
$(RES_JAR_ARGLIST): $(RES_JAR_FILELIST)
+ − 656
$(prep-target)
+ − 657
$(SED) -e "s@^@-C $(CLASSBINDIR) @" $< > $@
+ − 658
$(RESOURCES_JAR): $(RES_JAR_ARGLIST) $(JAR_MANIFEST_FILE)
+ − 659
$(prep-target)
+ − 660
$(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \
+ − 661
@$(RES_JAR_ARGLIST) $(JAR_JFLAGS)
+ − 662
@$(java-vm-cleanup)
+ − 663
+ − 664
# Create jsse.jar containing SunJSSE implementation classes
+ − 665
JSSE_JAR=$(TEMPDIR)/jsse-orig.jar
+ − 666
$(JSSE_JAR): $(JAR_MANIFEST_FILE)
+ − 667
$(prep-target)
+ − 668
$(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \
+ − 669
$(JSSE_CLASSES_DIRS:%=-C $(CLASSBINDIR) %) \
+ − 670
$(JAR_JFLAGS)
+ − 671
@$(java-vm-cleanup)
+ − 672
+ − 673
# Create sec-bin.zip
+ − 674
SEC_FILES_ZIP=$(ABS_TEMPDIR)/sec-bin.zip
+ − 675
sec-files::
+ − 676
$(prep-target)
+ − 677
$(RM) $(SEC_FILES_ZIP)
+ − 678
$(CD) $(OUTPUTDIR) && \
+ − 679
$(ZIPEXE) -rq9 $(SEC_FILES_ZIP) $(SEC_FILES_DIRS)
+ − 680
@$(java-vm-cleanup)
+ − 681
+ − 682
# Create sec-windows-bin.zip
+ − 683
SEC_FILES_WIN_ZIP=$(ABS_TEMPDIR)/sec-windows-bin.zip
+ − 684
sec-files-win::
+ − 685
ifeq ($(PLATFORM), windows)
+ − 686
$(prep-target)
+ − 687
$(RM) $(SEC_FILES_WIN_ZIP)
+ − 688
$(CD) $(OUTPUTDIR) && \
+ − 689
$(ZIPEXE) -rq9 $(SEC_FILES_WIN_ZIP) $(SEC_FILES_WIN_DIRS)
+ − 690
@$(java-vm-cleanup)
+ − 691
endif
+ − 692
+ − 693
# Create JGSS files that contains the native Kerberos library
+ − 694
JGSS_WIN32_FILES_ZIP=$(ABS_TEMPDIR)/jgss-windows-i586-bin.zip
+ − 695
JGSS_WIN64_FILES_ZIP=$(ABS_TEMPDIR)/jgss-windows-x64-bin.zip
+ − 696
jgss-files::
+ − 697
ifeq ($(PLATFORM), windows)
+ − 698
$(prep-target)
+ − 699
ifeq ($(ARCH_DATA_MODEL), 32)
+ − 700
$(RM) $(JGSS_WIN32_FILES_ZIP)
+ − 701
$(CD) $(OUTPUTDIR) && \
+ − 702
$(ZIPEXE) -rq9 $(JGSS_WIN32_FILES_ZIP) $(JGSS_FILES_DIRS)
+ − 703
else
+ − 704
$(RM) $(JGSS_WIN64_FILES_ZIP)
+ − 705
$(CD) $(OUTPUTDIR) && \
+ − 706
$(ZIPEXE) -rq9 $(JGSS_WIN64_FILES_ZIP) $(JGSS_FILES_DIRS)
+ − 707
endif
+ − 708
@$(java-vm-cleanup)
+ − 709
endif
+ − 710
+ − 711
# Create rt.jar
+ − 712
RT_JAR=$(ABS_TEMPDIR)/rt-orig.jar
+ − 713
RT_JAR_ARGLIST=$(RT_JAR_FILELIST)_args
+ − 714
$(RT_JAR_ARGLIST): $(RT_JAR_FILELIST)
+ − 715
$(prep-target)
+ − 716
$(SED) -e "s@^@-C $(CLASSBINDIR) @" $< > $@
+ − 717
$(RT_JAR): $(RT_JAR_ARGLIST) $(JAR_MANIFEST_FILE)
+ − 718
$(prep-target)
+ − 719
$(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \
+ − 720
@$(RT_JAR_ARGLIST) $(JAR_JFLAGS)
+ − 721
@$(java-vm-cleanup)
+ − 722
+ − 723
# Meta-index construction to make core class loaders lazier
+ − 724
+ − 725
BUILDMETAINDEX_JARFILE = $(ABS_BUILDTOOLJARDIR)/buildmetaindex.jar
+ − 726
+ − 727
######################################################
+ − 728
# JRE Image
+ − 729
######################################################
+ − 730
+ − 731
initial-image-jre-setup:
+ − 732
$(RM) -r $(JRE_IMAGE_DIR)
+ − 733
$(MKDIR) -p $(JRE_IMAGE_DIR)
+ − 734
+ − 735
# 64-bit solaris jre image contains only the 64-bit add-on files.
+ − 736
initial-image-jre-sol64:: initial-image-jre-setup \
+ − 737
$(JRE_LICENSES) $(JRE64_LICENSES)
+ − 738
@# Use tar instead of cp to preserve the symbolic links
+ − 739
for dir in bin lib ; do \
+ − 740
( $(CD) $(OUTPUTDIR) && \
+ − 741
$(TAR) cf - `$(FIND) $$dir -name '$(ARCH)' -print` | \
+ − 742
($(CD) $(JRE_IMAGE_DIR) && $(TAR) xf -) ) ; \
+ − 743
done
+ − 744
@# Remove some files from the jre area
+ − 745
for t in $(NOTJRETOOLS) ; do \
+ − 746
$(RM) $(JRE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \
+ − 747
done
+ − 748
for l in $(NOTJRELIBS) ; do \
+ − 749
$(RM) $(JRE_IMAGE_DIR)/lib/$$l ; \
+ − 750
done
+ − 751
$(RM) `$(FIND) $(JRE_IMAGE_DIR)/lib -name 'orb.idl'`
+ − 752
$(RM) `$(FIND) $(JRE_IMAGE_DIR)/lib -name 'ir.idl'`
+ − 753
+ − 754
# Construct an initial jre image (initial jdk jre) no trimming or stripping
+ − 755
initial-image-jre:: initial-image-jre-setup \
+ − 756
$(JRE_LICENSES) $(JRE_DOCFILES) \
+ − 757
$(RT_JAR) $(RESOURCES_JAR) $(JSSE_JAR) \
+ − 758
$(BUILDMETAINDEX_JARFILE)
+ − 759
@# Copy in bin directory
+ − 760
$(CD) $(OUTPUTDIR) && $(FIND) bin -depth | $(CPIO) -pdum $(JRE_IMAGE_DIR)
+ − 761
@# CTE plugin security change require new empty directory lib/applet
+ − 762
$(MKDIR) -p $(JRE_IMAGE_DIR)/lib/applet
+ − 763
@# Copy in lib directory
+ − 764
$(CD) $(OUTPUTDIR) && $(FIND) lib -depth | $(CPIO) -pdum $(JRE_IMAGE_DIR)
+ − 765
@# Make sure all directories are read/execute for everyone
+ − 766
$(CHMOD) a+rx `$(FIND) $(JRE_IMAGE_DIR) -type d`
+ − 767
@# Remove some files from the jre area
+ − 768
for t in $(NOTJRETOOLS) ; do \
+ − 769
$(RM) $(JRE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \
+ − 770
done
+ − 771
for l in $(NOTJRELIBS) ; do \
+ − 772
$(RM) $(JRE_IMAGE_DIR)/lib/$$l ; \
+ − 773
done
+ − 774
@# Remove orb.idl and ir.idl from jre
+ − 775
$(FIND) $(JRE_IMAGE_DIR)/lib -name 'orb.idl' -exec $(RM) \{} \;
+ − 776
$(FIND) $(JRE_IMAGE_DIR)/lib -name 'ir.idl' -exec $(RM) \{} \;
+ − 777
@# Copy in rt.jar & resources.jar file
+ − 778
$(CP) $(RT_JAR) $(JRE_IMAGE_DIR)/lib/rt.jar
+ − 779
$(CP) $(RESOURCES_JAR) $(JRE_IMAGE_DIR)/lib/resources.jar
+ − 780
$(CP) $(JSSE_JAR) $(JRE_IMAGE_DIR)/lib/jsse.jar
+ − 781
@# Generate meta-index to make boot and extension class loaders lazier
+ − 782
$(CD) $(JRE_IMAGE_DIR)/lib && \
+ − 783
$(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \
+ − 784
-o meta-index *.jar
+ − 785
@$(CD) $(JRE_IMAGE_DIR)/lib && $(java-vm-cleanup)
+ − 786
$(CD) $(JRE_IMAGE_DIR)/lib/ext && \
+ − 787
$(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \
+ − 788
-o meta-index *.jar
+ − 789
@$(CD) $(JRE_IMAGE_DIR)/lib/ext && $(java-vm-cleanup)
+ − 790
ifeq ($(PLATFORM), windows)
+ − 791
@# Remove certain *.lib files
+ − 792
$(CD) $(JRE_IMAGE_DIR)/lib && \
+ − 793
$(RM) java.$(LIB_SUFFIX) jvm.$(LIB_SUFFIX) \
+ − 794
hpi.$(LIB_SUFFIX) awt.$(LIB_SUFFIX) jawt.$(LIB_SUFFIX)
+ − 795
endif # Windows
+ − 796
ifneq ($(PLATFORM), windows)
+ − 797
$(call copy-man-pages,$(JRE_IMAGE_DIR),$(JRE_MAN_PAGES))
+ − 798
endif # !windows
+ − 799
+ − 800
# Trim out any extra files not for the jre shipment but wanted in the jdk jre.
+ − 801
# (Note the jdk WILL want the jre image before this trimming)
+ − 802
# Removes server VM on Windows 32bit.
+ − 803
# Remove certain shared libraries that should not be in the jre image
+ − 804
# but should be in the jdk jre image.
+ − 805
trim-image-jre::
+ − 806
ifeq ($(PLATFORM), windows)
+ − 807
ifeq ($(ARCH_DATA_MODEL), 32)
+ − 808
$(RM) -r $(JRE_IMAGE_DIR)/bin/server
+ − 809
endif
+ − 810
ifdef NOTJRE_SHARED_LIBS
+ − 811
for l in $(NOTJRE_SHARED_LIBS) ; do \
+ − 812
$(RM) $(JRE_IMAGE_DIR)/bin/$$l ; \
+ − 813
done ;
+ − 814
endif
+ − 815
else # PLATFORM
+ − 816
ifdef NOTJRE_SHARED_LIBS
+ − 817
for l in $(NOTJRE_SHARED_LIBS) ; do \
+ − 818
$(RM) $(JRE_IMAGE_DIR)/lib/$(LIBARCH)/$$l ; \
+ − 819
done ;
+ − 820
endif
+ − 821
endif # PLATFORM
+ − 822
+ − 823
# Get list of all Elf files in the jre
+ − 824
JRE_ELF_LIST=$(TEMPDIR)/jre-elf-files.list
+ − 825
$(JRE_ELF_LIST):
+ − 826
ifneq ($(PLATFORM), windows)
+ − 827
$(RM) $@
+ − 828
$(FIND) $(JRE_IMAGE_DIR)/lib -type f -name \*.$(LIB_SUFFIX) >> $@
+ − 829
$(FILE) `$(FIND) $(JRE_IMAGE_DIR)/bin -type f -name \*$(EXE_SUFFIX)` \
+ − 830
| $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
+ − 831
endif
+ − 832
+ − 833
# Post process the image (strips and mcs on Elf files we are shipping)
+ − 834
# (Note the jdk WILL want the jre image before this processing)
+ − 835
process-image-jre:: $(JRE_ELF_LIST)
+ − 836
ifneq ($(POST_STRIP_PROCESS), )
+ − 837
for f in `$(CAT) $(JRE_ELF_LIST)`; do \
+ − 838
$(CHMOD) u+w $${f}; \
+ − 839
$(ECHO) $(POST_STRIP_PROCESS) $${f}; \
+ − 840
$(POST_STRIP_PROCESS) $${f}; \
+ − 841
$(CHMOD) go-w $${f}; \
+ − 842
done
+ − 843
endif
+ − 844
ifneq ($(POST_MCS_PROCESS), )
+ − 845
for f in `$(CAT) $(JRE_ELF_LIST)`; do \
+ − 846
$(CHMOD) u+w $${f}; \
+ − 847
$(ECHO) $(POST_MCS_PROCESS) $${f}; \
+ − 848
$(POST_MCS_PROCESS) $${f}; \
+ − 849
$(CHMOD) go-w $${f}; \
+ − 850
done
+ − 851
endif
+ − 852
$(RM) $(JRE_ELF_LIST)
+ − 853
+ − 854
######################################################
+ − 855
# JDK Image
+ − 856
######################################################
+ − 857
# Note: cpio ($(CPIO)) sometimes leaves directories without rx access.
+ − 858
+ − 859
initial-image-jdk-setup:
+ − 860
$(RM) -r $(JDK_IMAGE_DIR)
+ − 861
$(MKDIR) -p $(JDK_IMAGE_DIR)/jre
+ − 862
($(CD) $(JRE_IMAGE_DIR) && $(FIND) . -depth -print \
+ − 863
| $(CPIO) -pdum $(JDK_IMAGE_DIR)/jre )
+ − 864
$(RM) -rf $(JDK_IMAGE_DIR)/jre/man
+ − 865
$(CHMOD) a+rx `$(FIND) $(JDK_IMAGE_DIR) -type d`
+ − 866
+ − 867
initial-image-jdk64-bindemos:
+ − 868
for dir in bin demo ; do \
+ − 869
( $(CD) $(OUTPUTDIR) && \
+ − 870
$(TAR) cf - `$(FIND) $$dir -name '$(LIBARCH)' -print` | \
+ − 871
($(CD) $(JDK_IMAGE_DIR) && $(TAR) xf -) ) ; \
+ − 872
done
+ − 873
+ − 874
# Solaris 64 bit image is special
+ − 875
initial-image-jdk-sol64:: initial-image-jdk-setup \
+ − 876
initial-image-jdk64-bindemos \
+ − 877
$(JDK_LICENSES) $(JDK64_LICENSES)
+ − 878
+ − 879
# DB files to add
+ − 880
ifdef OPENJDK
+ − 881
+ − 882
initial-image-jdk-db:
+ − 883
+ − 884
else
+ − 885
+ − 886
# Create the list of db *.zip files to bundle with jdk
+ − 887
ABS_DB_PATH :=$(call FullPath,$(CLOSED_SHARE_SRC)/db)
+ − 888
DB_ZIP_LIST = $(shell $(LS) $(ABS_DB_PATH)/*.zip 2>/dev/null)
+ − 889
+ − 890
initial-image-jdk-db: $(DB_ZIP_LIST)
+ − 891
$(MKDIR) -p $(JDK_IMAGE_DIR)/db
+ − 892
for d in $(DB_ZIP_LIST); do \
+ − 893
($(CD) $(JDK_IMAGE_DIR)/db && $(UNZIP) -o $$d); \
+ − 894
done
+ − 895
+ − 896
endif
+ − 897
+ − 898
# Standard jdk image
+ − 899
initial-image-jdk:: initial-image-jdk-setup \
+ − 900
initial-image-jdk-db \
+ − 901
$(JDK_LICENSES) $(JDK_DOCFILES)
+ − 902
$(MKDIR) $(JDK_IMAGE_DIR)/lib
+ − 903
@#
+ − 904
@# Copy in the jars in lib that only belong in the JDK
+ − 905
@#
+ − 906
for l in $(NOTJRELIBS); do \
+ − 907
if [ -r $(LIBDIR)/$$l ]; then \
+ − 908
$(CP) $(LIBDIR)/$$l $(JDK_IMAGE_DIR)/lib; \
+ − 909
fi; \
+ − 910
done
+ − 911
ifeq ($(PLATFORM), windows)
+ − 912
@#
+ − 913
@# Audio soundbank - Bug# 4236400
+ − 914
@# Windows only: adding audio files to JDK's jre/lib directory.
+ − 915
@#
+ − 916
($(CD) $(LIBDIR) && $(TAR) cf - \
+ − 917
`$(FIND) audio -depth -print`) | \
+ − 918
($(CD) $(JDK_IMAGE_DIR)/jre/lib && $(TAR) xf -)
+ − 919
@#
+ − 920
@#
+ − 921
@# lib/
+ − 922
@#
+ − 923
$(CP) $(LIBDIR)/$(LIB_PREFIX)jvm.$(LIB_SUFFIX) $(JDK_IMAGE_DIR)/lib
+ − 924
$(CP) $(LIBDIR)/$(LIB_PREFIX)jawt.$(LIB_SUFFIX) $(JDK_IMAGE_DIR)/lib
+ − 925
@#
+ − 926
@# bin/
+ − 927
@#
+ − 928
@# copy all EXE files and only certain DLL files from BINDIR
+ − 929
$(MKDIR) -p $(JDK_IMAGE_DIR)/bin
+ − 930
$(CP) $(BINDIR)/*$(EXE_SUFFIX) $(JDK_IMAGE_DIR)/bin
+ − 931
$(CP) $(BINDIR)/jli.$(LIBRARY_SUFFIX) $(JDK_IMAGE_DIR)/bin
+ − 932
ifeq ($(ARCH_DATA_MODEL), 32)
+ − 933
ifeq ($(COMPILER_VERSION), VS2003)
+ − 934
$(CP) $(BINDIR)/msvc*71.$(LIBRARY_SUFFIX) $(JDK_IMAGE_DIR)/bin
+ − 935
endif
+ − 936
endif
+ − 937
else # PLATFORM
+ − 938
@#
+ − 939
@# bin/
+ − 940
@#
+ − 941
($(CD) $(BINDIR)/.. && $(TAR) cf - \
+ − 942
`$(FIND) bin \( -type f -o -type l \) -print `) | \
+ − 943
($(CD) $(JDK_IMAGE_DIR) && $(TAR) xf -)
+ − 944
endif # PLATFORM
+ − 945
@#
+ − 946
@# files that might not exist need to be touched.
+ − 947
@#
+ − 948
$(TOUCH) $(CLASSBINDIR)/META-INF/services/com.sun.tools.xjc.Plugin
+ − 949
@#
+ − 950
@# lib/tools.jar
+ − 951
@#
+ − 952
$(BOOT_JAR_CMD) c0f $(LIBDIR)/tools.jar $(addprefix \
+ − 953
-C $(CLASSBINDIR) , $(TOOLS)) \
+ − 954
$(JAR_JFLAGS)
+ − 955
@$(java-vm-cleanup)
+ − 956
$(CP) $(LIBDIR)/tools.jar $(JDK_IMAGE_DIR)/lib/tools.jar
+ − 957
@#
+ − 958
@# lib/ct.sym
+ − 959
@#
+ − 960
$(MKDIR) -p $(OUTPUTDIR)/symbols/META-INF/sym
+ − 961
$(JAVAC_CMD) -XDprocess.packages -proc:only \
+ − 962
-processor com.sun.tools.javac.sym.CreateSymbols \
+ − 963
-Acom.sun.tools.javac.sym.Jar=$(RT_JAR) \
+ − 964
-Acom.sun.tools.javac.sym.Dest=$(OUTPUTDIR)/symbols/META-INF/sym/rt.jar \
+ − 965
$(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS)
+ − 966
$(BOOT_JAR_CMD) c0f $(LIBDIR)/ct.sym \
+ − 967
-C $(OUTPUTDIR)/symbols META-INF $(JAR_JFLAGS)
+ − 968
@$(java-vm-cleanup)
+ − 969
$(CP) $(LIBDIR)/ct.sym $(JDK_IMAGE_DIR)/lib/ct.sym
+ − 970
@#
+ − 971
@# CORBA supported orb.idl and ir.idl should be copied to lib
+ − 972
@#
+ − 973
$(CP) $(LIBDIR)/orb.idl $(JDK_IMAGE_DIR)/lib/orb.idl
+ − 974
$(CP) $(LIBDIR)/ir.idl $(JDK_IMAGE_DIR)/lib/ir.idl
+ − 975
ifeq ($(PLATFORM), linux)
+ − 976
@#
+ − 977
@# on Linux copy jexec from jre/lib to /lib
+ − 978
@#
+ − 979
$(CP) $(LIBDIR)/jexec $(JDK_IMAGE_DIR)/lib/jexec
+ − 980
endif # PLATFORM
+ − 981
@#
+ − 982
@# src.zip
+ − 983
@#
+ − 984
$(MKDIR) -p $(JDK_IMAGE_DIR)/src
+ − 985
@#
+ − 986
@# The '*-*' pattern in the find command excludes files named with dashes,
+ − 987
@# such as the java.nio templates for generated classes
+ − 988
@#
+ − 989
@# The Linux 'tar' command cannot handle the huge command line argument
+ − 990
@# generated by the more efficient solaris/windows method of copying files.
+ − 991
@# So for Linux, make use of the -T option (like Solaris' -I option) of
+ − 992
@# obtaining the list of files from a file. MKS tar has no such option.
+ − 993
ifeq ($(PLATFORM), linux)
+ − 994
for d in $(SOURCE_DIRS); do \
+ − 995
$(RM) $(ABS_TEMPDIR)/src-files.list; \
+ − 996
($(CD) $$d && \
+ − 997
for sd in $(SOURCES) ; do \
+ − 998
if [ -d $$sd ] ; then \
+ − 999
$(FIND) $$sd $(SOURCE_FILES_filter) \
+ − 1000
-name '*.java' -print \
+ − 1001
>> $(ABS_TEMPDIR)/src-files.list ; \
+ − 1002
fi; \
+ − 1003
done ; \
+ − 1004
) ; \
+ − 1005
if [ -f $(ABS_TEMPDIR)/src-files.list ] ; then \
+ − 1006
($(CD) $$d && $(TAR) cf - -T $(ABS_TEMPDIR)/src-files.list ) \
+ − 1007
| ($(CD) $(JDK_IMAGE_DIR)/src && $(TAR) xf -); \
+ − 1008
fi; \
+ − 1009
done
+ − 1010
else
+ − 1011
for d in $(SOURCE_DIRS); do \
+ − 1012
$(RM) $(ABS_TEMPDIR)/src-files.list; \
+ − 1013
($(CD) $$d && \
+ − 1014
for sd in $(SOURCES) ; do \
+ − 1015
if [ -d $$sd ] ; then \
+ − 1016
$(FIND) $$sd $(SOURCE_FILES_filter) \
+ − 1017
-name '*.java' -print \
+ − 1018
>> $(ABS_TEMPDIR)/src-files.list ; \
+ − 1019
fi; \
+ − 1020
done ; \
+ − 1021
) ; \
+ − 1022
if [ -f $(ABS_TEMPDIR)/src-files.list ] ; then \
+ − 1023
($(CD) $$d && $(TAR) cf - `$(CAT) $(ABS_TEMPDIR)/src-files.list`) \
+ − 1024
| ($(CD) $(JDK_IMAGE_DIR)/src && $(TAR) xf -); \
+ − 1025
fi; \
+ − 1026
done
+ − 1027
endif
+ − 1028
$(RM) $(ABS_TEMPDIR)/src-files.list
+ − 1029
$(CHMOD) -R +w $(JDK_IMAGE_DIR)/src
+ − 1030
$(MKDIR) -p $(JDK_IMAGE_DIR)/src/launcher
+ − 1031
$(CP) $(SHARE_SRC)/bin/java.c $(JDK_IMAGE_DIR)/src/launcher
+ − 1032
$(CP) $(SHARE_SRC)/bin/java.h $(JDK_IMAGE_DIR)/src/launcher
+ − 1033
$(CP) $(SHARE_SRC)/bin/manifest_info.h $(JDK_IMAGE_DIR)/src/launcher
+ − 1034
$(CP) $(SHARE_SRC)/bin/parse_manifest.c $(JDK_IMAGE_DIR)/src/launcher
+ − 1035
$(CP) $(SHARE_SRC)/bin/version_comp.c $(JDK_IMAGE_DIR)/src/launcher
+ − 1036
$(CP) $(SHARE_SRC)/bin/version_comp.h $(JDK_IMAGE_DIR)/src/launcher
+ − 1037
$(CP) $(SHARE_SRC)/bin/wildcard.h $(JDK_IMAGE_DIR)/src/launcher
+ − 1038
$(CP) $(SHARE_SRC)/bin/wildcard.c $(JDK_IMAGE_DIR)/src/launcher
+ − 1039
$(CP) $(SHARE_SRC)/bin/jli_util.h $(JDK_IMAGE_DIR)/src/launcher
+ − 1040
$(CP) $(SHARE_SRC)/bin/jli_util.c $(JDK_IMAGE_DIR)/src/launcher
+ − 1041
$(CP) $(SHARE_SRC)/bin/splashscreen_stubs.c $(JDK_IMAGE_DIR)/src/launcher
+ − 1042
$(CP) $(SHARE_SRC)/bin/splashscreen.h $(JDK_IMAGE_DIR)/src/launcher
+ − 1043
$(CP) $(PLATFORM_SRC)/bin/java_md.c $(JDK_IMAGE_DIR)/src/launcher
+ − 1044
$(CP) $(PLATFORM_SRC)/bin/java_md.h $(JDK_IMAGE_DIR)/src/launcher
+ − 1045
$(CD) $(JDK_IMAGE_DIR)/src && $(ZIPEXE) -qr ../src.zip *
+ − 1046
$(RM) -r $(JDK_IMAGE_DIR)/src
+ − 1047
@#
+ − 1048
@# demo, include
+ − 1049
@#
+ − 1050
$(CP) -r -f $(DEMODIR) $(JDK_IMAGE_DIR)
+ − 1051
$(CP) -r -f $(SAMPLEDIR) $(JDK_IMAGE_DIR)
+ − 1052
$(CP) -r $(INCLUDEDIR) $(JDK_IMAGE_DIR)
+ − 1053
@#
+ − 1054
@# Swing BeanInfo generation
+ − 1055
@#
+ − 1056
$(CD) javax/swing/beaninfo && $(MAKE) swing-1.2-beans
+ − 1057
ifneq ($(PLATFORM), windows)
+ − 1058
$(call copy-man-pages,$(JDK_IMAGE_DIR),$(JDK_MAN_PAGES))
+ − 1059
endif # !windows
+ − 1060
+ − 1061
# Trim out files we don't want to ship
+ − 1062
trim-image-jdk::
+ − 1063
@# Remove tools that should not be part of SDK.
+ − 1064
for t in $(NOTJDKTOOLS); do \
+ − 1065
$(RM) $(JDK_IMAGE_DIR)/bin/$${t}$(EXE_SUFFIX) \
+ − 1066
$(JDK_IMAGE_DIR)/bin/*/native_threads/$${t}$(EXE_SUFFIX); \
+ − 1067
done
+ − 1068
+ − 1069
# Get list of Elf files in the jdk
+ − 1070
JDK_ELF_LIST=$(TEMPDIR)/jdk-elf-files.list
+ − 1071
$(JDK_ELF_LIST):
+ − 1072
ifneq ($(PLATFORM), windows)
+ − 1073
$(RM) $@
+ − 1074
$(FIND) $(JDK_IMAGE_DIR)/jre/lib -type f -name \*.$(LIB_SUFFIX) >> $@
+ − 1075
$(FILE) `$(FIND) $(JDK_IMAGE_DIR)/jre/bin -type f -name \*$(EXE_SUFFIX)` \
+ − 1076
| $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
+ − 1077
file `$(FIND) $(JDK_IMAGE_DIR)/bin -type f -name \*$(EXE_SUFFIX)` \
+ − 1078
| $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
+ − 1079
endif
+ − 1080
+ − 1081
# Post process the image (strips and mcs on files we are shipping)
+ − 1082
process-image-jdk:: $(JDK_ELF_LIST)
+ − 1083
ifneq ($(POST_STRIP_PROCESS), )
+ − 1084
for f in `$(CAT) $(JDK_ELF_LIST)`; do \
+ − 1085
$(CHMOD) u+w $${f}; \
+ − 1086
$(ECHO) $(POST_STRIP_PROCESS) $${f}; \
+ − 1087
$(POST_STRIP_PROCESS) $${f}; \
+ − 1088
$(CHMOD) go-w $${f}; \
+ − 1089
done
+ − 1090
endif
+ − 1091
ifneq ($(POST_MCS_PROCESS), )
+ − 1092
for f in `$(CAT) $(JDK_ELF_LIST)`; do \
+ − 1093
$(CHMOD) u+w $${f}; \
+ − 1094
$(ECHO) $(POST_MCS_PROCESS) $${f}; \
+ − 1095
$(POST_MCS_PROCESS) $${f}; \
+ − 1096
$(CHMOD) go-w $${f}; \
+ − 1097
done
+ − 1098
endif
+ − 1099
$(RM) $(JDK_ELF_LIST)
+ − 1100
+ − 1101
###################################################################
+ − 1102
# What do we compare against
+ − 1103
###################################################################
+ − 1104
+ − 1105
# The temporary files and areas created
+ − 1106
TEMP_PREV_JRE_BASE_DIR=$(TEMPDIR)/previous_jre
+ − 1107
TEMP_PREV_JDK_BASE_DIR=$(TEMPDIR)/previous_jdk
+ − 1108
TEMP_PREV_JRE_COMPARISON=$(TEMP_PREV_JRE_BASE_DIR)/previous_jre_comparison.txt
+ − 1109
TEMP_PREV_JDK_COMPARISON=$(TEMP_PREV_JDK_BASE_DIR)/previous_jdk_comparison.txt
+ − 1110
TEMP_PREV_JRE_IMAGE_DIR=$(TEMP_PREV_JRE_BASE_DIR)/jre$(PREVIOUS_JDK_VERSION)
+ − 1111
TEMP_PREV_JDK_IMAGE_DIR=$(TEMP_PREV_JDK_BASE_DIR)/jdk$(PREVIOUS_JDK_VERSION)
+ − 1112
+ − 1113
# unbundle(sourcedir,bundlename,destdir)
+ − 1114
# logic is slightly different if a .tar.gz file (linux)
+ − 1115
define unbundle
+ − 1116
$(RM) -r $3
+ − 1117
$(MKDIR) -p $3
+ − 1118
$(CP) $1 $3
+ − 1119
if [ "`$(BASENAME) $2 .gz`" != "$2" ] ; then \
+ − 1120
( $(CD) $3 && ( $(GUNZIP) -dc $2 | $(TAR) xf - ) && $(RM) $2 ); \
+ − 1121
else \
+ − 1122
( $(CD) $3 && $(TAR) xf $2 && $(RM) $2 ); \
+ − 1123
fi
+ − 1124
( $(CD) $3 && $(RM) $2 )
+ − 1125
endef
+ − 1126
+ − 1127
# In general, ignore the fastdebug tree, and changes in the demo and sample area
+ − 1128
COMPARE_FILTER = | $(EGREP) -v /fastdebug/ | $(EGREP) -v /demo/ | $(EGREP) -v /sample/
+ − 1129
+ − 1130
# If a previuous image is provided, no need to install it.
+ − 1131
ifdef PREVIOUS_JDK_IMAGE
+ − 1132
+ − 1133
# Just use the pre-installed images
+ − 1134
PREV_JRE_IMAGE_DIR=$(PREVIOUS_JDK_IMAGE)/jre
+ − 1135
PREV_JDK_IMAGE_DIR=$(PREVIOUS_JDK_IMAGE)
+ − 1136
+ − 1137
else
+ − 1138
+ − 1139
# Use the temp images we will create
+ − 1140
PREV_JRE_IMAGE_DIR=$(TEMP_PREV_JRE_IMAGE_DIR)
+ − 1141
PREV_JDK_IMAGE_DIR=$(TEMP_PREV_JDK_IMAGE_DIR)
+ − 1142
+ − 1143
# Force the installation in this case
+ − 1144
compare-image:: install-previous-sanity install-previous-jre install-previous-jdk
+ − 1145
+ − 1146
# Unbundle the jre
+ − 1147
$(TEMP_PREV_JRE_IMAGE_DIR)/bin/java$(EXE_SUFFIX): $(PREVIOUS_JRE_BUNDLE)
+ − 1148
$(call unbundle,$(PREVIOUS_JRE_BUNDLE),$(PREVIOUS_JRE_FILE),$(TEMP_PREV_JRE_BASE_DIR))
+ − 1149
$(TOUCH) $@
+ − 1150
+ − 1151
# Unbundle the jdk
+ − 1152
$(TEMP_PREV_JDK_IMAGE_DIR)/bin/java$(EXE_SUFFIX): $(PREVIOUS_JDK_BUNDLE)
+ − 1153
$(call unbundle,$(PREVIOUS_JDK_BUNDLE),$(PREVIOUS_JDK_FILE),$(TEMP_PREV_JDK_BASE_DIR))
+ − 1154
$(TOUCH) $@
+ − 1155
+ − 1156
endif
+ − 1157
+ − 1158
# Make sure all images have a java in them (used as the touch file)
+ − 1159
install-previous-sanity:
+ − 1160
@if [ ! -f $(PREVIOUS_JRE_BUNDLE) ]; then \
+ − 1161
$(ECHO) "ERROR: You do not have access to the previous java release jre bundles. \n" \
+ − 1162
" Please check your access to \n" \
+ − 1163
" $(PREVIOUS_JRE_BUNDLE) \n" \
+ − 1164
" and/or check your value of ALT_PREVIOUS_RELEASE_PATH or ALT_PREVIOUS_JRE_FILE \n" \
+ − 1165
" This will affect you if you build the images target. \n" \
+ − 1166
"" >> $(ERROR_FILE) ; \
+ − 1167
fi
+ − 1168
@if [ ! -f $(PREVIOUS_JDK_BUNDLE) ]; then \
+ − 1169
$(ECHO) "ERROR: You do not have access to the previous java release sdk bundles. \n" \
+ − 1170
" Please check your access to \n" \
+ − 1171
" $(PREVIOUS_sdk_BUNDLE) \n" \
+ − 1172
" and/or check your value of ALT_PREVIOUS_RELEASE_PATH or ALT_PREVIOUS_JDK_FILE. \n" \
+ − 1173
" This will affect you if you build the images target. \n" \
+ − 1174
"" >> $(ERROR_FILE) ; \
+ − 1175
fi
+ − 1176
install-previous-jre: $(PREV_JRE_IMAGE_DIR)/bin/java$(EXE_SUFFIX)
+ − 1177
install-previous-jdk: $(PREV_JDK_IMAGE_DIR)/bin/java$(EXE_SUFFIX)
+ − 1178
+ − 1179
# Create the jre comparison report
+ − 1180
$(TEMP_PREV_JRE_COMPARISON): install-previous-jre $(DIRDIFF_JARFILE)
+ − 1181
$(prep-target)
+ − 1182
$(BOOT_JAVA_CMD) -jar $(DIRDIFF_JARFILE) \
+ − 1183
$(PREV_JRE_IMAGE_DIR) $(JRE_IMAGE_DIR) | $(SORT) > $@
+ − 1184
@$(java-vm-cleanup)
+ − 1185
+ − 1186
# Create the jdk comparison report
+ − 1187
$(TEMP_PREV_JDK_COMPARISON): install-previous-jdk $(DIRDIFF_JARFILE)
+ − 1188
$(prep-target)
+ − 1189
$(BOOT_JAVA_CMD) -jar $(DIRDIFF_JARFILE) \
+ − 1190
$(PREV_JDK_IMAGE_DIR) $(JDK_IMAGE_DIR) | $(SORT) > $@
+ − 1191
@$(java-vm-cleanup)
+ − 1192
+ − 1193
# Clean up names in the messages printed out
+ − 1194
CAT_FILTER = $(SED) -e "s@$(JDK_IMAGE_DIR)@JDK_IMAGE@g" \
+ − 1195
-e "s@$(JRE_IMAGE_DIR)@JRE_IMAGE@g"
+ − 1196
+ − 1197
# Report on the jre image comparison
+ − 1198
compare-image-jre: $(TEMP_PREV_JRE_COMPARISON)
+ − 1199
@$(ECHO) "JRE Image Comparison to version $(PREVIOUS_JDK_VERSION)"
+ − 1200
@$(ECHO) " Previous: $(PREV_JRE_IMAGE_DIR)"
+ − 1201
@$(ECHO) " Current: $(JRE_IMAGE_DIR)"
+ − 1202
@$(CAT) $< $(COMPARE_FILTER) | $(CAT_FILTER)
+ − 1203
( $(ECHO) " " ; $(CAT) $< | $(CAT_FILTER) ; $(ECHO) " " ) >> $(WARNING_FILE)
+ − 1204
+ − 1205
# Report on the jdk image comparison
+ − 1206
compare-image-jdk: $(TEMP_PREV_JDK_COMPARISON)
+ − 1207
@$(ECHO) "JDK Image Comparison to version $(PREVIOUS_JDK_VERSION)"
+ − 1208
@$(ECHO) " Previous: $(PREV_JDK_IMAGE_DIR)"
+ − 1209
@$(ECHO) " Current: $(JDK_IMAGE_DIR)"
+ − 1210
$(CAT) $< $(COMPARE_FILTER) | $(CAT_FILTER)
+ − 1211
( $(ECHO) " " ; $(CAT) $< | $(CAT_FILTER) ; $(ECHO) " " ) >> $(WARNING_FILE)
+ − 1212
+ − 1213
# Do both image comparisons
+ − 1214
compare-image:: compare-image-jre compare-image-jdk
+ − 1215
+ − 1216
# Clean up any temp images and reports
+ − 1217
compare-image-clobber:
+ − 1218
$(RM) -r $(TEMP_PREV_JRE_BASE_DIR)
+ − 1219
$(RM) -r $(TEMP_PREV_JDK_BASE_DIR)
+ − 1220
+ − 1221
######################################################
+ − 1222
# clobber
+ − 1223
######################################################
+ − 1224
images-clobber::
+ − 1225
$(RM) -r $(REORDER_TEMPDIR)
+ − 1226
$(RM) -r $(JARFILELISTS_TEMPDIR)
+ − 1227
ifeq ($(ARCH_DATA_MODEL), 32)
+ − 1228
$(CD) javax/swing/beaninfo && $(MAKE) swingbeans.clobber
+ − 1229
$(RM) -r $(CLASSBINDIR)/META-INF
+ − 1230
$(RM) $(TEMPDIR)/tmp.jar
+ − 1231
endif
+ − 1232
ifeq ($(PLATFORM), linux)
+ − 1233
$(RM) -r $(OUTPUTDIR)/$(ARCH)
+ − 1234
endif
+ − 1235
ifeq ($(PLATFORM), windows)
+ − 1236
$(RM) $(TEMPDIR)/rebase.input
+ − 1237
endif
+ − 1238
$(RM) -r $(JDK_IMAGE_DIR)
+ − 1239
$(RM) -r $(JDK_DEBUG_IMAGE_DIR)
+ − 1240
$(RM) -r $(JRE_IMAGE_DIR)
+ − 1241
+ − 1242
images images-clobber::
+ − 1243
@$(ECHO) ">>>Finished making "$@" @ `$(DATE)` ..."
+ − 1244
@$(java-vm-cleanup)
+ − 1245
+ − 1246
.PHONY: images image-jre image-jdk \
+ − 1247
initial-image-jre initial-image-jdk \
+ − 1248
initial-image-jre-sol64 initial-image-jdk-sol64 \
+ − 1249
initial-image-jdk-setup \
+ − 1250
initial-image-jdk-db \
+ − 1251
initial-image-jdk64-bindemos \
+ − 1252
initial-image-jre-setup \
+ − 1253
trim-image-jre trim-image-jdk \
+ − 1254
process-image-jre process-image-jdk \
+ − 1255
install-previous-jre install-previous-jdk \
+ − 1256
compare-image-jre compare-image-jdk \
+ − 1257
compare-image compare-image-clobber \
+ − 1258
images-clobber
+ − 1259
+ − 1260
# Force rule
+ − 1261
FRC:
+ − 1262