1 # 2 # Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 # 5 # This code is free software; you can redistribute it and/or modify it 6 # under the terms of the GNU General Public License version 2 only, as 7 # published by the Free Software Foundation. Oracle designates this 8 # particular file as subject to the "Classpath" exception as provided 9 # by Oracle in the LICENSE file that accompanied this code. 10 # 11 # This code is distributed in the hope that it will be useful, but WITHOUT 12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 # version 2 for more details (a copy is included in the LICENSE file that 15 # accompanied this code). 16 # 17 # You should have received a copy of the GNU General Public License version 18 # 2 along with this work; if not, write to the Free Software Foundation, 19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 # 21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 # or visit www.oracle.com if you need additional information or have any 23 # questions. 24 # 25 26 include $(JDK_TOPDIR)/make/docs/CORE_PKGS.gmk 27 include $(JDK_TOPDIR)/make/docs/NON_CORE_PKGS.gmk 28 29 # What jdk version are we building 30 THIS_JDK_VERSION := $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION) 31 32 # 33 # Perform release engineering tasks. 34 # 35 # images An image is what the product looks like when it is 36 # installed. 37 # 38 39 IMAGE_BINDIR = bin 40 41 # The compiler should not issue a "Proprietary" warning when compiling 42 # classes in the com.sun.java.swing.plaf packages, since we've always 43 # allowed, and even advocated, extending them (see bug 6476749). 44 # 45 # This approach is NOT to be used as a general purpose way to avoid such 46 # compiler warnings for non-core packages. The correct way is to document 47 # the packages in NON_CORE_PKGS.gmk, and include them in the NON_CORE_PKGS 48 # definition. 49 # 50 # Swing has taken this approach only as a temporary measure to avoid 51 # the compiler warnings until we can properly document these packages. 52 # This is covered under 6491853. 53 EXCLUDE_PROPWARN_PKGS = com.sun.java.swing.plaf.windows \ 54 com.sun.java.swing.plaf.motif \ 55 com.sun.java.swing.plaf.gtk 56 57 # 58 # Include the exported private packages in ct.sym. 59 # This is an interim solution until the ct.sym is replaced 60 # with a new module system (being discussed for JDK 8). 61 # 62 EXPORTED_PRIVATE_PKGS = com.oracle.net \ 63 com.oracle.nio \ 64 com.oracle.util 65 66 # 64-bit solaris has a few special cases. We define the variable 67 # SOLARIS64 for use in this Makefile to easily test those cases 68 ifeq ($(PLATFORM), solaris) 69 ifeq ($(ARCH_DATA_MODEL), 64) 70 SOLARIS64 = true 71 IMAGE_BINDIR = bin/$(ARCH) 72 endif 73 endif 74 75 JTG_DOCS = $(JDK_TOPDIR)/src/solaris/doc 76 77 ifeq ($(PLATFORM), macosx) 78 include $(JDK_TOPDIR)/make/common/Release-$(PLATFORM).gmk 79 endif 80 81 # The base names of all the license and document files for the jdk and jre 82 # (These files get placed in the jdk and jre install images) 83 ifdef OPENJDK 84 # Where to find these files 85 SHARE_JDK_DOC_SRC = $(JDK_TOPDIR) 86 SHARE_JRE_DOC_SRC = $(JDK_TOPDIR) 87 # Same files for jdk and jre, no name changes 88 IMAGE_DOCLIST_JDK = LICENSE ASSEMBLY_EXCEPTION THIRD_PARTY_README 89 IMAGE_DOCLIST_JDK_DEMOS_AND_SAMPLES = 90 IMAGE_DOCLIST_JRE = LICENSE ASSEMBLY_EXCEPTION THIRD_PARTY_README 91 else 92 # make/closed/common/Defs.gmk for closed location of SHARE_JDK_DOC_SRC 93 94 IMAGE_DOCLIST_JDK = COPYRIGHT README.html LICENSE THIRDPARTYLICENSEREADME.txt 95 IMAGE_DOCLIST_JDK_DEMOS_AND_SAMPLES = demo/DEMOS_LICENSE sample/SAMPLES_LICENSE 96 IMAGE_DOCLIST_JRE = COPYRIGHT Welcome.html LICENSE THIRDPARTYLICENSEREADME.txt 97 ifeq ($(PLATFORM), windows) 98 IMAGE_DOCLIST_JRE += README.txt 99 else 100 IMAGE_DOCLIST_JRE += README 101 endif 102 endif 103 104 # Paths to these files we need 105 JDK_DOCFILES = $(IMAGE_DOCLIST_JDK:%=$(JDK_IMAGE_DIR)/%) 106 JRE_DOCFILES = $(IMAGE_DOCLIST_JRE:%=$(JRE_IMAGE_DIR)/%) 107 JDK_DEMOS_AND_SAMPLES_DOCFILES = $(IMAGE_DOCLIST_JDK_DEMOS_AND_SAMPLES:%=$(JDK_IMAGE_DIR)/%) 108 109 # absolute directory names: note, these must exist prior to build 110 # time - they are created in the main Makefile. 111 JRE_IMAGE_BINDIR = $(JRE_IMAGE_DIR)/bin 112 113 MAINMANIFEST = $(JDK_TOPDIR)/make/tools/manifest.mf 114 BEANMANIFEST = $(JDK_TOPDIR)/make/javax/swing/beaninfo/manifest 115 116 # 117 # Man pages 118 # 119 120 JRE_MAN_PAGES = \ 121 java.1 \ 122 keytool.1 \ 123 orbd.1 \ 124 pack200.1 \ 125 policytool.1 \ 126 rmid.1 \ 127 rmiregistry.1 \ 128 servertool.1 \ 129 tnameserv.1 \ 130 unpack200.1 131 132 ifndef OPENJDK 133 JRE_MAN_PAGES += javaws.1 134 endif 135 136 JDK_MAN_PAGES = \ 137 $(JRE_MAN_PAGES) \ 138 appletviewer.1 \ 139 apt.1 \ 140 extcheck.1 \ 141 idlj.1 \ 142 jar.1 \ 143 jarsigner.1 \ 144 javac.1 \ 145 javadoc.1 \ 146 javah.1 \ 147 javap.1 \ 148 jcmd.1 \ 149 jconsole.1 \ 150 jdb.1 \ 151 jhat.1 \ 152 jinfo.1 \ 153 jmap.1 \ 154 jps.1 \ 155 jrunscript.1 \ 156 jsadebugd.1 \ 157 jstack.1 \ 158 jstat.1 \ 159 jstatd.1 \ 160 native2ascii.1 \ 161 rmic.1 \ 162 schemagen.1 \ 163 serialver.1 \ 164 wsgen.1 \ 165 wsimport.1 \ 166 xjc.1 167 168 ifndef OPENJDK 169 JDK_MAN_PAGES += jvisualvm.1 170 endif 171 172 ifeq ($(PLATFORM), solaris) 173 MANBASEDIRS=$(JDK_TOPDIR)/src/solaris/doc $(IMPORTDOCDIR) 174 MAN1SUBDIR=sun/man/man1 175 endif # solaris 176 177 ifeq ($(PLATFORM), linux) 178 MANBASEDIRS=$(JDK_TOPDIR)/src/linux/doc $(IMPORTDOCDIR) 179 MAN1SUBDIR=man 180 JA_DIRNAME=ja_JP.UTF-8 181 endif # linux 182 183 define copy-man-pages 184 $(MKDIR) -p $1/man/man1 185 for manbase in $(MANBASEDIRS:%=%/$(MAN1SUBDIR)) ; do \ 186 for manpage in $2; do \ 187 if [ -f $${manbase}/$${manpage} ] ; then \ 188 $(CP) $${manbase}/$${manpage} $1/man/man1 ; \ 189 for ja_encoding in $(JA_TARGET_ENCODINGS); do \ 190 ja_dir="ja"; \ 191 if [ "$${ja_encoding}" != "$(JA_SOURCE_ENCODING)" ]; then \ 192 ja_dir="ja_JP.$${ja_encoding}"; \ 193 fi; \ 194 $(MKDIR) -p $1/man/$${ja_dir}/man1; \ 195 $(CAT) $${manbase}/ja/$${manpage} \ 196 | $(NATIVE2ASCII) -encoding $(JA_SOURCE_ENCODING) \ 197 | $(SED) 's/@@VERSION@@/$(THIS_JDK_VERSION)/g' \ 198 | $(NATIVE2ASCII) -reverse -encoding $${ja_encoding} \ 199 > $1/man/$${ja_dir}/man1/$${manpage}; \ 200 done; \ 201 fi; \ 202 done; \ 203 done 204 $(java-vm-cleanup) 205 if [ "$(JA_DIRNAME)" != "" ] ; then \ 206 $(CD) $1/man && $(RM) ja && $(LN) -s $(JA_DIRNAME) ja; \ 207 fi 208 endef 209 210 211 # no compression unless requested 212 ifndef COMPRESS_JARS 213 CREATE_JAR_OPTS = c0mf 214 CREATE_JAR_OPTS_NOMANIFEST = c0f 215 else 216 CREATE_JAR_OPTS = cmf 217 CREATE_JAR_OPTS_NOMANIFEST = cf 218 endif 219 220 # 221 # Targets. 222 # 223 INITIAL_IMAGE_JRE=initial-image-jre 224 INITIAL_IMAGE_JDK=initial-image-jdk 225 ifeq ($(PLATFORM), solaris) 226 ifeq ($(ARCH_DATA_MODEL), 64) 227 INITIAL_IMAGE_JRE=initial-image-jre-sol64 228 INITIAL_IMAGE_JDK=initial-image-jdk-sol64 229 endif 230 endif 231 232 images images-clobber \ 233 initial-image-jre initial-image-jdk \ 234 initial-image-jre-sol64 initial-image-jdk-sol64 \ 235 trim-image-jre trim-image-jdk \ 236 identify-image-jre identify-image-jdk \ 237 process-image-jre process-image-jdk \ 238 compare-image \ 239 sec-files sec-files-win jgss-files server-jdk-image :: 240 @$(ECHO) ">>>Making "$@" @ `$(DATE)` ..." 241 242 # Order is important here, trim jre after jdk image is created 243 ifeq ($(PLATFORM), macosx) 244 245 images:: sanity-images post-sanity-images \ 246 $(INITIAL_IMAGE_JRE) $(EXTRA_JRE_TARGETS) $(INITIAL_IMAGE_JDK) \ 247 trim-image-jre trim-image-jdk \ 248 identify-image-jre identify-image-jdk \ 249 process-image-jre process-image-jdk sec-files sec-files-win \ 250 jgss-files $(EXTRA_IMAGE_TARGETS) server-jdk-image 251 else 252 253 images:: sanity-images post-sanity-images \ 254 $(INITIAL_IMAGE_JRE) $(INITIAL_IMAGE_JDK) \ 255 trim-image-jre trim-image-jdk \ 256 identify-image-jre identify-image-jdk \ 257 process-image-jre process-image-jdk sec-files sec-files-win \ 258 jgss-files server-jdk-image 259 endif 260 261 # Don't use these 262 image-jre:: initial-image-jre trim-image-jre identify-image-jre process-image-jre 263 image-jdk:: initial-image-jdk trim-image-jdk identify-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) ',*' 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/jcmd \ 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/classfile \ 373 com/sun/tools/doclets \ 374 com/sun/tools/example/debug/expr \ 375 com/sun/tools/example/debug/tty \ 376 com/sun/tools/extcheck \ 377 com/sun/tools/hat \ 378 com/sun/tools/javac \ 379 com/sun/tools/javadoc \ 380 com/sun/tools/apt \ 381 com/sun/tools/javah \ 382 com/sun/tools/javap \ 383 com/sun/tools/corba \ 384 com/sun/tools/internal/xjc \ 385 com/sun/tools/internal/ws \ 386 META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory \ 387 META-INF/services/com.sun.tools.xjc.Plugin \ 388 com/sun/istack/internal/tools \ 389 com/sun/istack/internal/ws \ 390 com/sun/codemodel \ 391 com/sun/tools/internal/jxc \ 392 com/sun/xml/internal/rngom \ 393 com/sun/xml/internal/xsom \ 394 org/relaxng/datatype \ 395 com/sun/xml/internal/dtdparser \ 396 com/sun/tools/jdi \ 397 com/sun/tools/script/shell \ 398 META-INF/services/com.sun.tools.attach.spi.AttachProvider \ 399 com/sun/tools/attach \ 400 sun/tools/attach \ 401 sun/tools/jstack \ 402 sun/tools/jinfo \ 403 sun/tools/jmap 404 405 JFR_SRCDIRS_EXIST := $(shell \ 406 if [ -d $(CLOSED_SHARE_SRC)/classes/com/oracle/jrockit/jfr ] ; then \ 407 echo true; \ 408 else \ 409 echo false; \ 410 fi) 411 412 BUILD_JFR= 413 ifndef OPENJDK 414 ifndef JAVASE_EMBEDDED 415 ifeq ($(JFR_SRCDIRS_EXIST), true) 416 BUILD_JFR=true 417 endif 418 endif 419 endif 420 421 # classes that go into jfr.jar 422 JFR_CLASSES_DIRS= 423 ifdef BUILD_JFR 424 JFR_CLASSES_DIRS= \ 425 com/oracle/jrockit/jfr \ 426 oracle/jrockit/jfr \ 427 jdk/internal/jfr 428 endif 429 430 # classes that go into jsse.jar 431 JSSE_CLASSES_DIRS = \ 432 sun/security/provider/Sun.class \ 433 sun/security/rsa/SunRsaSign.class \ 434 sun/security/ssl \ 435 com/sun/net/ssl/internal/ssl 436 437 # files under $(OUTPUTDIR) that need to go into sec-bin.zip for builds 438 # where the corresponding sources are not available 439 SEC_FILES_DIRS = \ 440 classes/javax/net \ 441 classes/javax/security/cert \ 442 classes/com/sun/net/ssl \ 443 classes/com/sun/security/cert \ 444 classes/sun/net/www/protocol/https \ 445 classes/sun/security/pkcs12 \ 446 classes/sun/security/ssl \ 447 classes/sun/security/krb5/*.class \ 448 classes/sun/security/krb5/internal/*.class \ 449 classes/sun/security/krb5/internal/ccache \ 450 classes/sun/security/krb5/internal/crypto \ 451 classes/sun/security/krb5/internal/ktab \ 452 classes/sun/security/krb5/internal/rcache \ 453 classes/sun/security/krb5/internal/util \ 454 classes/sun/security/jgss/spi/GSSContextSpi.class 455 456 # files under $(OUTPUTDIR) that need to go into sec-windows-win.zip for builds 457 # where the corresponding sources are not available 458 SEC_FILES_WIN_DIRS = \ 459 classes/sun/security/krb5/internal/tools 460 461 # files under $(BINDIR) that need to go into jgss_files.zip for builds 462 # where the corresponding sources are not available 463 JGSS_FILES_DIRS = \ 464 bin/w2k_lsa_auth.dll \ 465 bin/w2k_lsa_auth.map \ 466 bin/w2k_lsa_auth.pdb 467 468 # The following get removed from the SDK image. 469 NOTJDKTOOLS = \ 470 java_vm 471 472 # The following get removed from the JRE after the bulk-copy of BINDIR... 473 NOTJRETOOLS = \ 474 appletviewer$(EXE_SUFFIX) \ 475 extcheck$(EXE_SUFFIX) \ 476 idlj$(EXE_SUFFIX) \ 477 jar$(EXE_SUFFIX) \ 478 jarsigner$(EXE_SUFFIX) \ 479 java-rmi.cgi \ 480 javac$(EXE_SUFFIX) \ 481 javadoc$(EXE_SUFFIX) \ 482 apt$(EXE_SUFFIX) \ 483 javah$(EXE_SUFFIX) \ 484 javap$(EXE_SUFFIX) \ 485 jcmd$(EXE_SUFFIX) \ 486 jdb$(EXE_SUFFIX) \ 487 jps$(EXE_SUFFIX) \ 488 jrunscript$(EXE_SUFFIX) \ 489 jstat$(EXE_SUFFIX) \ 490 jstatd$(EXE_SUFFIX) \ 491 jstack$(EXE_SUFFIX) \ 492 packagebean$(SCRIPT_SUFFIX) \ 493 rmic$(EXE_SUFFIX) \ 494 serialver$(EXE_SUFFIX) \ 495 unregbean$(EXE_SUFFIX) \ 496 jconsole$(EXE_SUFFIX) \ 497 jinfo$(EXE_SUFFIX) \ 498 jmap$(EXE_SUFFIX) \ 499 native2ascii$(EXE_SUFFIX) \ 500 xjc$(EXE_SUFFIX) \ 501 wsgen$(EXE_SUFFIX) \ 502 wsimport$(EXE_SUFFIX) \ 503 schemagen$(EXE_SUFFIX) \ 504 jsadebugd$(EXE_SUFFIX) \ 505 jhat$(EXE_SUFFIX) 506 507 # The following get removed from the JRE after the bulk-copy of LIBDIR... 508 NOTJRELIBS = tools.jar \ 509 jconsole.jar 510 511 ifeq ($(INCLUDE_SA), true) 512 NOTJRELIBS += sa-jdi.jar 513 514 # The following get removed from the JRE after the bulk-copy of LIBDIR... 515 NOTJRE_SHARED_LIBS = $(SALIB_NAME) 516 else 517 NOTJRE_SHARED_LIBS = 518 endif 519 520 # Attach library is JDK only 521 NOTJRE_SHARED_LIBS += $(LIB_PREFIX)attach.$(LIBRARY_SUFFIX) 522 523 # 524 ###### RULES 525 526 # Processing license files from source area to image area 527 # These will be modified to have the platform specific EOL chars. 528 define process-doc-file 529 $(prep-target) 530 $(SED) 's/$$//g' $< > $@ 531 $(CHMOD) 444 $@ 532 endef 533 534 # JDK files 535 $(JDK_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/% 536 $(process-doc-file) 537 538 $(JDK_IMAGE_DIR)/demo/DEMOS_LICENSE: $(SHARE_JDK_DOC_SRC)/DEMOS_LICENSE 539 $(process-doc-file) 540 541 $(JDK_IMAGE_DIR)/sample/SAMPLES_LICENSE: $(SHARE_JDK_DOC_SRC)/SAMPLES_LICENSE 542 $(process-doc-file) 543 544 # JRE files 545 $(JRE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/% 546 $(process-doc-file) 547 ifeq ($(PLATFORM), windows) 548 $(JRE_IMAGE_DIR)/README.txt: $(SHARE_JRE_DOC_SRC)/README 549 $(process-doc-file) 550 endif 551 552 # Differences tool 553 DIRDIFF_JARFILE = $(BUILDTOOLJARDIR)/dirdiff.jar 554 555 ###################################################### 556 # List of directories in classes directory that should NOT be in rt.jar 557 ###################################################### 558 559 NOT_RT_JAR_LIST = $(ABS_TEMPDIR)/not_rt_jar.list 560 561 $(NOT_RT_JAR_LIST): FRC 562 $(prep-target) 563 $(ECHO) "#\n" >> $@ 564 $(ECHO) "# List of subdirectories not in include in rt.jar" >> $@ 565 $(ECHO) "# Directories must contain trailing '/'." >> $@ 566 $(ECHO) "com/sun/javadoc/" >> $@ 567 $(ECHO) "com/sun/jdi/" >> $@ 568 $(ECHO) "com/sun/jarsigner/" >> $@ 569 $(ECHO) "com/sun/mirror/" >> $@ 570 $(ECHO) "com/sun/source/" >> $@ 571 $(ECHO) "com/sun/istack/internal/tools/" >> $@ 572 $(ECHO) "com/sun/istack/internal/ws/" >> $@ 573 $(ECHO) "META-INF/services/com.sun.jdi.connect.Connector" >> $@ 574 $(ECHO) "META-INF/services/com.sun.jdi.connect.spi.TransportService" >> $@ 575 $(ECHO) "META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory" >> $@ 576 $(ECHO) "META-INF/services/com.sun.tools.xjc.Plugin" >> $@ 577 $(ECHO) "com/sun/tools/" >> $@ 578 $(ECHO) "sun/jvmstat/" >> $@ 579 $(ECHO) "sun/nio/cs/ext/" >> $@ 580 $(ECHO) "sun/awt/HKSCS.class" >> $@ 581 $(ECHO) "sun/awt/motif/X11GB2312\$$Decoder.class" >> $@ 582 $(ECHO) "sun/awt/motif/X11GB2312\$$Encoder.class" >> $@ 583 $(ECHO) "sun/awt/motif/X11GB2312.class" >> $@ 584 $(ECHO) "sun/awt/motif/X11GBK\$$Encoder.class" >> $@ 585 $(ECHO) "sun/awt/motif/X11GBK.class" >> $@ 586 $(ECHO) "sun/awt/motif/X11KSC5601\$$Decoder.class" >> $@ 587 $(ECHO) "sun/awt/motif/X11KSC5601\$$Encoder.class" >> $@ 588 $(ECHO) "sun/awt/motif/X11KSC5601.class" >> $@ 589 $(ECHO) "sun/rmi/rmic/" >> $@ 590 $(ECHO) "sun/tools/asm/" >> $@ 591 $(ECHO) "sun/tools/java/" >> $@ 592 $(ECHO) "sun/tools/javac/" >> $@ 593 $(ECHO) "com/sun/tools/classfile/" >> $@ 594 $(ECHO) "com/sun/tools/javap/" >> $@ 595 $(ECHO) "sun/tools/jcmd/" >> $@ 596 $(ECHO) "sun/tools/jconsole/" >> $@ 597 $(ECHO) "sun/tools/jps/" >> $@ 598 $(ECHO) "sun/tools/jstat/" >> $@ 599 $(ECHO) "sun/tools/jstatd/" >> $@ 600 $(ECHO) "sun/tools/native2ascii/" >> $@ 601 $(ECHO) "sun/tools/serialver/" >> $@ 602 $(ECHO) "sun/tools/tree/" >> $@ 603 $(ECHO) "sun/tools/util/" >> $@ 604 $(ECHO) "sun/security/tools/JarBASE64Encoder.class" >> $@ 605 $(ECHO) "sun/security/tools/JarSigner.class" >> $@ 606 $(ECHO) "sun/security/tools/JarSignerParameters.class" >> $@ 607 $(ECHO) "sun/security/tools/JarSignerResources.class" >> $@ 608 $(ECHO) "sun/security/tools/JarSignerResources_ja.class" >> $@ 609 $(ECHO) "sun/security/tools/JarSignerResources_zh_CN.class" >> $@ 610 $(ECHO) "sun/security/tools/SignatureFile\$$Block.class" >> $@ 611 $(ECHO) "sun/security/tools/SignatureFile.class" >> $@ 612 $(ECHO) "sun/security/tools/TimestampedSigner.class" >> $@ 613 $(ECHO) "sun/security/provider/Sun.class" >> $@ 614 $(ECHO) "sun/security/rsa/SunRsaSign.class" >> $@ 615 $(ECHO) "sun/security/ssl/" >> $@ 616 $(ECHO) "com/sun/net/ssl/internal/ssl/" >> $@ 617 $(ECHO) "javax/crypto/" >> $@ 618 $(ECHO) "sun/security/internal/" >> $@ 619 $(ECHO) "com/sun/crypto/provider/" >> $@ 620 $(ECHO) "META-INF/services/com.sun.tools.attach.spi.AttachProvider" >> $@ 621 $(ECHO) "com/sun/tools/attach/" >> $@ 622 $(ECHO) "org/relaxng/datatype/" >> $@ 623 $(ECHO) "com/sun/codemodel/" >> $@ 624 $(ECHO) "com/sun/xml/internal/dtdparser/" >> $@ 625 $(ECHO) "com/sun/xml/internal/rngom/" >> $@ 626 $(ECHO) "com/sun/xml/internal/xsom/" >> $@ 627 $(ECHO) "com/sun/tools/script/shell/" >> $@ 628 $(ECHO) "sun/tools/attach/" >> $@ 629 $(ECHO) "sun/tools/jstack/" >> $@ 630 $(ECHO) "sun/tools/jinfo/" >> $@ 631 $(ECHO) "sun/tools/jmap/" >> $@ 632 ifdef BUILD_JFR 633 $(ECHO) "com/oracle/jrockit/jfr/" >> $@ 634 $(ECHO) "com/oracle/jrockit/jfr/client/" >> $@ 635 $(ECHO) "com/oracle/jrockit/jfr/management/" >> $@ 636 $(ECHO) "oracle/jrockit/jfr/" >> $@ 637 $(ECHO) "oracle/jrockit/jfr/events/" >> $@ 638 $(ECHO) "oracle/jrockit/jfr/openmbean/" >> $@ 639 $(ECHO) "oracle/jrockit/jfr/parser/" >> $@ 640 $(ECHO) "oracle/jrockit/jfr/settings/" >> $@ 641 $(ECHO) "oracle/jrockit/jfr/tools/" >> $@ 642 $(ECHO) "jdk/internal/jfr/events/" >> $@ 643 endif 644 645 646 647 # File order list for rt.jar 648 # - sun.applet is included, till hotjava stops relying on it. 649 # - sun.tools.jar is included, needs cleanup. 650 # 651 REORDER_TEMPDIR=$(ABS_TEMPDIR)/reorder 652 TOTAL_JAR_FILELIST=$(REORDER_TEMPDIR)/file_list 653 654 JARFILELISTS_TEMPDIR=$(ABS_TEMPDIR)/jarfilelists 655 RT_JAR_FILELIST=$(JARFILELISTS_TEMPDIR)/rt_jar_list 656 RES_JAR_FILELIST=$(JARFILELISTS_TEMPDIR)/resources_jar_list 657 658 JARREORDER_JARFILE = $(ABS_BUILDTOOLJARDIR)/jarreorder.jar 659 660 $(TOTAL_JAR_FILELIST): $(JARREORDER_JARFILE) $(NOT_RT_JAR_LIST) 661 $(prep-target) 662 $(RM) $@.temp 663 ($(CD) $(CLASSBINDIR) && \ 664 $(BOOT_JAVA_CMD) -jar $(JARREORDER_JARFILE) \ 665 -o $@.temp $(ABS_LIBDIR)/classlist $(NOT_RT_JAR_LIST) . ) 666 $(MV) $@.temp $@ 667 @($(CD) $(CLASSBINDIR) && $(java-vm-cleanup)) 668 669 # Create jfr.jar 670 JFR_JAR= 671 ifdef BUILD_JFR 672 JFR_JAR=$(ABS_TEMPDIR)/jfr-orig.jar 673 $(JFR_JAR): $(OTHER_JAR_MANIFEST_FILE) 674 $(prep-target) 675 $(CD) $(CLASSBINDIR) && \ 676 $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(OTHER_JAR_MANIFEST_FILE) $@ \ 677 $(JFR_CLASSES_DIRS) $(BOOT_JAR_JFLAGS) 678 @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) 679 endif 680 681 # Create the rt.jar file list & non-class files list 682 683 JARSPLIT_JARFILE = $(BUILDTOOLJARDIR)/jarsplit.jar 684 685 $(RT_JAR_FILELIST) + $(RES_JAR_FILELIST): \ 686 $(TOTAL_JAR_FILELIST) $(JARSPLIT_JARFILE) 687 @$(RM) $(RT_JAR_FILELIST) $(RES_JAR_FILELIST) 688 $(MKDIR) -p $(JARFILELISTS_TEMPDIR) 689 $(BOOT_JAVA_CMD) -jar $(JARSPLIT_JARFILE) \ 690 $(TOTAL_JAR_FILELIST) \ 691 -o $(RT_JAR_FILELIST) $(RES_JAR_FILELIST) 692 @$(java-vm-cleanup) 693 694 # Create the manifest file. 695 RT_JAR_MANIFEST_FILE=$(ABS_TEMPDIR)/rt_manifest.tmp 696 $(RT_JAR_MANIFEST_FILE): $(MAINMANIFEST) $(BEANMANIFEST) 697 $(prep-target) 698 $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ 699 -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ 700 $(MAINMANIFEST) >> $@ 701 $(ECHO) >> $@ 702 $(CAT) $(BEANMANIFEST) >> $@ 703 704 OTHER_JAR_MANIFEST_FILE=$(ABS_TEMPDIR)/other_manifest.tmp 705 $(OTHER_JAR_MANIFEST_FILE): $(MAINMANIFEST) 706 $(prep-target) 707 $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ 708 -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ 709 $(MAINMANIFEST) >> $@ 710 711 # Create resources.jar containing non-class files 712 RESOURCES_JAR=$(ABS_TEMPDIR)/resources-orig.jar 713 $(RESOURCES_JAR): $(RES_JAR_FILELIST) $(OTHER_JAR_MANIFEST_FILE) 714 $(prep-target) 715 $(CD) $(CLASSBINDIR) && \ 716 $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(OTHER_JAR_MANIFEST_FILE) $@ \ 717 @$(RES_JAR_FILELIST) $(BOOT_JAR_JFLAGS) 718 @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) 719 720 # Create jsse.jar containing SunJSSE implementation classes 721 JSSE_JAR=$(ABS_TEMPDIR)/jsse-orig.jar 722 $(JSSE_JAR): $(OTHER_JAR_MANIFEST_FILE) 723 $(prep-target) 724 $(CD) $(CLASSBINDIR) && \ 725 $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(OTHER_JAR_MANIFEST_FILE) $@ \ 726 $(JSSE_CLASSES_DIRS) $(BOOT_JAR_JFLAGS) 727 @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) 728 729 # Create sec-bin.zip 730 SEC_FILES_ZIP=$(ABS_TEMPDIR)/sec-bin.zip 731 sec-files:: 732 $(prep-target) 733 $(RM) $(SEC_FILES_ZIP) 734 $(CD) $(OUTPUTDIR) && \ 735 $(ZIPEXE) -rq9 $(SEC_FILES_ZIP) $(SEC_FILES_DIRS) 736 @$(java-vm-cleanup) 737 738 # Create sec-windows-bin.zip 739 SEC_FILES_WIN_ZIP=$(ABS_TEMPDIR)/sec-windows-bin.zip 740 sec-files-win:: 741 ifeq ($(PLATFORM), windows) 742 $(prep-target) 743 $(RM) $(SEC_FILES_WIN_ZIP) 744 $(CD) $(OUTPUTDIR) && \ 745 $(ZIPEXE) -rq9 $(SEC_FILES_WIN_ZIP) $(SEC_FILES_WIN_DIRS) 746 @$(java-vm-cleanup) 747 endif 748 749 # Create JGSS files that contains the native Kerberos library 750 JGSS_WIN32_FILES_ZIP=$(ABS_TEMPDIR)/jgss-windows-i586-bin.zip 751 JGSS_WIN64_FILES_ZIP=$(ABS_TEMPDIR)/jgss-windows-x64-bin.zip 752 jgss-files:: 753 ifeq ($(PLATFORM), windows) 754 $(prep-target) 755 ifeq ($(ARCH_DATA_MODEL), 32) 756 $(RM) $(JGSS_WIN32_FILES_ZIP) 757 $(CD) $(OUTPUTDIR) && \ 758 $(ZIPEXE) -rq9 $(JGSS_WIN32_FILES_ZIP) $(JGSS_FILES_DIRS) 759 else 760 $(RM) $(JGSS_WIN64_FILES_ZIP) 761 $(CD) $(OUTPUTDIR) && \ 762 $(ZIPEXE) -rq9 $(JGSS_WIN64_FILES_ZIP) $(JGSS_FILES_DIRS) 763 endif 764 @$(java-vm-cleanup) 765 endif 766 767 # Create rt.jar 768 RT_JAR=$(ABS_TEMPDIR)/rt-orig.jar 769 $(RT_JAR): $(RT_JAR_FILELIST) $(RT_JAR_MANIFEST_FILE) 770 $(prep-target) 771 $(CD) $(CLASSBINDIR) && \ 772 $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(RT_JAR_MANIFEST_FILE) $@ \ 773 @$(RT_JAR_FILELIST) $(BOOT_JAR_JFLAGS) 774 @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) 775 776 # Meta-index construction to make core class loaders lazier 777 778 BUILDMETAINDEX_JARFILE = $(ABS_BUILDTOOLJARDIR)/buildmetaindex.jar 779 780 # SE-Embedded targets if enabled 781 include $(JDK_TOPDIR)/make/common/Release-embedded.gmk 782 783 784 ###################################################### 785 # JRE Image 786 ###################################################### 787 788 initial-image-jre-setup: 789 $(RM) -r $(JRE_IMAGE_DIR) 790 $(MKDIR) -p $(JRE_IMAGE_DIR) 791 792 # 64-bit solaris jre image contains only the 64-bit add-on files. 793 initial-image-jre-sol64:: initial-image-jre-setup 794 @# Use tar instead of cp to preserve the symbolic links 795 for dir in bin lib ; do \ 796 ( $(CD) $(OUTPUTDIR) && \ 797 $(TAR) cf - `$(FIND) $$dir -name '$(ARCH)' -print` | \ 798 ($(CD) $(JRE_IMAGE_DIR) && $(TAR) xf -) ) ; \ 799 done 800 @# Remove some files from the jre area 801 for t in $(NOTJRETOOLS) ; do \ 802 $(RM) $(JRE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \ 803 done 804 for l in $(NOTJRELIBS) ; do \ 805 $(RM) $(JRE_IMAGE_DIR)/lib/$$l ; \ 806 done 807 $(RM) `$(FIND) $(JRE_IMAGE_DIR)/lib -name 'orb.idl'` 808 $(RM) `$(FIND) $(JRE_IMAGE_DIR)/lib -name 'ir.idl'` 809 810 # Construct an initial jre image (initial jdk jre) no trimming or stripping 811 # See "initial-image-jdk-setup" for an explanation of the rm of 812 # drive names like C: 813 initial-image-jre:: initial-image-jre-setup \ 814 $(JRE_DOCFILES) \ 815 $(RT_JAR) $(RESOURCES_JAR) $(JSSE_JAR) $(JFR_JAR) \ 816 $(BUILDMETAINDEX_JARFILE) 817 @# Copy in bin directory 818 $(CD) $(OUTPUTDIR) && $(FIND) bin -depth | $(CPIO) -pdum $(JRE_IMAGE_DIR) 819 @# CTE plugin security change require new empty directory lib/applet 820 $(MKDIR) -p $(JRE_IMAGE_DIR)/lib/applet 821 @# Copy in lib directory 822 $(CD) $(OUTPUTDIR) && $(FIND) lib -depth | $(CPIO) -pdum $(JRE_IMAGE_DIR) 823 ifeq ($(USING_CYGWIN),true) 824 $(RM) -rf $(JRE_IMAGE_DIR)/[A-Za-z]: 825 $(RM) -rf $(OUTPUTDIR)/[A-Za-z]: 826 endif 827 @# Make sure all directories are read/execute for everyone 828 $(CHMOD) a+rx `$(FIND) $(JRE_IMAGE_DIR) -type d` 829 @# Remove some files from the jre area 830 for t in $(NOTJRETOOLS) ; do \ 831 $(RM) $(JRE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \ 832 done 833 for l in $(NOTJRELIBS) ; do \ 834 $(RM) $(JRE_IMAGE_DIR)/lib/$$l ; \ 835 done 836 @# Remove orb.idl and ir.idl from jre 837 $(FIND) $(JRE_IMAGE_DIR)/lib -name 'orb.idl' -exec $(RM) \{} \; 838 $(FIND) $(JRE_IMAGE_DIR)/lib -name 'ir.idl' -exec $(RM) \{} \; 839 @# Copy in rt.jar & resources.jar file 840 $(CP) $(RT_JAR) $(JRE_IMAGE_DIR)/lib/rt.jar 841 $(CP) $(RESOURCES_JAR) $(JRE_IMAGE_DIR)/lib/resources.jar 842 $(CP) $(JSSE_JAR) $(JRE_IMAGE_DIR)/lib/jsse.jar 843 ifneq ($(JFR_JAR),) 844 $(CP) $(JFR_JAR) $(JRE_IMAGE_DIR)/lib/jfr.jar 845 endif 846 @# Generate meta-index to make boot and extension class loaders lazier 847 $(CD) $(JRE_IMAGE_DIR)/lib && \ 848 $(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \ 849 -o meta-index *.jar 850 @$(CD) $(JRE_IMAGE_DIR)/lib && $(java-vm-cleanup) 851 $(CD) $(JRE_IMAGE_DIR)/lib/ext && \ 852 $(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \ 853 -o meta-index *.jar 854 @$(CD) $(JRE_IMAGE_DIR)/lib/ext && $(java-vm-cleanup) 855 ifeq ($(PLATFORM), macosx) 856 @#install jobjc, apple mac only 857 $(CP) $(OUTPUTDIR)/JObjC.build/JObjC.jar $(JRE_IMAGE_DIR)/lib/JObjC.jar 858 endif # macosx 859 ifeq ($(PLATFORM), windows) 860 @# Remove certain *.lib files 861 $(CD) $(JRE_IMAGE_DIR)/lib && \ 862 $(RM) java.$(LIB_SUFFIX) jvm.$(LIB_SUFFIX) \ 863 awt.$(LIB_SUFFIX) jawt.$(LIB_SUFFIX) 864 ifeq ($(ARCH_DATA_MODEL), 32) 865 @# The Java Kernel JRE image ships with a special VM. It is not included 866 @# in the full JRE image, so remove it. Also, is it only for 32-bit windows. 867 $(CD) $(JRE_IMAGE_DIR)/bin && $(RM) -r kernel 868 endif 869 endif # Windows 870 ifneq ($(PLATFORM), windows) 871 $(call copy-man-pages,$(JRE_IMAGE_DIR),$(JRE_MAN_PAGES)) 872 endif # !windows 873 874 # Trim out any extra files not for the jre shipment but wanted in the jdk jre. 875 # (Note the jdk WILL want the jre image before this trimming) 876 # Removes server VM on Windows 32bit. 877 # Remove certain shared libraries that should not be in the jre image 878 # but should be in the jdk jre image. 879 trim-image-jre:: 880 ifeq ($(PLATFORM), windows) 881 ifeq ($(ARCH_DATA_MODEL), 32) 882 $(RM) -r $(JRE_IMAGE_DIR)/bin/server 883 endif 884 ifdef NOTJRE_SHARED_LIBS 885 for l in $(NOTJRE_SHARED_LIBS) ; do \ 886 $(RM) $(JRE_IMAGE_DIR)/bin/$$l ; \ 887 done ; 888 endif 889 else # PLATFORM 890 ifdef NOTJRE_SHARED_LIBS 891 for l in $(NOTJRE_SHARED_LIBS) ; do \ 892 $(RM) $(JRE_IMAGE_DIR)/lib/$(LIBARCH)/$$l ; \ 893 done ; 894 endif 895 endif # PLATFORM 896 897 # Get list of all binary (COFF or Elf) files in the jre 898 JRE_BIN_LIST=$(TEMPDIR)/jre-bin-files.list 899 $(JRE_BIN_LIST): 900 $(RM) $@ 901 ifeq ($(PLATFORM), windows) 902 $(FIND) $(JRE_IMAGE_DIR)/bin -type f -name \*.exe \ 903 -o -name \*.dll | $(EGREP) -v -i "$(MSVCRNN_DLL)" > $@ 904 else 905 $(FIND) $(JRE_IMAGE_DIR)/lib -type f -name \*.$(LIB_SUFFIX) >> $@ 906 # The FILE command reports .debuginfo files as "ELF", but we don't want 907 # those files in the JRE_BIN_LIST file. EXE_SUFFIX is empty on non-Windows. 908 $(FILE) `$(FIND) $(JRE_IMAGE_DIR)/bin -type f ! -name '*.debuginfo' -name \*$(EXE_SUFFIX)` \ 909 | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@ 910 endif 911 912 # Post process the image (strips and mcs on Elf files we are shipping) 913 # (Note the jdk WILL want the jre image before this processing) 914 process-image-jre:: $(JRE_BIN_LIST) 915 ifneq ($(POST_STRIP_PROCESS), ) 916 @for f in `$(CAT) $(JRE_BIN_LIST)`; do \ 917 $(CHMOD) u+w $${f}; \ 918 $(ECHO) $(POST_STRIP_PROCESS) $${f}; \ 919 $(POST_STRIP_PROCESS) $${f}; \ 920 $(CHMOD) go-w $${f}; \ 921 done 922 endif 923 ifneq ($(POST_MCS_PROCESS), ) 924 @for f in `$(CAT) $(JRE_BIN_LIST)`; do \ 925 $(CHMOD) u+w $${f}; \ 926 $(ECHO) $(POST_MCS_PROCESS) $${f}; \ 927 $(POST_MCS_PROCESS) $${f}; \ 928 $(CHMOD) go-w $${f}; \ 929 done 930 endif 931 @for f in `$(CAT) $(JRE_BIN_LIST)`; do \ 932 $(call binary_file_verification,$${f}); \ 933 done 934 $(RM) $(JRE_BIN_LIST) 935 936 # Duplicate current j2re-image contents to server-j2re-image 937 # for the server version of jre, before deploy build 938 server-jdk-image:: 939 ifeq ($(PLATFORM), macosx) 940 $(RM) -r $(JDK_SERVER_BUNDLE_DIR)/Home/demo 941 $(RM) -r $(JDK_SERVER_BUNDLE_DIR)/Home/sample 942 $(RM) $(JDK_SERVER_BUNDLE_DIR)/Home/bin/jcontrol 943 $(RM) $(JDK_SERVER_BUNDLE_DIR)/Home/jre/bin/jcontrol 944 $(RM) $(JDK_SERVER_BUNDLE_DIR)/Home/man/ja_JP.UTF-8/man1/javaws.1 945 $(RM) $(JDK_SERVER_BUNDLE_DIR)/Home/man/man1/javaws.1 946 else 947 $(RM) -r $(JDK_SERVER_IMAGE_DIR) 948 $(CP) -r $(JDK_IMAGE_DIR) $(JDK_SERVER_IMAGE_DIR) 949 $(RM) -r $(JDK_SERVER_IMAGE_DIR)/demo 950 $(RM) -r $(JDK_SERVER_IMAGE_DIR)/sample 951 $(RM) $(JDK_SERVER_IMAGE_DIR)/bin/jcontrol 952 $(RM) $(JDK_SERVER_IMAGE_DIR)/jre/bin/jcontrol 953 $(RM) $(JDK_SERVER_IMAGE_DIR)/man/ja_JP.UTF-8/man1/javaws.1 954 $(RM) $(JDK_SERVER_IMAGE_DIR)/man/man1/javaws.1 955 endif 956 957 ###################################################### 958 # JDK Image 959 ###################################################### 960 # Note: cpio ($(CPIO)) sometimes leaves directories without rx access. 961 962 # REMIND: the $(RM) calls for patterns like c:, d: following $(CPIO) 963 # are because the 1.7.x versions of cygwin's cpio command drops these 964 # in the working directory if the output path begins with that pattern 965 # The one for the output jre subdirectory gets there because cpio sees its 966 # own dropping in the input jre subdirectory. Need to remove both of these. 967 # We can remove these RM's if someone figures out how to stop cpio from 968 # leaving these there. 969 # Note that its a real problem not because this directory can end up in the 970 # bundle (I think it won't since it not in bin or lib and those are the 971 # only places from which we copy everything), but because the presence 972 # of this file causes cygwin's find to bomb out, thus breaking the build 973 # in "install". 974 initial-image-jdk-setup: 975 $(RM) -r $(JDK_IMAGE_DIR) 976 $(MKDIR) -p $(JDK_IMAGE_DIR)/jre 977 ($(CD) $(JRE_IMAGE_DIR) && $(FIND) . -depth -print \ 978 | $(CPIO) -pdum $(JDK_IMAGE_DIR)/jre ) 979 ifeq ($(USING_CYGWIN),true) 980 $(RM) -rf $(JRE_IMAGE_DIR)/[A-Za-z]: 981 $(RM) -rf $(JDK_IMAGE_DIR)/jre/[A-Za-z]: 982 endif 983 $(RM) -rf $(JDK_IMAGE_DIR)/jre/man 984 $(CHMOD) a+rx `$(FIND) $(JDK_IMAGE_DIR) -type d` 985 986 initial-image-jdk64-bindemos: 987 for dir in bin demo ; do \ 988 ( $(CD) $(OUTPUTDIR) && \ 989 $(TAR) cf - `$(FIND) $$dir -name '$(LIBARCH)' -print` | \ 990 ($(CD) $(JDK_IMAGE_DIR) && $(TAR) xf -) ) ; \ 991 done 992 993 # Solaris 64 bit image is special 994 initial-image-jdk-sol64:: initial-image-jdk-setup \ 995 initial-image-jdk64-bindemos 996 997 # DB files to add 998 ifdef OPENJDK 999 1000 initial-image-jdk-db: 1001 1002 else 1003 1004 # Create the list of db *.zip files to bundle with jdk 1005 ABS_DB_PATH :=$(call FullPath,$(CLOSED_SHARE_SRC)/db) 1006 DB_ZIP_LIST = $(shell $(LS) $(ABS_DB_PATH)/*.zip 2>/dev/null) 1007 1008 # Java DB image. Move the Java DB demo directory into the JDK's demo 1009 # dir and in the process, rename it to db. Also remove index.html, 1010 # since it presumes docs are co-located. Also remove register.html (no 1011 # longer relevant). 1012 initial-image-jdk-db: $(DB_ZIP_LIST) 1013 $(MKDIR) -p $(JDK_IMAGE_DIR)/db 1014 for d in $(DB_ZIP_LIST); do \ 1015 ($(CD) $(JDK_IMAGE_DIR)/db && $(UNZIP) -o $$d); \ 1016 done 1017 $(CP) $(ABS_DB_PATH)/README-JDK.html $(JDK_IMAGE_DIR)/db 1018 $(RM) -rf $(DEMODIR)/db 1019 $(MV) $(JDK_IMAGE_DIR)/db/demo $(DEMODIR)/db 1020 $(CP) $(ABS_DB_PATH)/README-JDK-DEMOS.html $(DEMODIR)/db/ 1021 $(RM) $(JDK_IMAGE_DIR)/db/index.html $(JDK_IMAGE_DIR)/db/register.html 1022 endif 1023 1024 # The launcher source files we need for src.zip 1025 FILES_launcher = $(wildcard $(SHARE_SRC)/bin/*) \ 1026 $(wildcard $(PLATFORM_SRC)/bin/java_md*) 1027 1028 # Standard jdk image 1029 initial-image-jdk:: initial-image-jdk-setup \ 1030 initial-image-jdk-db \ 1031 $(JDK_DOCFILES) \ 1032 $(JDK_DEMOS_AND_SAMPLES_DOCFILES) 1033 $(MKDIR) $(JDK_IMAGE_DIR)/lib 1034 @# 1035 @# Copy in the jars in lib that only belong in the JDK 1036 @# 1037 for l in $(NOTJRELIBS); do \ 1038 if [ -r $(LIBDIR)/$$l ]; then \ 1039 $(CP) $(LIBDIR)/$$l $(JDK_IMAGE_DIR)/lib; \ 1040 fi; \ 1041 done 1042 ifeq ($(PLATFORM), windows) 1043 @# 1044 @# lib/ 1045 @# 1046 $(CP) $(LIBDIR)/$(LIB_PREFIX)jvm.$(LIB_SUFFIX) $(JDK_IMAGE_DIR)/lib 1047 $(CP) $(LIBDIR)/$(LIB_PREFIX)jawt.$(LIB_SUFFIX) $(JDK_IMAGE_DIR)/lib 1048 @# 1049 @# bin/ 1050 @# 1051 @# copy all EXE files and only certain DLL files from BINDIR 1052 $(MKDIR) -p $(JDK_IMAGE_DIR)/bin 1053 $(CP) $(BINDIR)/*$(EXE_SUFFIX) $(JDK_IMAGE_DIR)/bin 1054 $(CP) $(BINDIR)/jli.$(LIBRARY_SUFFIX) $(JDK_IMAGE_DIR)/bin 1055 ifeq ($(COMPILER_VERSION), VS2010) 1056 $(CP) $(BINDIR)/msvc*100.$(LIBRARY_SUFFIX) $(JDK_IMAGE_DIR)/bin 1057 endif 1058 else # PLATFORM 1059 @# 1060 @# bin/ 1061 @# 1062 ($(CD) $(BINDIR)/.. && $(TAR) cf - \ 1063 `$(FIND) bin \( -type f -o -type l \) -print `) | \ 1064 ($(CD) $(JDK_IMAGE_DIR) && $(TAR) xf -) 1065 endif # PLATFORM 1066 @# 1067 @# files that might not exist need to be touched. 1068 @# 1069 $(TOUCH) $(CLASSBINDIR)/META-INF/services/com.sun.tools.xjc.Plugin 1070 @# 1071 @# lib/tools.jar 1072 @# 1073 $(CD) $(CLASSBINDIR) && \ 1074 $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS_NOMANIFEST) $(ABS_LIBDIR)/tools.jar \ 1075 $(TOOLS) $(BOOT_JAR_JFLAGS) 1076 @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) 1077 $(CP) $(LIBDIR)/tools.jar $(JDK_IMAGE_DIR)/lib/tools.jar 1078 @# 1079 @# lib/ct.sym 1080 @# 1081 $(MKDIR) -p $(OUTPUTDIR)/symbols/META-INF/sym 1082 $(JAVAC_CMD) -XDprocess.packages -proc:only \ 1083 -processor com.sun.tools.javac.sym.CreateSymbols \ 1084 -Acom.sun.tools.javac.sym.Jar=$(RT_JAR) \ 1085 -Acom.sun.tools.javac.sym.Dest=$(OUTPUTDIR)/symbols/META-INF/sym/rt.jar \ 1086 $(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS) $(EXPORTED_PRIVATE_PKGS) 1087 $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS_NOMANIFEST) $(LIBDIR)/ct.sym \ 1088 -C $(OUTPUTDIR)/symbols META-INF $(BOOT_JAR_JFLAGS) 1089 @$(java-vm-cleanup) 1090 $(CP) $(LIBDIR)/ct.sym $(JDK_IMAGE_DIR)/lib/ct.sym 1091 @# 1092 @# CORBA supported orb.idl and ir.idl should be copied to lib 1093 @# 1094 $(CP) $(LIBDIR)/orb.idl $(JDK_IMAGE_DIR)/lib/orb.idl 1095 $(CP) $(LIBDIR)/ir.idl $(JDK_IMAGE_DIR)/lib/ir.idl 1096 ifeq ($(PLATFORM), linux) 1097 @# 1098 @# on Linux copy jexec from jre/lib to /lib 1099 @# 1100 $(CP) $(LIBDIR)/jexec $(JDK_IMAGE_DIR)/lib/jexec 1101 endif # PLATFORM 1102 @# 1103 @# src.zip 1104 @# 1105 $(MKDIR) -p $(JDK_IMAGE_DIR)/src 1106 @# 1107 @# The '*-*' pattern in the find command excludes files named with dashes, 1108 @# such as the java.nio templates for generated classes 1109 @# 1110 @# The Linux 'tar' command cannot handle the huge command line argument 1111 @# generated by the more efficient solaris/windows method of copying files. 1112 @# So for Linux, make use of the -T option (like Solaris' -I option) of 1113 @# obtaining the list of files from a file. MKS tar has no such option. 1114 1115 ifneq (,$(findstring $(PLATFORM), linux macosx)) 1116 for d in $(SOURCE_DIRS); do \ 1117 $(RM) $(ABS_TEMPDIR)/src-files.list; \ 1118 ($(CD) $$d && \ 1119 for sd in $(SOURCES) ; do \ 1120 if [ -d $$sd ] ; then \ 1121 $(FIND) $$sd $(SOURCE_FILES_filter) \ 1122 -name '*.java' -print \ 1123 >> $(ABS_TEMPDIR)/src-files.list ; \ 1124 fi; \ 1125 done ; \ 1126 ) ; \ 1127 if [ -f $(ABS_TEMPDIR)/src-files.list ] ; then \ 1128 ($(CD) $$d && $(TAR) cf - -T $(ABS_TEMPDIR)/src-files.list ) \ 1129 | ($(CD) $(JDK_IMAGE_DIR)/src && $(TAR) xf -); \ 1130 fi; \ 1131 done 1132 else 1133 for d in $(SOURCE_DIRS); do \ 1134 $(RM) $(ABS_TEMPDIR)/src-files.list; \ 1135 ($(CD) $$d && \ 1136 for sd in $(SOURCES) ; do \ 1137 if [ -d $$sd ] ; then \ 1138 $(FIND) $$sd $(SOURCE_FILES_filter) \ 1139 -name '*.java' -print \ 1140 >> $(ABS_TEMPDIR)/src-files.list ; \ 1141 fi; \ 1142 done ; \ 1143 ) ; \ 1144 if [ -f $(ABS_TEMPDIR)/src-files.list ] ; then \ 1145 ($(CD) $$d && $(TAR) cf - `$(CAT) $(ABS_TEMPDIR)/src-files.list`) \ 1146 | ($(CD) $(JDK_IMAGE_DIR)/src && $(TAR) xf -); \ 1147 fi; \ 1148 done 1149 endif 1150 $(RM) $(ABS_TEMPDIR)/src-files.list 1151 $(CHMOD) -R +w $(JDK_IMAGE_DIR)/src 1152 $(MKDIR) -p $(JDK_IMAGE_DIR)/src/launcher 1153 $(CP) $(FILES_launcher) $(JDK_IMAGE_DIR)/src/launcher 1154 $(CD) $(JDK_IMAGE_DIR)/src && $(ZIPEXE) -qr ../src.zip * 1155 $(RM) -r $(JDK_IMAGE_DIR)/src 1156 @# 1157 @# demo, include 1158 @# 1159 $(CP) -r -f $(DEMODIR) $(JDK_IMAGE_DIR) 1160 $(CP) -r -f $(SAMPLEDIR) $(JDK_IMAGE_DIR) 1161 $(CP) -r $(INCLUDEDIR) $(JDK_IMAGE_DIR) 1162 @# 1163 @# Swing BeanInfo generation 1164 @# 1165 $(CD) javax/swing/beaninfo && $(MAKE) swing-1.2-beans 1166 ifneq ($(PLATFORM), windows) 1167 $(call copy-man-pages,$(JDK_IMAGE_DIR),$(JDK_MAN_PAGES)) 1168 endif # !windows 1169 1170 # Trim out files we don't want to ship 1171 trim-image-jdk:: 1172 @# Remove tools that should not be part of SDK. 1173 for t in $(NOTJDKTOOLS); do \ 1174 $(RM) $(JDK_IMAGE_DIR)/bin/$${t}$(EXE_SUFFIX); \ 1175 done 1176 1177 # Get list of binary (COFF or Elf) files in the jdk 1178 JDK_BIN_LIST=$(TEMPDIR)/jdk-bin-files.list 1179 $(JDK_BIN_LIST): 1180 ifeq ($(PLATFORM), windows) 1181 $(FIND) $(JDK_IMAGE_DIR)/jre/bin -type f -name \*.exe \ 1182 -o -name \*.dll | $(EGREP) -v -i "$(MSVCRNN_DLL)" > $@ 1183 $(FIND) $(JDK_IMAGE_DIR)/bin -type f -name \*.exe \ 1184 -o -name \*.dll | $(EGREP) -v -i "$(MSVCRNN_DLL)" >> $@ 1185 else 1186 $(RM) $@ 1187 $(FIND) $(JDK_IMAGE_DIR)/jre/lib -type f -name \*.$(LIB_SUFFIX) >> $@ 1188 # The FILE command reports .debuginfo files as "ELF", but we don't want 1189 # those files in the JDK_BIN_LIST file. EXE_SUFFIX is empty on non-Windows. 1190 $(FILE) `$(FIND) $(JDK_IMAGE_DIR)/jre/bin -type f ! -name '*.debuginfo' -name \*$(EXE_SUFFIX)` \ 1191 | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@ 1192 file `$(FIND) $(JDK_IMAGE_DIR)/bin -type f ! -name '*.debuginfo' -name \*$(EXE_SUFFIX)` \ 1193 | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@ 1194 endif 1195 1196 # Post process the image (strips and mcs on files we are shipping) 1197 process-image-jdk:: $(JDK_BIN_LIST) 1198 ifneq ($(POST_STRIP_PROCESS), ) 1199 @for f in `$(CAT) $(JDK_BIN_LIST)`; do \ 1200 $(CHMOD) u+w $${f}; \ 1201 $(ECHO) $(POST_STRIP_PROCESS) $${f}; \ 1202 $(POST_STRIP_PROCESS) $${f}; \ 1203 $(CHMOD) go-w $${f}; \ 1204 done 1205 endif 1206 ifneq ($(POST_MCS_PROCESS), ) 1207 @for f in `$(CAT) $(JDK_BIN_LIST)`; do \ 1208 $(CHMOD) u+w $${f}; \ 1209 $(ECHO) $(POST_MCS_PROCESS) $${f}; \ 1210 $(POST_MCS_PROCESS) $${f}; \ 1211 $(CHMOD) go-w $${f}; \ 1212 done 1213 endif 1214 @for f in `$(CAT) $(JDK_BIN_LIST)`; do \ 1215 $(call binary_file_verification,$${f}); \ 1216 done 1217 $(RM) $(JDK_BIN_LIST) 1218 1219 ################################################################### 1220 # What did we build 1221 ################################################################### 1222 1223 # The jdk text info file that lives at the root of the install image. 1224 1225 JDK_INFO_FILE = $(JDK_IMAGE_DIR)/release 1226 JRE_INFO_FILE = $(JRE_IMAGE_DIR)/release 1227 1228 # Common way to emit a line into the release or info file 1229 define info-file-item # name value 1230 $(PRINTF) '%s="%s"\n' $1 $2 >> $@ 1231 endef 1232 1233 define echo-java-info 1234 $(CAT) $1 1235 endef 1236 1237 # Values to emit 1238 MINIMUM_OS_NAME := $(REQUIRED_OS_NAME) 1239 MINIMUM_OS_VERSION := $(REQUIRED_OS_VERSION) 1240 MINIMUM_OS_ARCH := $(ARCH) 1241 ALL_SOURCE_TIPS = $(shell \ 1242 if [ -f $(SOURCE_TIPS) ] ; then \ 1243 $(CAT) $(SOURCE_TIPS) ; \ 1244 fi) 1245 1246 $(JDK_INFO_FILE): FRC 1247 $(prep-target) 1248 $(call info-file-item, "JAVA_VERSION", "$(THIS_JDK_VERSION)") 1249 $(call info-file-item, "OS_NAME", "$(MINIMUM_OS_NAME)") 1250 $(call info-file-item, "OS_VERSION", "$(MINIMUM_OS_VERSION)") 1251 $(call info-file-item, "OS_ARCH", "$(MINIMUM_OS_ARCH)") 1252 $(call info-file-item, "SOURCE", "$(ALL_SOURCE_TIPS)") 1253 $(call echo-java-info, $@) 1254 1255 # Create release file to identify this image 1256 identify-image-jdk:: $(JDK_INFO_FILE) 1257 1258 $(JRE_INFO_FILE): FRC 1259 $(prep-target) 1260 $(call info-file-item, "JAVA_VERSION", "$(THIS_JDK_VERSION)") 1261 $(call info-file-item, "OS_NAME", "$(MINIMUM_OS_NAME)") 1262 $(call info-file-item, "OS_VERSION", "$(MINIMUM_OS_VERSION)") 1263 $(call info-file-item, "OS_ARCH", "$(MINIMUM_OS_ARCH)") 1264 $(call info-file-item, "SOURCE", "$(ALL_SOURCE_TIPS)") 1265 $(call echo-java-info, $@) 1266 1267 # Create release file to identify this image 1268 identify-image-jre:: $(JRE_INFO_FILE) 1269 1270 ################################################################### 1271 # What do we compare against 1272 ################################################################### 1273 1274 # The temporary files and areas created 1275 TEMP_PREV_JRE_BASE_DIR=$(TEMPDIR)/previous_jre 1276 TEMP_PREV_JDK_BASE_DIR=$(TEMPDIR)/previous_jdk 1277 TEMP_PREV_JRE_COMPARISON=$(TEMP_PREV_JRE_BASE_DIR)/previous_jre_comparison.txt 1278 TEMP_PREV_JDK_COMPARISON=$(TEMP_PREV_JDK_BASE_DIR)/previous_jdk_comparison.txt 1279 TEMP_PREV_JRE_IMAGE_DIR=$(TEMP_PREV_JRE_BASE_DIR)/jre$(PREVIOUS_JDK_VERSION) 1280 TEMP_PREV_JDK_IMAGE_DIR=$(TEMP_PREV_JDK_BASE_DIR)/jdk$(PREVIOUS_JDK_VERSION) 1281 1282 # unbundle(sourcedir,bundlename,destdir) 1283 # logic is slightly different if a .tar.gz file (linux) 1284 define unbundle 1285 $(RM) -r $3 1286 $(MKDIR) -p $3 1287 $(CP) $1 $3 1288 if [ "`$(BASENAME) $2 .gz`" != "$2" ] ; then \ 1289 ( $(CD) $3 && ( $(GUNZIP) -dc $2 | $(TAR) xf - ) && $(RM) $2 ); \ 1290 else \ 1291 ( $(CD) $3 && $(TAR) xf $2 && $(RM) $2 ); \ 1292 fi 1293 ( $(CD) $3 && $(RM) $2 ) 1294 endef 1295 1296 # In general, ignore the fastdebug tree, and changes in the demo and sample area 1297 COMPARE_FILTER = | $(EGREP) -v /fastdebug/ | $(EGREP) -v /demo/ | $(EGREP) -v /sample/ 1298 1299 # If a previuous image is provided, no need to install it. 1300 ifdef PREVIOUS_RELEASE_IMAGE 1301 1302 # Just use the pre-installed images 1303 PREV_JRE_IMAGE_DIR=$(PREVIOUS_RELEASE_IMAGE)/jre 1304 PREV_JDK_IMAGE_DIR=$(PREVIOUS_RELEASE_IMAGE) 1305 1306 else 1307 1308 # Use the temp images we will create 1309 PREV_JRE_IMAGE_DIR=$(TEMP_PREV_JRE_IMAGE_DIR) 1310 PREV_JDK_IMAGE_DIR=$(TEMP_PREV_JDK_IMAGE_DIR) 1311 1312 # Force the installation in this case 1313 compare-image:: install-previous-sanity install-previous-jre install-previous-jdk 1314 1315 # Unbundle the jre 1316 $(TEMP_PREV_JRE_IMAGE_DIR)/bin/java$(EXE_SUFFIX): $(PREVIOUS_JRE_BUNDLE) 1317 $(call unbundle,$(PREVIOUS_JRE_BUNDLE),$(PREVIOUS_JRE_FILE),$(TEMP_PREV_JRE_BASE_DIR)) 1318 $(TOUCH) $@ 1319 1320 # Unbundle the jdk 1321 $(TEMP_PREV_JDK_IMAGE_DIR)/bin/java$(EXE_SUFFIX): $(PREVIOUS_JDK_BUNDLE) 1322 $(call unbundle,$(PREVIOUS_JDK_BUNDLE),$(PREVIOUS_JDK_FILE),$(TEMP_PREV_JDK_BASE_DIR)) 1323 $(TOUCH) $@ 1324 1325 endif 1326 1327 # Make sure all images have a java in them (used as the touch file) 1328 install-previous-sanity: 1329 @if [ ! -f $(PREVIOUS_JRE_BUNDLE) ]; then \ 1330 $(ECHO) "ERROR: You do not have access to the previous java release jre bundles. \n" \ 1331 " Please check your access to \n" \ 1332 " $(PREVIOUS_JRE_BUNDLE) \n" \ 1333 " and/or check your value of ALT_PREVIOUS_RELEASE_PATH or ALT_PREVIOUS_JRE_FILE \n" \ 1334 " This will affect you if you build the images target. \n" \ 1335 "" >> $(ERROR_FILE) ; \ 1336 fi 1337 @if [ ! -f $(PREVIOUS_JDK_BUNDLE) ]; then \ 1338 $(ECHO) "ERROR: You do not have access to the previous java release sdk bundles. \n" \ 1339 " Please check your access to \n" \ 1340 " $(PREVIOUS_sdk_BUNDLE) \n" \ 1341 " and/or check your value of ALT_PREVIOUS_RELEASE_PATH or ALT_PREVIOUS_JDK_FILE. \n" \ 1342 " This will affect you if you build the images target. \n" \ 1343 "" >> $(ERROR_FILE) ; \ 1344 fi 1345 install-previous-jre: $(PREV_JRE_IMAGE_DIR)/bin/java$(EXE_SUFFIX) 1346 install-previous-jdk: $(PREV_JDK_IMAGE_DIR)/bin/java$(EXE_SUFFIX) 1347 1348 # Create the jre comparison report 1349 $(TEMP_PREV_JRE_COMPARISON): install-previous-jre $(DIRDIFF_JARFILE) 1350 $(prep-target) 1351 $(BOOT_JAVA_CMD) -jar $(DIRDIFF_JARFILE) \ 1352 $(PREV_JRE_IMAGE_DIR) $(JRE_IMAGE_DIR) | $(SORT) > $@ 1353 @$(java-vm-cleanup) 1354 1355 # Create the jdk comparison report 1356 $(TEMP_PREV_JDK_COMPARISON): install-previous-jdk $(DIRDIFF_JARFILE) 1357 $(prep-target) 1358 $(BOOT_JAVA_CMD) -jar $(DIRDIFF_JARFILE) \ 1359 $(PREV_JDK_IMAGE_DIR) $(JDK_IMAGE_DIR) | $(SORT) > $@ 1360 @$(java-vm-cleanup) 1361 1362 # Clean up names in the messages printed out 1363 CAT_FILTER = $(SED) -e "s|$(JDK_IMAGE_DIR)|JDK_IMAGE|g" \ 1364 -e "s|$(JRE_IMAGE_DIR)|JRE_IMAGE|g" 1365 1366 # Report on the jre image comparison 1367 compare-image-jre: $(TEMP_PREV_JRE_COMPARISON) 1368 @$(ECHO) "JRE Image Comparison to version $(PREVIOUS_JDK_VERSION)" 1369 @$(ECHO) " Previous: $(PREV_JRE_IMAGE_DIR)" 1370 @$(ECHO) " Current: $(JRE_IMAGE_DIR)" 1371 @$(CAT) $< $(COMPARE_FILTER) | $(CAT_FILTER) 1372 ( $(ECHO) " " ; $(CAT) $< | $(CAT_FILTER) ; $(ECHO) " " ) >> $(WARNING_FILE) 1373 1374 # Report on the jdk image comparison 1375 compare-image-jdk: $(TEMP_PREV_JDK_COMPARISON) 1376 @$(ECHO) "JDK Image Comparison to version $(PREVIOUS_JDK_VERSION)" 1377 @$(ECHO) " Previous: $(PREV_JDK_IMAGE_DIR)" 1378 @$(ECHO) " Current: $(JDK_IMAGE_DIR)" 1379 $(CAT) $< $(COMPARE_FILTER) | $(CAT_FILTER) 1380 ( $(ECHO) " " ; $(CAT) $< | $(CAT_FILTER) ; $(ECHO) " " ) >> $(WARNING_FILE) 1381 1382 # Do both image comparisons 1383 compare-image:: compare-image-jre compare-image-jdk 1384 1385 # Clean up any temp images and reports 1386 compare-image-clobber: 1387 $(RM) -r $(TEMP_PREV_JRE_BASE_DIR) 1388 $(RM) -r $(TEMP_PREV_JDK_BASE_DIR) 1389 1390 ###################################################### 1391 # clobber 1392 ###################################################### 1393 images-clobber:: 1394 $(RM) -r $(REORDER_TEMPDIR) 1395 $(RM) -r $(JARFILELISTS_TEMPDIR) 1396 ifeq ($(ARCH_DATA_MODEL), 32) 1397 $(CD) javax/swing/beaninfo && $(MAKE) swingbeans.clobber 1398 $(RM) -r $(CLASSBINDIR)/META-INF 1399 $(RM) $(TEMPDIR)/tmp.jar 1400 endif 1401 ifeq ($(PLATFORM), linux) 1402 $(RM) -r $(OUTPUTDIR)/$(ARCH) 1403 endif 1404 ifeq ($(PLATFORM), windows) 1405 $(RM) $(TEMPDIR)/rebase.input 1406 endif 1407 $(RM) -r $(JDK_IMAGE_DIR) 1408 $(RM) -r $(JRE_IMAGE_DIR) 1409 1410 images images-clobber:: 1411 @$(ECHO) ">>>Finished making "$@" @ `$(DATE)` ..." 1412 @$(java-vm-cleanup) 1413 1414 .PHONY: images image-jre image-jdk \ 1415 initial-image-jre initial-image-jdk \ 1416 initial-image-jre-sol64 initial-image-jdk-sol64 \ 1417 initial-image-jdk-setup \ 1418 initial-image-jdk-db \ 1419 initial-image-jdk64-bindemos \ 1420 initial-image-jre-setup \ 1421 trim-image-jre trim-image-jdk \ 1422 process-image-jre process-image-jdk \ 1423 identify-image-jre identify-image-jdk \ 1424 install-previous-jre install-previous-jdk \ 1425 compare-image-jre compare-image-jdk \ 1426 compare-image compare-image-clobber \ 1427 images-clobber 1428 1429 # Force rule 1430 FRC: 1431 1432 -include $(JDK_TOPDIR)/make/closed/common/release.gmk