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)/makefiles/docs/CORE_PKGS.gmk 27 include $(JDK_TOPDIR)/makefiles/docs/NON_CORE_PKGS.gmk 28 include $(JDK_TOPDIR)/makefiles/Tools.gmk 29 30 # What jdk version are we building 31 THIS_JDK_VERSION := $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION) 32 33 # 34 # Perform release engineering tasks. 35 # 36 # images An image is what the product looks like when it is 37 # installed. 38 # 39 40 IMAGE_BINDIR = bin 41 42 # The compiler should not issue a "Proprietary" warning when compiling 43 # classes in the com.sun.java.swing.plaf packages, since we've always 44 # allowed, and even advocated, extending them (see bug 6476749). 45 # 46 # This approach is NOT to be used as a general purpose way to avoid such 47 # compiler warnings for non-core packages. The correct way is to document 48 # the packages in NON_CORE_PKGS.gmk, and include them in the NON_CORE_PKGS 49 # definition. 50 # 51 # Swing has taken this approach only as a temporary measure to avoid 52 # the compiler warnings until we can properly document these packages. 53 # This is covered under 6491853. 54 EXCLUDE_PROPWARN_PKGS = com.sun.java.swing.plaf.windows \ 55 com.sun.java.swing.plaf.motif \ 56 com.sun.java.swing.plaf.gtk 57 58 # 59 # Include the exported private packages in ct.sym. 60 # This is an interim solution until the ct.sym is replaced 61 # with a new module system (being discussed for JDK 8). 62 # 63 EXPORTED_PRIVATE_PKGS = com.sun.servicetag \ 64 com.oracle.net \ 65 com.oracle.nio 66 67 # 64-bit solaris has a few special cases. We define the variable 68 # SOLARIS64 for use in this Makefile to easily test those cases 69 ifeq ($(PLATFORM), solaris) 70 ifeq ($(ARCH_DATA_MODEL), 64) 71 SOLARIS64 = true 72 IMAGE_BINDIR = bin/$(ARCH) 73 endif 74 endif 75 76 JTG_DOCS = $(JDK_TOPDIR)/src/solaris/doc 77 78 ifeq ($(PLATFORM), macosx) 79 include $(JDK_TOPDIR)/make/common/Release-$(PLATFORM).gmk 80 endif 81 82 # The base names of all the license and document files for the jdk and jre 83 # (These files get placed in the jdk and jre install images) 84 ifdef OPENJDK 85 # Where to find these files 86 SHARE_JDK_DOC_SRC = $(JDK_TOPDIR) 87 SHARE_JRE_DOC_SRC = $(JDK_TOPDIR) 88 # Same files for jdk and jre, no name changes 89 IMAGE_DOCLIST_JDK = LICENSE ASSEMBLY_EXCEPTION THIRD_PARTY_README 90 IMAGE_DOCLIST_JDK_DEMOS_AND_SAMPLES = 91 IMAGE_DOCLIST_JRE = LICENSE ASSEMBLY_EXCEPTION THIRD_PARTY_README 92 else 93 # make/closed/common/Defs.gmk for closed location of SHARE_JDK_DOC_SRC 94 95 IMAGE_DOCLIST_JDK = COPYRIGHT README.html LICENSE THIRDPARTYLICENSEREADME.txt 96 IMAGE_DOCLIST_JDK_DEMOS_AND_SAMPLES = demo/DEMOS_LICENSE sample/SAMPLES_LICENSE 97 IMAGE_DOCLIST_JRE = COPYRIGHT Welcome.html LICENSE THIRDPARTYLICENSEREADME.txt 98 ifeq ($(PLATFORM), windows) 99 IMAGE_DOCLIST_JRE += README.txt 100 else 101 IMAGE_DOCLIST_JRE += README 102 endif 103 endif 104 105 # Paths to these files we need 106 JDK_DOCFILES = $(IMAGE_DOCLIST_JDK:%=$(JDK_IMAGE_DIR)/%) 107 JRE_DOCFILES = $(IMAGE_DOCLIST_JRE:%=$(JRE_IMAGE_DIR)/%) 108 JDK_DEMOS_AND_SAMPLES_DOCFILES = $(IMAGE_DOCLIST_JDK_DEMOS_AND_SAMPLES:%=$(JDK_IMAGE_DIR)/%) 109 110 # absolute directory names: note, these must exist prior to build 111 # time - they are created in the main Makefile. 112 JRE_IMAGE_BINDIR = $(JRE_IMAGE_DIR)/bin 113 114 MAINMANIFEST = $(JDK_TOPDIR)/make/tools/manifest.mf 115 BEANMANIFEST = $(JDK_TOPDIR)/make/javax/swing/beaninfo/manifest 116 117 # 118 # Man pages 119 # 120 121 JRE_MAN_PAGES = \ 122 java.1 \ 123 keytool.1 \ 124 orbd.1 \ 125 pack200.1 \ 126 policytool.1 \ 127 rmid.1 \ 128 rmiregistry.1 \ 129 servertool.1 \ 130 tnameserv.1 \ 131 unpack200.1 132 133 ifndef OPENJDK 134 JRE_MAN_PAGES += javaws.1 135 endif 136 137 JDK_MAN_PAGES = \ 138 $(JRE_MAN_PAGES) \ 139 appletviewer.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 jconsole.1 \ 149 jdb.1 \ 150 jhat.1 \ 151 jinfo.1 \ 152 jmap.1 \ 153 jps.1 \ 154 jrunscript.1 \ 155 jsadebugd.1 \ 156 jstack.1 \ 157 jstat.1 \ 158 jstatd.1 \ 159 native2ascii.1 \ 160 rmic.1 \ 161 schemagen.1 \ 162 serialver.1 \ 163 wsgen.1 \ 164 wsimport.1 \ 165 xjc.1 166 167 ifeq ($(PLATFORM), solaris) 168 MANBASEDIRS=$(JDK_TOPDIR)/src/solaris/doc $(IMPORTDOCDIR) 169 MAN1SUBDIR=sun/man/man1 170 endif # solaris 171 172 ifeq ($(PLATFORM), linux) 173 MANBASEDIRS=$(JDK_TOPDIR)/src/linux/doc $(IMPORTDOCDIR) 174 MAN1SUBDIR=man 175 JA_DIRNAME=ja_JP.UTF-8 176 endif # linux 177 178 define copy-man-pages 179 $(MKDIR) -p $1/man/man1 180 for manbase in $(MANBASEDIRS:%=%/$(MAN1SUBDIR)) ; do \ 181 for manpage in $2; do \ 182 if [ -f $${manbase}/$${manpage} ] ; then \ 183 $(CP) $${manbase}/$${manpage} $1/man/man1 ; \ 184 for ja_encoding in $(JA_TARGET_ENCODINGS); do \ 185 ja_dir="ja"; \ 186 if [ "$${ja_encoding}" != "$(JA_SOURCE_ENCODING)" ]; then \ 187 ja_dir="ja_JP.$${ja_encoding}"; \ 188 fi; \ 189 $(MKDIR) -p $1/man/$${ja_dir}/man1; \ 190 $(CAT) $${manbase}/ja/$${manpage} \ 191 | $(NATIVE2ASCII) -encoding $(JA_SOURCE_ENCODING) \ 192 | $(SED) 's/@@VERSION@@/$(THIS_JDK_VERSION)/g' \ 193 | $(NATIVE2ASCII) -reverse -encoding $${ja_encoding} \ 194 > $1/man/$${ja_dir}/man1/$${manpage}; \ 195 done; \ 196 fi; \ 197 done; \ 198 done 199 $(java-vm-cleanup) 200 if [ "$(JA_DIRNAME)" != "" ] ; then \ 201 $(CD) $1/man && $(RM) ja && $(LN) -s $(JA_DIRNAME) ja; \ 202 fi 203 endef 204 205 206 # no compression unless requested 207 ifndef COMPRESS_JARS 208 CREATE_JAR_OPTS = c0mf 209 CREATE_JAR_OPTS_NOMANIFEST = c0f 210 else 211 CREATE_JAR_OPTS = cmf 212 CREATE_JAR_OPTS_NOMANIFEST = cf 213 endif 214 215 # 216 # Targets. 217 # 218 INITIAL_IMAGE_JRE=initial-image-jre 219 INITIAL_IMAGE_JDK=initial-image-jdk 220 ifeq ($(PLATFORM), solaris) 221 ifeq ($(ARCH_DATA_MODEL), 64) 222 INITIAL_IMAGE_JRE=initial-image-jre-sol64 223 INITIAL_IMAGE_JDK=initial-image-jdk-sol64 224 endif 225 endif 226 227 images images-clobber \ 228 initial-image-jre initial-image-jdk \ 229 initial-image-jre-sol64 initial-image-jdk-sol64 \ 230 trim-image-jre trim-image-jdk \ 231 identify-image-jre identify-image-jdk \ 232 process-image-jre process-image-jdk \ 233 sec-files sec-files-win jgss-files :: 234 $(ECHO) ">>>Making "$@" @ `$(DATE)` ..." 235 236 install: images 237 238 # Order is important here, trim jre after jdk image is created 239 ifeq ($(PLATFORM), macosx) 240 241 images:: $(INITIAL_IMAGE_JRE) $(EXTRA_JRE_TARGETS) $(INITIAL_IMAGE_JDK) \ 242 trim-image-jre trim-image-jdk \ 243 identify-image-jre identify-image-jdk \ 244 process-image-jre process-image-jdk sec-files sec-files-win jgss-files \ 245 $(EXTRA_IMAGE_TARGETS) 246 else 247 248 images:: $(INITIAL_IMAGE_JRE) $(INITIAL_IMAGE_JDK) \ 249 trim-image-jre trim-image-jdk \ 250 identify-image-jre identify-image-jdk \ 251 process-image-jre process-image-jdk sec-files sec-files-win jgss-files 252 endif 253 254 # Don't use these 255 image-jre:: initial-image-jre trim-image-jre identify-image-jre process-image-jre 256 image-jdk:: initial-image-jdk trim-image-jdk identify-image-jdk process-image-jdk 257 258 # 259 # Sources we ship in the SDK. 260 # 261 SOURCES = \ 262 java/applet \ 263 java/awt \ 264 java/beans \ 265 java/io \ 266 java/lang \ 267 java/math \ 268 java/net \ 269 java/nio \ 270 java/rmi \ 271 java/security \ 272 java/sql \ 273 java/text \ 274 java/util \ 275 com/sun/corba \ 276 com/sun/image/codec/jpeg \ 277 com/sun/imageio \ 278 com/sun/java/swing \ 279 com/sun/javadoc \ 280 com/sun/jmx \ 281 com/sun/source \ 282 com/sun/naming \ 283 com/sun/security/auth \ 284 com/sun/security/jgss \ 285 javax/accessibility \ 286 javax/annotation \ 287 javax/script \ 288 javax/imageio \ 289 javax/lang \ 290 javax/management \ 291 javax/naming \ 292 javax/print \ 293 javax/rmi \ 294 javax/security \ 295 javax/sound \ 296 javax/sql \ 297 javax/swing \ 298 javax/tools \ 299 javax/xml \ 300 com/sun/org/apache \ 301 com/sun/java_cup \ 302 com/sun/jlex \ 303 org/ietf \ 304 org/omg \ 305 org/w3c/dom \ 306 org/xml/sax \ 307 sunw 308 # 309 # Directories where sources may be found. If a file with the same path 310 # name exists in more than one of these places, the one found last on this 311 # list wins. 312 # 313 SOURCE_DIRS = $(SHARE_SRC)/classes $(PLATFORM_SRC)/classes 314 SOURCE_DIRS += $(GENSRCDIR) 315 SOURCE_DIRS += $(IMPORTSRCDIR) 316 SOURCE_DIRS += $(JDK_OUTPUTDIR)/gendocsrc_rmic 317 ifndef OPENJDK 318 SOURCE_DIRS += $(CLOSED_SRC)/share/classes 319 endif 320 321 322 # 323 # Specific files and directories that will be filtered out from above areas. 324 # 325 SOURCE_FILTERs = $(SCM_DIRs) ',*' 326 SOURCE_FILES_filter = $(SOURCE_FILTERs:%=-name % -prune -o) 327 328 # 329 # Bug 4249883 - excluding some unnecessary packages from com.sun.tools 330 # 331 # Bug 5008685 - exclude jconsole from sun/tools 332 # 333 TOOLS = \ 334 META-INF/services/com.sun.jdi.connect.Connector \ 335 META-INF/services/com.sun.jdi.connect.spi.TransportService \ 336 sun/tools/asm \ 337 sun/tools/jar \ 338 sun/tools/java \ 339 sun/tools/javac \ 340 sun/tools/jcmd \ 341 sun/tools/jps \ 342 sun/tools/jstat \ 343 sun/tools/jstatd \ 344 sun/tools/native2ascii \ 345 sun/tools/serialver \ 346 sun/tools/tree \ 347 sun/tools/util \ 348 sun/security/tools/JarBASE64Encoder.class \ 349 sun/security/tools/JarSigner.class \ 350 sun/security/tools/JarSignerParameters.class \ 351 sun/security/tools/JarSignerResources.class \ 352 sun/security/tools/JarSignerResources_ja.class \ 353 sun/security/tools/JarSignerResources_zh_CN.class \ 354 sun/security/tools/SignatureFile\$$Block.class \ 355 sun/security/tools/SignatureFile.class \ 356 sun/security/tools/TimestampedSigner.class \ 357 sun/rmi/rmic \ 358 sun/applet \ 359 sun/jvmstat \ 360 com/sun/javadoc \ 361 com/sun/jdi \ 362 com/sun/jarsigner \ 363 com/sun/source \ 364 com/sun/tools/classfile \ 365 com/sun/tools/doclets \ 366 com/sun/tools/example/debug/expr \ 367 com/sun/tools/example/debug/tty \ 368 com/sun/tools/extcheck \ 369 com/sun/tools/hat \ 370 com/sun/tools/javac \ 371 com/sun/tools/javadoc \ 372 com/sun/tools/javah \ 373 com/sun/tools/javap \ 374 com/sun/tools/corba \ 375 com/sun/tools/internal/xjc \ 376 com/sun/tools/internal/ws \ 377 META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \ 378 META-INF/services/com.sun.tools.internal.xjc.Plugin \ 379 com/sun/istack/internal/tools \ 380 com/sun/tools/internal/jxc/ap \ 381 com/sun/tools/internal/ws/wscompile/plugin/at_generated \ 382 com/sun/codemodel \ 383 com/sun/tools/internal/jxc \ 384 com/sun/xml/internal/rngom \ 385 com/sun/xml/internal/xsom \ 386 org/relaxng/datatype \ 387 com/sun/xml/internal/dtdparser \ 388 com/sun/tools/jdi \ 389 com/sun/tools/script/shell \ 390 META-INF/services/com.sun.tools.attach.spi.AttachProvider \ 391 com/sun/tools/attach \ 392 sun/tools/attach \ 393 sun/tools/jstack \ 394 sun/tools/jinfo \ 395 sun/tools/jmap 396 397 # classes that go into jfr.jar 398 JFR_CLASSES_DIRS= \ 399 com/oracle/jrockit/jfr \ 400 oracle/jrockit/jfr 401 402 # classes that go into jsse.jar 403 JSSE_CLASSES_DIRS = \ 404 sun/security/provider/Sun.class \ 405 sun/security/rsa/SunRsaSign.class \ 406 sun/security/ssl \ 407 com/sun/net/ssl/internal/ssl 408 409 # classes that go into dnsns.jar 410 DNS_CLASSES_DIRS = \ 411 sun/net/spi/nameservice/dns \ 412 META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor 413 414 # classes and files that go into localedata.jar 415 LOCALEDATA_JAR_DIRS = \ 416 sun/text/resources/*_ar* \ 417 sun/text/resources/*_hi* \ 418 sun/text/resources/*_iw* \ 419 sun/text/resources/*_iw* \ 420 sun/text/resources/*_ja* \ 421 sun/text/resources/*_ko* \ 422 sun/text/resources/*_th.* \ 423 sun/text/resources/*_th_* \ 424 sun/text/resources/*_vi* \ 425 sun/text/resources/*_zh* \ 426 sun/text/resources/*Data_th \ 427 sun/text/resources/thai_dict \ 428 sun/util/resources/*_ar* \ 429 sun/util/resources/*_hi* \ 430 sun/util/resources/*_iw* \ 431 sun/util/resources/*_iw* \ 432 sun/util/resources/*_ja* \ 433 sun/util/resources/*_ko* \ 434 sun/util/resources/*_th_* \ 435 sun/util/resources/*_th.* \ 436 sun/util/resources/*_vi* \ 437 sun/util/resources/*_zh* 438 439 LOCALEDATA_JAR_FILES = $(foreach i,$(LOCALEDATA_JAR_DIRS), $(wildcard $(CLASSBINDIR)/$i)) 440 441 # files under $(OUTPUTDIR) that need to go into sec-bin.zip for builds 442 # where the corresponding sources are not available 443 SEC_FILES_DIRS = \ 444 classes/javax/net \ 445 classes/javax/security/cert \ 446 classes/com/sun/net/ssl \ 447 classes/com/sun/security/cert \ 448 classes/sun/net/www/protocol/https \ 449 classes/sun/security/pkcs12 \ 450 classes/sun/security/ssl \ 451 classes/sun/security/krb5/*.class \ 452 classes/sun/security/krb5/internal/*.class \ 453 classes/sun/security/krb5/internal/ccache \ 454 classes/sun/security/krb5/internal/crypto \ 455 classes/sun/security/krb5/internal/ktab \ 456 classes/sun/security/krb5/internal/rcache \ 457 classes/sun/security/krb5/internal/util \ 458 classes/sun/security/jgss/spi/GSSContextSpi.class 459 460 # files under $(OUTPUTDIR) that need to go into sec-windows-win.zip for builds 461 # where the corresponding sources are not available 462 SEC_FILES_WIN_DIRS = \ 463 classes/sun/security/krb5/internal/tools 464 465 # files under $(BINDIR) that need to go into jgss_files.zip for builds 466 # where the corresponding sources are not available 467 JGSS_FILES_DIRS = \ 468 bin/w2k_lsa_auth.dll \ 469 bin/w2k_lsa_auth.map \ 470 bin/w2k_lsa_auth.pdb 471 472 # The following get removed from the SDK image. 473 NOTJDKTOOLS = \ 474 java_vm 475 476 # The following get removed from the JRE after the bulk-copy of BINDIR... 477 NOTJRETOOLS = \ 478 appletviewer$(EXE_SUFFIX) \ 479 extcheck$(EXE_SUFFIX) \ 480 idlj$(EXE_SUFFIX) \ 481 jar$(EXE_SUFFIX) \ 482 jarsigner$(EXE_SUFFIX) \ 483 java-rmi.cgi \ 484 javac$(EXE_SUFFIX) \ 485 javadoc$(EXE_SUFFIX) \ 486 javah$(EXE_SUFFIX) \ 487 javap$(EXE_SUFFIX) \ 488 jcmd$(EXE_SUFFIX) \ 489 jdb$(EXE_SUFFIX) \ 490 jps$(EXE_SUFFIX) \ 491 jrunscript$(EXE_SUFFIX) \ 492 jstat$(EXE_SUFFIX) \ 493 jstatd$(EXE_SUFFIX) \ 494 jstack$(EXE_SUFFIX) \ 495 packagebean$(SCRIPT_SUFFIX) \ 496 rmic$(EXE_SUFFIX) \ 497 serialver$(EXE_SUFFIX) \ 498 unregbean$(EXE_SUFFIX) \ 499 jconsole$(EXE_SUFFIX) \ 500 jinfo$(EXE_SUFFIX) \ 501 jmap$(EXE_SUFFIX) \ 502 native2ascii$(EXE_SUFFIX) \ 503 xjc$(EXE_SUFFIX) \ 504 wsgen$(EXE_SUFFIX) \ 505 wsimport$(EXE_SUFFIX) \ 506 schemagen$(EXE_SUFFIX) \ 507 jsadebugd$(EXE_SUFFIX) \ 508 jhat$(EXE_SUFFIX) 509 510 # The following get removed from the JRE after the bulk-copy of LIBDIR... 511 NOTJRELIBS = tools.jar \ 512 jconsole.jar \ 513 dt.jar 514 515 ifeq ($(INCLUDE_SA), true) 516 NOTJRELIBS += sa-jdi.jar 517 518 # The following get removed from the JRE after the bulk-copy of LIBDIR... 519 NOTJRE_SHARED_LIBS = $(SALIB_NAME) 520 else 521 NOTJRE_SHARED_LIBS = 522 endif 523 524 # Attach library is JDK only 525 NOTJRE_SHARED_LIBS += $(LIB_PREFIX)attach.$(LIBRARY_SUFFIX) 526 527 # 528 ###### RULES 529 530 # Processing license files from source area to image area 531 # These will be modified to have the platform specific EOL chars. 532 define process-doc-file 533 $(prep-target) 534 $(SED) 's/$$//g' $< > $@ 535 $(CHMOD) 444 $@ 536 endef 537 538 # JDK files 539 $(JDK_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/% 540 $(process-doc-file) 541 542 $(JDK_IMAGE_DIR)/demo/DEMOS_LICENSE: $(SHARE_JDK_DOC_SRC)/DEMOS_LICENSE 543 $(process-doc-file) 544 545 $(JDK_IMAGE_DIR)/sample/SAMPLES_LICENSE: $(SHARE_JDK_DOC_SRC)/SAMPLES_LICENSE 546 $(process-doc-file) 547 548 # JRE files 549 $(JRE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/% 550 $(process-doc-file) 551 ifeq ($(PLATFORM), windows) 552 $(JRE_IMAGE_DIR)/README.txt: $(SHARE_JRE_DOC_SRC)/README 553 $(process-doc-file) 554 endif 555 556 557 ###################################################### 558 # List of directories in classes directory that should NOT be in rt.jar 559 ###################################################### 560 561 NOT_RT_JAR_LIST = $(IMAGES_OUTPUTDIR)/tmp/not_rt_jar.list 562 563 $(NOT_RT_JAR_LIST): FRC 564 $(prep-target) 565 $(ECHO) "#\n" >> $@ 566 $(ECHO) "# List of subdirectories not in include in rt.jar" >> $@ 567 $(ECHO) "# Directories must contain trailing '/'." >> $@ 568 $(ECHO) "com/sun/javadoc/" >> $@ 569 $(ECHO) "com/sun/jdi/" >> $@ 570 $(ECHO) "com/sun/jarsigner/" >> $@ 571 $(ECHO) "com/sun/source/" >> $@ 572 $(ECHO) "com/sun/istack/internal/tools/" >> $@ 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.tools.xjc.Plugin" >> $@ 576 $(ECHO) "com/sun/tools/" >> $@ 577 $(ECHO) "sun/jvmstat/" >> $@ 578 $(ECHO) "sun/nio/cs/ext/" >> $@ 579 $(ECHO) "sun/awt/HKSCS.class" >> $@ 580 $(ECHO) "sun/awt/motif/X11GB2312\$$Decoder.class" >> $@ 581 $(ECHO) "sun/awt/motif/X11GB2312\$$Encoder.class" >> $@ 582 $(ECHO) "sun/awt/motif/X11GB2312.class" >> $@ 583 $(ECHO) "sun/awt/motif/X11GBK\$$Encoder.class" >> $@ 584 $(ECHO) "sun/awt/motif/X11GBK.class" >> $@ 585 $(ECHO) "sun/awt/motif/X11KSC5601\$$Decoder.class" >> $@ 586 $(ECHO) "sun/awt/motif/X11KSC5601\$$Encoder.class" >> $@ 587 $(ECHO) "sun/awt/motif/X11KSC5601.class" >> $@ 588 $(ECHO) "META-INF/services/java.nio.charset.spi.CharsetProvider" >> $@ 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) "sun/security/pkcs11/" >> $@ 617 $(ECHO) "sun/security/ec/ECDHKeyAgreement.class" >> $@ 618 $(ECHO) "sun/security/ec/ECDSASignature.class" >> $@ 619 $(ECHO) "sun/security/ec/ECKeyPairGenerator.class" >> $@ 620 $(ECHO) "sun/security/ec/SunEC\$$1.class" >> $@ 621 $(ECHO) "sun/security/ec/SunEC.class" >> $@ 622 $(ECHO) "sun/security/ec/SunECEntries.class" >> $@ 623 $(ECHO) "sun/security/ec/ECDSASignature\$$Raw.class" >> $@ 624 $(ECHO) "sun/security/ec/ECDSASignature\$$SHA1.class" >> $@ 625 $(ECHO) "sun/security/ec/ECDSASignature\$$SHA256.class" >> $@ 626 $(ECHO) "sun/security/ec/ECDSASignature\$$SHA384.class" >> $@ 627 $(ECHO) "sun/security/ec/ECDSASignature\$$SHA512.class" >> $@ 628 $(ECHO) "com/sun/net/ssl/internal/ssl/" >> $@ 629 $(ECHO) "javax/crypto/" >> $@ 630 $(ECHO) "sun/security/internal/" >> $@ 631 $(ECHO) "com/sun/crypto/provider/" >> $@ 632 $(ECHO) "META-INF/services/com.sun.tools.attach.spi.AttachProvider" >> $@ 633 $(ECHO) "com/sun/tools/attach/" >> $@ 634 $(ECHO) "org/relaxng/datatype/" >> $@ 635 $(ECHO) "com/sun/codemodel/" >> $@ 636 $(ECHO) "com/sun/xml/internal/dtdparser/" >> $@ 637 $(ECHO) "com/sun/xml/internal/rngom/" >> $@ 638 $(ECHO) "com/sun/xml/internal/xsom/" >> $@ 639 $(ECHO) "com/sun/tools/script/shell/" >> $@ 640 $(ECHO) "sun/tools/attach/" >> $@ 641 $(ECHO) "sun/tools/jstack/" >> $@ 642 $(ECHO) "sun/tools/jinfo/" >> $@ 643 $(ECHO) "sun/tools/jmap/" >> $@ 644 $(ECHO) "sun/net/spi/nameservice/dns/" >> $@ 645 $(ECHO) "META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor" >> $@ 646 $(ECHO) "javax/swing/AbstractButtonBeanInfo.class" >> $@ 647 $(ECHO) "javax/swing/BoxBeanInfo.class" >> $@ 648 $(ECHO) "javax/swing/JAppletBeanInfo.class" >> $@ 649 $(ECHO) "javax/swing/JButtonBeanInfo.class" >> $@ 650 $(ECHO) "javax/swing/JCheckBoxBeanInfo.class" >> $@ 651 $(ECHO) "javax/swing/JCheckBoxMenuItemBeanInfo.class" >> $@ 652 $(ECHO) "javax/swing/JColorChooserBeanInfo.class" >> $@ 653 $(ECHO) "javax/swing/JComboBoxBeanInfo.class" >> $@ 654 $(ECHO) "javax/swing/JComponentBeanInfo.class" >> $@ 655 $(ECHO) "javax/swing/JDesktopPaneBeanInfo.class" >> $@ 656 $(ECHO) "javax/swing/JDialogBeanInfo.class" >> $@ 657 $(ECHO) "javax/swing/JEditorPaneBeanInfo.class" >> $@ 658 $(ECHO) "javax/swing/JFileChooserBeanInfo.class" >> $@ 659 $(ECHO) "javax/swing/JFormattedTextFieldBeanInfo.class" >> $@ 660 $(ECHO) "javax/swing/JFrameBeanInfo.class" >> $@ 661 $(ECHO) "javax/swing/JInternalFrameBeanInfo.class" >> $@ 662 $(ECHO) "javax/swing/JLabelBeanInfo.class" >> $@ 663 $(ECHO) "javax/swing/JLayeredPaneBeanInfo.class" >> $@ 664 $(ECHO) "javax/swing/JListBeanInfo.class" >> $@ 665 $(ECHO) "javax/swing/JMenuBarBeanInfo.class" >> $@ 666 $(ECHO) "javax/swing/JMenuBeanInfo.class" >> $@ 667 $(ECHO) "javax/swing/JMenuItemBeanInfo.class" >> $@ 668 $(ECHO) "javax/swing/JOptionPaneBeanInfo.class" >> $@ 669 $(ECHO) "javax/swing/JPanelBeanInfo.class" >> $@ 670 $(ECHO) "javax/swing/JPasswordFieldBeanInfo.class" >> $@ 671 $(ECHO) "javax/swing/JPopupMenuBeanInfo.class" >> $@ 672 $(ECHO) "javax/swing/JProgressBarBeanInfo.class" >> $@ 673 $(ECHO) "javax/swing/JRadioButtonBeanInfo.class" >> $@ 674 $(ECHO) "javax/swing/JRadioButtonMenuItemBeanInfo.class" >> $@ 675 $(ECHO) "javax/swing/JScrollBarBeanInfo.class" >> $@ 676 $(ECHO) "javax/swing/JScrollPaneBeanInfo.class" >> $@ 677 $(ECHO) "javax/swing/JSeparatorBeanInfo.class" >> $@ 678 $(ECHO) "javax/swing/JSliderBeanInfo.class" >> $@ 679 $(ECHO) "javax/swing/JSpinnerBeanInfo.class" >> $@ 680 $(ECHO) "javax/swing/JSplitPaneBeanInfo.class" >> $@ 681 $(ECHO) "javax/swing/JTabbedPaneBeanInfo.class" >> $@ 682 $(ECHO) "javax/swing/JTableBeanInfo.class" >> $@ 683 $(ECHO) "javax/swing/JTextAreaBeanInfo.class" >> $@ 684 $(ECHO) "javax/swing/JTextFieldBeanInfo.class" >> $@ 685 $(ECHO) "javax/swing/JTextPaneBeanInfo.class" >> $@ 686 $(ECHO) "javax/swing/JToggleButtonBeanInfo.class" >> $@ 687 $(ECHO) "javax/swing/JToolBarBeanInfo.class" >> $@ 688 $(ECHO) "javax/swing/JTreeBeanInfo.class" >> $@ 689 $(ECHO) "javax/swing/JWindowBeanInfo.class" >> $@ 690 $(ECHO) "javax/swing/SwingBeanInfoBase.class" >> $@ 691 $(ECHO) "javax/swing/text/JTextComponentBeanInfo.class" >> $@ 692 $(ECHO) "sun/swing/BeanInfoUtils.class" >> $@ 693 $(ECHO) $(patsubst $(CLASSBINDIR)/%,%,$(LOCALEDATA_JAR_FILES)) | $(TR) " " "\n" >> $@ 694 ifndef OPENJDK 695 ifndef JAVASE_EMBEDDED 696 $(ECHO) "com/oracle/jrockit/jfr/" >> $@ 697 $(ECHO) "com/oracle/jrockit/jfr/client/" >> $@ 698 $(ECHO) "com/oracle/jrockit/jfr/management/" >> $@ 699 $(ECHO) "oracle/jrockit/jfr/" >> $@ 700 $(ECHO) "oracle/jrockit/jfr/events/" >> $@ 701 $(ECHO) "oracle/jrockit/jfr/openmbean/" >> $@ 702 $(ECHO) "oracle/jrockit/jfr/parser/" >> $@ 703 $(ECHO) "oracle/jrockit/jfr/settings/" >> $@ 704 $(ECHO) "oracle/jrockit/jfr/tools/" >> $@ 705 $(ECHO) "oracle/jrockit/jfr/util/" >> $@ 706 $(ECHO) "oracle/jrockit/jfr/util/log/" >> $@ 707 $(ECHO) "oracle/jrockit/jfr/util/os/" >> $@ 708 $(ECHO) "oracle/jrockit/jfr/util/text/" >> $@ 709 endif 710 endif 711 (cd $(JDK_OUTPUTDIR)/classes && $(FIND) . -name "_the.*") >> $@ 712 ifeq ($(PLATFORM), macosx) 713 $(ECHO) "com/sun/nio/sctp/" >> $@ 714 $(ECHO) "sun/nio/ch/sctp/" >> $@ 715 $(ECHO) "sun/jdbc/" >> $@ 716 $(ECHO) "sun/nio/ch/DevPollArrayWrapper\$$Updator.class" >> $@ 717 $(ECHO) "sun/nio/ch/DevPollArrayWrapper.class" >> $@ 718 $(ECHO) "sun/nio/ch/DevPollSelectorImpl.class" >> $@ 719 $(ECHO) "sun/nio/ch/DevPollSelectorProvider.class" >> $@ 720 $(ECHO) "sun/nio/ch/EPollArrayWrapper\$$Updator.class" >> $@ 721 $(ECHO) "sun/nio/ch/EPollArrayWrapper.class" >> $@ 722 $(ECHO) "sun/nio/ch/EPollSelectorImpl.class" >> $@ 723 $(ECHO) "sun/nio/ch/EPollSelectorProvider.class" >> $@ 724 endif 725 726 ###################################################### 727 # List of directories in classes directory that should NOT be in resources.jar 728 ###################################################### 729 730 NOT_RESOURCES_JAR_LIST = $(IMAGES_OUTPUTDIR)/tmp/not_resources_jar.list 731 732 $(NOT_RESOURCES_JAR_LIST): FRC 733 $(prep-target) 734 $(ECHO) "#\n" >> $@ 735 $(ECHO) "# List of subdirectories not in include in resources.jar" >> $@ 736 $(ECHO) "# Directories must contain trailing '/'." >> $@ 737 $(ECHO) "javax/swing/beaninfo/" >> $@ 738 739 TOTAL_JAR_EXCLUDE_LIST = $(IMAGES_OUTPUTDIR)/tmp/total_jar_exclude.list 740 741 ###################################################### 742 # Total exclude list 743 ###################################################### 744 745 $(TOTAL_JAR_EXCLUDE_LIST): $(NOT_RT_JAR_LIST) $(NOT_RESOURCES_JAR_LIST) 746 $(prep-target) 747 $(ECHO) "#\n" >> $@ 748 $(ECHO) "# List of subdirectories not in include in resources.jar" >> $@ 749 $(CAT) $(NOT_RT_JAR_LIST) >>$@ 750 $(CAT) $(NOT_RESOURCES_JAR_LIST) >>$@ 751 752 # File order list for rt.jar 753 # - sun.applet is included, till hotjava stops relying on it. 754 # - sun.tools.jar is included, needs cleanup. 755 # 756 REORDER_TEMPDIR=$(IMAGES_OUTPUTDIR)/tmp/reorder 757 TOTAL_JAR_FILELIST=$(REORDER_TEMPDIR)/file_list 758 759 JARFILELISTS_TEMPDIR=$(IMAGES_OUTPUTDIR)/tmp/jarfilelists 760 RT_JAR_FILELIST=$(JARFILELISTS_TEMPDIR)/rt_jar_list 761 RES_JAR_FILELIST=$(JARFILELISTS_TEMPDIR)/resources_jar_list 762 763 $(TOTAL_JAR_FILELIST): $(BUILD_TOOLS) $(TOTAL_JAR_EXCLUDE_LIST) 764 $(prep-target) 765 $(RM) $@.temp 766 ($(CD) $(CLASSBINDIR) && \ 767 $(TOOL_JARREORDER) \ 768 -o $@.temp $(ABS_LIBDIR)/classlist $(TOTAL_JAR_EXCLUDE_LIST) . ) 769 $(MV) $@.temp $@ 770 ($(CD) $(CLASSBINDIR) && $(java-vm-cleanup)) 771 772 # Create the jfr.jar containing Java Flight Recorder implementation 773 JFR_JAR= 774 ifndef OPENJDK 775 ifndef JAVASE_EMBEDDED 776 JFR_JAR=$(ABS_TEMPDIR)/jfr-orig.jar 777 $(JFR_JAR): $(OTHER_JAR_MANIFEST_FILE) 778 $(prep-target) 779 $(CD) $(CLASSBINDIR) && \ 780 $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(OTHER_JAR_MANIFEST_FILE) $@ \ 781 $(JFR_CLASSES_DIRS) $(BOOT_JAR_JFLAGS) 782 @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) 783 endif 784 endif 785 786 # Create the rt.jar file list & non-class files list 787 788 $(RT_JAR_FILELIST) + $(RES_JAR_FILELIST): \ 789 $(TOTAL_JAR_FILELIST) $(BUILD_TOOLS) 790 $(RM) $(RT_JAR_FILELIST) $(RES_JAR_FILELIST) 791 $(MKDIR) -p $(JARFILELISTS_TEMPDIR) 792 $(TOOL_JARSPLIT) \ 793 $(TOTAL_JAR_FILELIST) \ 794 -o $(RT_JAR_FILELIST) $(RES_JAR_FILELIST) 795 $(java-vm-cleanup) 796 797 # Create the manifest file. 798 RT_JAR_MANIFEST_FILE=$(IMAGES_OUTPUTDIR)/tmp/rt_manifest.tmp 799 $(RT_JAR_MANIFEST_FILE): $(MAINMANIFEST) $(BEANMANIFEST) 800 $(prep-target) 801 $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ 802 -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ 803 $(MAINMANIFEST) >> $@ 804 $(ECHO) >> $@ 805 $(CAT) $(BEANMANIFEST) >> $@ 806 807 OTHER_JAR_MANIFEST_FILE=$(IMAGES_OUTPUTDIR)/tmp/other_manifest.tmp 808 $(OTHER_JAR_MANIFEST_FILE): $(MAINMANIFEST) 809 $(prep-target) 810 $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ 811 -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ 812 $(MAINMANIFEST) >> $@ 813 814 # Create resources.jar containing non-class files 815 RESOURCES_JAR=$(IMAGES_OUTPUTDIR)/tmp/resources-orig.jar 816 $(RESOURCES_JAR): $(RES_JAR_FILELIST) $(OTHER_JAR_MANIFEST_FILE) 817 $(prep-target) 818 $(CD) $(CLASSBINDIR) && \ 819 $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(OTHER_JAR_MANIFEST_FILE) $@ \ 820 @$(RES_JAR_FILELIST) $(BOOT_JAR_JFLAGS) 821 $(CD) $(CLASSBINDIR) && $(java-vm-cleanup) 822 823 # Create jsse.jar containing SunJSSE implementation classes 824 JSSE_JAR=$(IMAGES_OUTPUTDIR)/tmp/jsse-orig.jar 825 $(JSSE_JAR): $(OTHER_JAR_MANIFEST_FILE) 826 $(prep-target) 827 $(CD) $(CLASSBINDIR) && \ 828 $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(OTHER_JAR_MANIFEST_FILE) $@ \ 829 $(JSSE_CLASSES_DIRS) $(BOOT_JAR_JFLAGS) 830 @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) 831 832 # Create dnsns.jar 833 # Create without manifest for now to not differ with old buildsystem. 834 DNS_JAR=$(IMAGES_OUTPUTDIR)/tmp/dns-orig.jar 835 $(DNS_JAR): $(OTHER_JAR_MANIFEST_FILE) 836 $(prep-target) 837 $(CD) $(CLASSBINDIR) && \ 838 $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS_NOMANIFEST) $@ \ 839 $(DNS_CLASSES_DIRS) $(BOOT_JAR_JFLAGS) 840 @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) 841 842 # Create localedata.jar containing localedata for non european languages 843 LOCALEDATA_JAR=$(IMAGES_OUTPUTDIR)/localedata-orig.jar 844 $(LOCALEDATA_JAR): $(LOCALEDATA_JAR_FILES) 845 $(prep-target) 846 # Create without manifest for now to not differ with old buildsystem. 847 # $(CD) $(CLASSBINDIR) && \ 848 # $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(OTHER_JAR_MANIFEST_FILE) $@ \ 849 # $(LOCALEDATA_JAR_DIRS) $(BOOT_JAR_JFLAGS) 850 $(CD) $(CLASSBINDIR) && \ 851 $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS_NOMANIFEST) $@ \ 852 $(LOCALEDATA_JAR_DIRS) $(BOOT_JAR_JFLAGS) 853 $(CD) $(CLASSBINDIR) && $(java-vm-cleanup) 854 855 # Create sec-bin.zip 856 SEC_FILES_ZIP=$(IMAGES_OUTPUTDIR)/tmp/sec-bin.zip 857 sec-files:: 858 $(prep-target) 859 $(RM) $(SEC_FILES_ZIP) 860 $(CD) $(OUTPUTDIR) && \ 861 $(ZIPEXE) -rq9 $(SEC_FILES_ZIP) $(SEC_FILES_DIRS) 862 $(java-vm-cleanup) 863 864 # Create sec-windows-bin.zip 865 SEC_FILES_WIN_ZIP=$(IMAGES_OUTPUTDIR)/tmp/sec-windows-bin.zip 866 sec-files-win:: 867 ifeq ($(PLATFORM), windows) 868 $(prep-target) 869 $(RM) $(SEC_FILES_WIN_ZIP) 870 $(CD) $(OUTPUTDIR) && \ 871 $(ZIPEXE) -rq9 $(SEC_FILES_WIN_ZIP) $(SEC_FILES_WIN_DIRS) 872 $(java-vm-cleanup) 873 endif 874 875 # Create JGSS files that contains the native Kerberos library 876 JGSS_WIN32_FILES_ZIP=$(IMAGES_OUTPUTDIR)/tmp/jgss-windows-i586-bin.zip 877 JGSS_WIN64_FILES_ZIP=$(IMAGES_OUTPUTDIR)/tmp/jgss-windows-x64-bin.zip 878 jgss-files:: 879 ifeq ($(PLATFORM), windows) 880 $(prep-target) 881 ifeq ($(ARCH_DATA_MODEL), 32) 882 $(RM) $(JGSS_WIN32_FILES_ZIP) 883 $(CD) $(OUTPUTDIR) && \ 884 $(ZIPEXE) -rq9 $(JGSS_WIN32_FILES_ZIP) $(JGSS_FILES_DIRS) 885 else 886 $(RM) $(JGSS_WIN64_FILES_ZIP) 887 $(CD) $(OUTPUTDIR) && \ 888 $(ZIPEXE) -rq9 $(JGSS_WIN64_FILES_ZIP) $(JGSS_FILES_DIRS) 889 endif 890 $(java-vm-cleanup) 891 endif 892 893 # Create rt.jar 894 RT_JAR=$(IMAGES_OUTPUTDIR)/tmp/rt-orig.jar 895 $(RT_JAR): $(RT_JAR_FILELIST) $(RT_JAR_MANIFEST_FILE) 896 $(prep-target) 897 $(CD) $(CLASSBINDIR) && \ 898 $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(RT_JAR_MANIFEST_FILE) $@ \ 899 @$(RT_JAR_FILELIST) $(BOOT_JAR_JFLAGS) 900 $(CD) $(CLASSBINDIR) && $(java-vm-cleanup) 901 902 # SE-Embedded targets if enabled 903 include $(JDK_TOPDIR)/makefiles/common/Release-embedded.gmk 904 905 906 ###################################################### 907 # JRE Image 908 ###################################################### 909 910 initial-image-jre-setup: 911 $(RM) -r $(JRE_IMAGE_DIR) 912 $(MKDIR) -p $(JRE_IMAGE_DIR) 913 914 # 64-bit solaris jre image contains only the 64-bit add-on files. 915 initial-image-jre-sol64:: initial-image-jre-setup 916 @# Use tar instead of cp to preserve the symbolic links 917 for dir in bin lib ; do \ 918 ( $(CD) $(OUTPUTDIR) && \ 919 $(TAR) cf - `$(FIND) $$dir -name '$(ARCH)' -print` | \ 920 ($(CD) $(JRE_IMAGE_DIR) && $(TAR) xf -) ) ; \ 921 done 922 @# Remove some files from the jre area 923 for t in $(NOTJRETOOLS) ; do \ 924 $(RM) $(JRE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \ 925 done 926 for l in $(NOTJRELIBS) ; do \ 927 $(RM) $(JRE_IMAGE_DIR)/lib/$$l ; \ 928 done 929 $(RM) `$(FIND) $(JRE_IMAGE_DIR)/lib -name 'orb.idl'` 930 $(RM) `$(FIND) $(JRE_IMAGE_DIR)/lib -name 'ir.idl'` 931 932 # Construct an initial jre image (initial jdk jre) no trimming or stripping 933 # See "initial-image-jdk-setup" for an explanation of the rm of 934 # drive names like C: 935 initial-image-jre:: initial-image-jre-setup \ 936 $(JRE_DOCFILES) \ 937 $(RT_JAR) $(RESOURCES_JAR) $(JSSE_JAR) $(JFR_JAR) $(DNS_JAR) $(LOCALEDATA_JAR) \ 938 $(BUILD_TOOLS) 939 @# Copy in bin directory 940 $(CD) $(OUTPUTDIR) && $(FIND) bin -depth | $(CPIO) -pdum $(JRE_IMAGE_DIR) 941 @# CTE plugin security change require new empty directory lib/applet 942 $(MKDIR) -p $(JRE_IMAGE_DIR)/lib/applet 943 @# Copy in lib directory 944 $(CD) $(OUTPUTDIR) && $(FIND) lib -depth | $(CPIO) -pdum $(JRE_IMAGE_DIR) 945 ifeq ($(USING_CYGWIN),true) 946 $(RM) -rf $(JRE_IMAGE_DIR)/[A-Za-z]: 947 $(RM) -rf $(OUTPUTDIR)/[A-Za-z]: 948 endif 949 @# Make sure all directories are read/execute for everyone 950 $(CHMOD) a+rx `$(FIND) $(JRE_IMAGE_DIR) -type d` 951 @# Remove some files from the jre area 952 for t in $(NOTJRETOOLS) ; do \ 953 $(RM) $(JRE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \ 954 done 955 for l in $(NOTJRELIBS) ; do \ 956 $(RM) $(JRE_IMAGE_DIR)/lib/$$l ; \ 957 done 958 @# Remove orb.idl and ir.idl from jre 959 $(FIND) $(JRE_IMAGE_DIR)/lib -name 'orb.idl' -exec $(RM) \{} \; 960 $(FIND) $(JRE_IMAGE_DIR)/lib -name 'ir.idl' -exec $(RM) \{} \; 961 @# Copy in rt.jar & resources.jar file 962 $(CP) $(RT_JAR) $(JRE_IMAGE_DIR)/lib/rt.jar 963 $(CP) $(RESOURCES_JAR) $(JRE_IMAGE_DIR)/lib/resources.jar 964 $(CP) $(JSSE_JAR) $(JRE_IMAGE_DIR)/lib/jsse.jar 965 ifneq ($(JFR_JAR),) 966 $(CP) $(JFR_JAR) $(JRE_IMAGE_DIR)/lib/jfr.jar 967 endif 968 $(CP) $(DNS_JAR) $(JRE_IMAGE_DIR)/lib/ext/dnsns.jar 969 $(CP) $(LOCALEDATA_JAR) $(JRE_IMAGE_DIR)/lib/ext/localedata.jar 970 @# Generate meta-index to make boot and extension class loaders lazier 971 $(CD) $(JRE_IMAGE_DIR)/lib && \ 972 $(TOOL_BUILDMETAINDEX) \ 973 -o meta-index *.jar 974 $(CD) $(JRE_IMAGE_DIR)/lib && $(java-vm-cleanup) 975 $(CD) $(JRE_IMAGE_DIR)/lib/ext && \ 976 $(TOOL_BUILDMETAINDEX) \ 977 -o meta-index *.jar 978 $(CD) $(JRE_IMAGE_DIR)/lib/ext && $(java-vm-cleanup) 979 ifeq ($(PLATFORM), macosx) 980 @#install jobjc, apple mac only 981 $(CP) $(OUTPUTDIR)/JObjC.build/JObjC.jar $(JRE_IMAGE_DIR)/lib/JObjC.jar 982 endif 983 ifeq ($(PLATFORM), windows) 984 @# Remove certain *.lib files 985 $(CD) $(JRE_IMAGE_DIR)/lib && \ 986 $(RM) java.$(LIB_SUFFIX) jvm.$(LIB_SUFFIX) \ 987 awt.$(LIB_SUFFIX) jawt.$(LIB_SUFFIX) 988 ifeq ($(ARCH_DATA_MODEL), 32) 989 @# The Java Kernel JRE image ships with a special VM. It is not included 990 @# in the full JRE image, so remove it. Also, is it only for 32-bit windows. 991 $(CD) $(JRE_IMAGE_DIR)/bin && $(RM) -r kernel 992 endif 993 endif # Windows 994 ifneq ($(PLATFORM), windows) 995 $(call copy-man-pages,$(JRE_IMAGE_DIR),$(JRE_MAN_PAGES)) 996 endif # !windows 997 998 # Trim out any extra files not for the jre shipment but wanted in the jdk jre. 999 # (Note the jdk WILL want the jre image before this trimming) 1000 # Removes server VM on Windows 32bit. 1001 # Remove certain shared libraries that should not be in the jre image 1002 # but should be in the jdk jre image. 1003 trim-image-jre:: 1004 @# Clean out all _the. files. 1005 $(FIND) $(JRE_IMAGE_DIR) -name "_the.*" $(FIND_DELETE) 1006 ifeq ($(PLATFORM), windows) 1007 ifeq ($(ARCH_DATA_MODEL), 32) 1008 $(RM) -r $(JRE_IMAGE_DIR)/bin/server 1009 endif 1010 ifdef NOTJRE_SHARED_LIBS 1011 for l in $(NOTJRE_SHARED_LIBS) ; do \ 1012 $(RM) $(JRE_IMAGE_DIR)/bin/$$l ; \ 1013 done ; 1014 endif 1015 else # PLATFORM 1016 ifdef NOTJRE_SHARED_LIBS 1017 for l in $(NOTJRE_SHARED_LIBS) ; do \ 1018 $(RM) $(JRE_IMAGE_DIR)/lib/$(LIBARCH)/$$l ; \ 1019 done ; 1020 endif 1021 endif # PLATFORM 1022 1023 # Get list of all binary (COFF or Elf) files in the jre 1024 JRE_BIN_LIST=$(TEMPDIR)/jre-bin-files.list 1025 $(JRE_BIN_LIST): 1026 $(RM) $@ 1027 ifeq ($(PLATFORM), windows) 1028 $(FIND) $(JRE_IMAGE_DIR)/bin -type f -name \*.exe \ 1029 -o -name \*.dll | $(EGREP) -v -i "$(MSVCRNN_DLL)" > $@ 1030 else 1031 $(FIND) $(JRE_IMAGE_DIR)/lib -type f -name \*.$(LIB_SUFFIX) >> $@ 1032 $(FILE) `$(FIND) $(JRE_IMAGE_DIR)/bin -type f -name \*$(EXE_SUFFIX)` \ 1033 | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@ 1034 endif 1035 1036 # Post process the image (strips and mcs on Elf files we are shipping) 1037 # (Note the jdk WILL want the jre image before this processing) 1038 process-image-jre:: $(JRE_BIN_LIST) 1039 ifneq ($(POST_STRIP_PROCESS), ) 1040 @for f in `$(CAT) $(JRE_BIN_LIST)`; do \ 1041 $(CHMOD) u+w $${f}; \ 1042 $(ECHO) $(POST_STRIP_PROCESS) $${f}; \ 1043 $(POST_STRIP_PROCESS) $${f}; \ 1044 $(CHMOD) go-w $${f}; \ 1045 done 1046 endif 1047 ifneq ($(POST_MCS_PROCESS), ) 1048 @for f in `$(CAT) $(JRE_BIN_LIST)`; do \ 1049 $(CHMOD) u+w $${f}; \ 1050 $(ECHO) $(POST_MCS_PROCESS) $${f}; \ 1051 $(POST_MCS_PROCESS) $${f}; \ 1052 $(CHMOD) go-w $${f}; \ 1053 done 1054 endif 1055 @for f in `$(CAT) $(JRE_BIN_LIST)`; do \ 1056 $(call binary_file_verification,$${f}); \ 1057 done 1058 $(RM) $(JRE_BIN_LIST) 1059 1060 ###################################################### 1061 # JDK Image 1062 ###################################################### 1063 # Note: cpio ($(CPIO)) sometimes leaves directories without rx access. 1064 1065 # REMIND: the $(RM) calls for patterns like c:, d: following $(CPIO) 1066 # are because the 1.7.x versions of cygwin's cpio command drops these 1067 # in the working directory if the output path begins with that pattern 1068 # The one for the output jre subdirectory gets there because cpio sees its 1069 # own dropping in the input jre subdirectory. Need to remove both of these. 1070 # We can remove these RM's if someone figures out how to stop cpio from 1071 # leaving these there. 1072 # Note that its a real problem not because this directory can end up in the 1073 # bundle (I think it won't since it not in bin or lib and those are the 1074 # only places from which we copy everything), but because the presence 1075 # of this file causes cygwin's find to bomb out, thus breaking the build 1076 # in "install". 1077 initial-image-jdk-setup: 1078 $(RM) -r $(JDK_IMAGE_DIR) 1079 $(MKDIR) -p $(JDK_IMAGE_DIR)/jre 1080 ($(CD) $(JRE_IMAGE_DIR) && $(FIND) . -depth -print \ 1081 | $(CPIO) -pdum $(JDK_IMAGE_DIR)/jre ) 1082 ifeq ($(USING_CYGWIN),true) 1083 $(RM) -rf $(JRE_IMAGE_DIR)/[A-Za-z]: 1084 $(RM) -rf $(JDK_IMAGE_DIR)/jre/[A-Za-z]: 1085 endif 1086 $(RM) -rf $(JDK_IMAGE_DIR)/jre/man 1087 $(CHMOD) a+rx `$(FIND) $(JDK_IMAGE_DIR) -type d` 1088 1089 initial-image-jdk64-bindemos: 1090 for dir in bin demo ; do \ 1091 ( $(CD) $(OUTPUTDIR) && \ 1092 $(TAR) cf - `$(FIND) $$dir -name '$(LIBARCH)' -print` | \ 1093 ($(CD) $(JDK_IMAGE_DIR) && $(TAR) xf -) ) ; \ 1094 done 1095 1096 # Solaris 64 bit image is special 1097 initial-image-jdk-sol64:: initial-image-jdk-setup \ 1098 initial-image-jdk64-bindemos 1099 1100 # DB files to add 1101 ifdef OPENJDK 1102 1103 initial-image-jdk-db: 1104 1105 else 1106 1107 # Create the list of db *.zip files to bundle with jdk 1108 ABS_DB_PATH :=$(call FullPath,$(CLOSED_SHARE_SRC)/db) 1109 DB_ZIP_LIST := $(shell $(LS) $(ABS_DB_PATH)/*.zip 2>/dev/null) 1110 # Can't have : in these file names as they are used in a rule 1111 # below. 1112 ifdef USING_CYGWIN 1113 DB_ZIP_LIST:=$(shell $(CYGPATH) -a -u $(DB_ZIP_LIST)) 1114 endif 1115 1116 # Java DB image. Move the Java DB demo directory into the JDK's demo 1117 # dir and in the process, rename it to db. Also remove index.html, 1118 # since it presumes docs are co-located. Also remove register.html (no 1119 # longer relevant). 1120 initial-image-jdk-db: $(DB_ZIP_LIST) 1121 $(MKDIR) -p $(JDK_IMAGE_DIR)/db 1122 for d in $(DB_ZIP_LIST); do \ 1123 ($(CD) $(JDK_IMAGE_DIR)/db && $(UNZIP) -o $$d); \ 1124 done 1125 $(CP) $(ABS_DB_PATH)/README-JDK.html $(JDK_IMAGE_DIR)/db 1126 ifndef NO_DEMOS 1127 $(RM) -rf $(NEWDEMODIR)/db 1128 $(MV) $(JDK_IMAGE_DIR)/db/demo $(NEWDEMODIR)/db 1129 $(CP) $(ABS_DB_PATH)/README-JDK-DEMOS.html $(NEWDEMODIR)/db/ 1130 else 1131 $(RM) -rf $(JDK_IMAGE_DIR)/db/demo 1132 endif 1133 $(RM) $(JDK_IMAGE_DIR)/db/index.html $(JDK_IMAGE_DIR)/db/register.html 1134 endif 1135 1136 # The launcher source files we need for src.zip 1137 FILES_launcher = $(wildcard $(SHARE_SRC)/bin/*) \ 1138 $(wildcard $(PLATFORM_SRC)/bin/java_md*) 1139 1140 # Standard jdk image 1141 initial-image-jdk:: initial-image-jdk-setup \ 1142 initial-image-jdk-db \ 1143 $(JDK_DOCFILES) \ 1144 $(JDK_DEMOS_AND_SAMPLES_DOCFILES) 1145 $(MKDIR) $(JDK_IMAGE_DIR)/lib 1146 @# 1147 @# Copy in the jars in lib that only belong in the JDK 1148 @# 1149 for l in $(NOTJRELIBS); do \ 1150 if [ -r $(LIBDIR)/$$l ]; then \ 1151 $(CP) $(LIBDIR)/$$l $(JDK_IMAGE_DIR)/lib; \ 1152 fi; \ 1153 done 1154 ifeq ($(PLATFORM), windows) 1155 @# 1156 @# lib/ 1157 @# 1158 $(CP) $(LIBDIR)/$(LIB_PREFIX)jvm.$(LIB_SUFFIX) $(JDK_IMAGE_DIR)/lib 1159 $(CP) $(LIBDIR)/$(LIB_PREFIX)jawt.$(LIB_SUFFIX) $(JDK_IMAGE_DIR)/lib 1160 @# 1161 @# bin/ 1162 @# 1163 @# copy all EXE files and only certain DLL files from BINDIR 1164 $(MKDIR) -p $(JDK_IMAGE_DIR)/bin 1165 $(CP) $(BINDIR)/*$(EXE_SUFFIX) $(JDK_IMAGE_DIR)/bin 1166 $(CP) $(BINDIR)/jli.$(LIBRARY_SUFFIX) $(JDK_IMAGE_DIR)/bin 1167 ifeq ($(COMPILER_VERSION), VS2010) 1168 $(CP) $(BINDIR)/msvc*100.$(LIBRARY_SUFFIX) $(JDK_IMAGE_DIR)/bin 1169 endif 1170 else # PLATFORM 1171 @# 1172 @# bin/ 1173 @# 1174 ($(CD) $(BINDIR)/.. && $(TAR) cf - \ 1175 `$(FIND) bin \( -type f -o -type l \) -print `) | \ 1176 ($(CD) $(JDK_IMAGE_DIR) && $(TAR) xf -) 1177 endif # PLATFORM 1178 @# 1179 @# lib/tools.jar 1180 @# 1181 $(MKDIR) -p $(IMAGES_OUTPUTDIR)/lib 1182 $(CD) $(CLASSBINDIR) && \ 1183 $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS_NOMANIFEST) $(IMAGES_OUTPUTDIR)/lib/tools.jar \ 1184 $(TOOLS) $(BOOT_JAR_JFLAGS) 1185 $(CD) $(CLASSBINDIR) && $(java-vm-cleanup) 1186 $(CP) $(IMAGES_OUTPUTDIR)/lib/tools.jar $(JDK_IMAGE_DIR)/lib/tools.jar 1187 @# 1188 @# lib/ct.sym 1189 @# 1190 $(MKDIR) -p $(IMAGES_OUTPUTDIR)/symbols/META-INF/sym 1191 $(BOOT_JAVA_CMD) \ 1192 -Xbootclasspath/p:$(JAVAC_JAR) \ 1193 -Xbootclasspath/a:$(JDK_OUTPUTDIR)/classes \ 1194 -jar $(JAVAC_JAR) $(JAVACFLAGS) \ 1195 -XDprocess.packages -proc:only \ 1196 -processor com.sun.tools.javac.sym.CreateSymbols \ 1197 -Acom.sun.tools.javac.sym.Jar=$(RT_JAR) \ 1198 -Acom.sun.tools.javac.sym.Dest=$(IMAGES_OUTPUTDIR)/symbols/META-INF/sym/rt.jar \ 1199 $(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS) $(EXPORTED_PRIVATE_PKGS) 1200 $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS_NOMANIFEST) $(IMAGES_OUTPUTDIR)/lib/ct.sym \ 1201 -C $(IMAGES_OUTPUTDIR)/symbols META-INF $(BOOT_JAR_JFLAGS) 1202 $(java-vm-cleanup) 1203 $(CP) $(IMAGES_OUTPUTDIR)/lib/ct.sym $(JDK_IMAGE_DIR)/lib/ct.sym 1204 @# 1205 @# CORBA supported orb.idl and ir.idl should be copied to lib 1206 @# 1207 $(CP) $(LIBDIR)/orb.idl $(JDK_IMAGE_DIR)/lib/orb.idl 1208 $(CP) $(LIBDIR)/ir.idl $(JDK_IMAGE_DIR)/lib/ir.idl 1209 ifeq ($(PLATFORM), linux) 1210 @# 1211 @# on Linux copy jexec from jre/lib to /lib 1212 @# 1213 $(CP) $(LIBDIR)/jexec $(JDK_IMAGE_DIR)/lib/jexec 1214 endif # PLATFORM 1215 @# 1216 @# src.zip 1217 @# 1218 $(MKDIR) -p $(JDK_IMAGE_DIR)/src 1219 @# 1220 @# The '*-*' pattern in the find command excludes files named with dashes, 1221 @# such as the java.nio templates for generated classes 1222 @# 1223 @# The Linux 'tar' command cannot handle the huge command line argument 1224 @# generated by the more efficient solaris/windows method of copying files. 1225 @# So for Linux, make use of the -T option (like Solaris' -I option) of 1226 @# obtaining the list of files from a file. MKS tar has no such option. 1227 1228 ifneq (,$(findstring $(PLATFORM), linux macosx)) 1229 for d in $(SOURCE_DIRS); do \ 1230 $(RM) $(IMAGES_OUTPUTDIR)/tmp/src-files.list; \ 1231 ($(CD) $$d && \ 1232 for sd in $(SOURCES) ; do \ 1233 if [ -d $$sd ] ; then \ 1234 $(FIND) $$sd $(SOURCE_FILES_filter) \ 1235 -name '*.java' -print \ 1236 >> $(IMAGES_OUTPUTDIR)/tmp/src-files.list ; \ 1237 fi; \ 1238 done ; \ 1239 ) ; \ 1240 if [ -f $(IMAGES_OUTPUTDIR)/tmp/src-files.list ] ; then \ 1241 ($(CD) $$d && $(TAR) cf - -T $(IMAGES_OUTPUTDIR)/tmp/src-files.list ) \ 1242 | ($(CD) $(JDK_IMAGE_DIR)/src && $(TAR) xf -); \ 1243 fi; \ 1244 done 1245 else 1246 for d in $(SOURCE_DIRS); do \ 1247 $(RM) $(IMAGES_OUTPUTDIR)/tmp/src-files.list; \ 1248 ($(CD) $$d && \ 1249 for sd in $(SOURCES) ; do \ 1250 if [ -d $$sd ] ; then \ 1251 $(FIND) $$sd $(SOURCE_FILES_filter) \ 1252 -name '*.java' -print \ 1253 >> $(IMAGES_OUTPUTDIR)/tmp/src-files.list ; \ 1254 fi; \ 1255 done ; \ 1256 ) ; \ 1257 if [ -f $(IMAGES_OUTPUTDIR)/tmp/src-files.list ] ; then \ 1258 ($(CD) $$d && $(TAR) cf - `$(CAT) $(IMAGES_OUTPUTDIR)/tmp/src-files.list`) \ 1259 | ($(CD) $(JDK_IMAGE_DIR)/src && $(TAR) xf -); \ 1260 fi; \ 1261 done 1262 endif 1263 $(RM) $(IMAGES_OUTPUTDIR)/tmp/src-files.list 1264 $(CHMOD) -R +w $(JDK_IMAGE_DIR)/src 1265 $(MKDIR) -p $(JDK_IMAGE_DIR)/src/launcher 1266 $(CP) $(FILES_launcher) $(JDK_IMAGE_DIR)/src/launcher 1267 $(CD) $(JDK_IMAGE_DIR)/src && $(ZIPEXE) -qr ../src.zip * 1268 $(RM) -r $(JDK_IMAGE_DIR)/src 1269 @# 1270 @# demo, include 1271 @# 1272 ifndef NO_DEMOS 1273 mkdir -p $(JDK_IMAGE_DIR)/demo 1274 $(CP) -r -f $(NEWDEMODIR)/* $(JDK_IMAGE_DIR)/demo 1275 $(FIND) $(JDK_IMAGE_DIR)/demo -name "_the.*" $(FIND_DELETE) 1276 endif 1277 ifndef NO_SAMPLES 1278 $(CP) -r -f $(SAMPLEDIR) $(JDK_IMAGE_DIR) 1279 endif 1280 $(CP) -r $(INCLUDEDIR) $(JDK_IMAGE_DIR) 1281 @# 1282 @# Swing BeanInfo generation 1283 @# 1284 $(CP) $(JDK_OUTPUTDIR)/lib/dt.jar $(JDK_IMAGE_DIR)/lib/dt.jar 1285 ifneq ($(PLATFORM), windows) 1286 $(call copy-man-pages,$(JDK_IMAGE_DIR),$(JDK_MAN_PAGES)) 1287 endif # !windows 1288 1289 # Trim out files we don't want to ship 1290 trim-image-jdk:: 1291 @# Clean out all _the. files. 1292 $(FIND) $(JDK_IMAGE_DIR) -name "_the.*" $(FIND_DELETE) 1293 @# Remove tools that should not be part of SDK. 1294 for t in $(NOTJDKTOOLS); do \ 1295 $(RM) $(JDK_IMAGE_DIR)/bin/$${t}$(EXE_SUFFIX); \ 1296 done 1297 1298 # Get list of binary (COFF or Elf) files in the jdk 1299 JDK_BIN_LIST=$(TEMPDIR)/jdk-bin-files.list 1300 $(JDK_BIN_LIST): 1301 ifeq ($(PLATFORM), windows) 1302 $(FIND) $(JDK_IMAGE_DIR)/jre/bin -type f -name \*.exe \ 1303 -o -name \*.dll | $(EGREP) -v -i "$(MSVCRNN_DLL)" > $@ 1304 $(FIND) $(JDK_IMAGE_DIR)/bin -type f -name \*.exe \ 1305 -o -name \*.dll | $(EGREP) -v -i "$(MSVCRNN_DLL)" >> $@ 1306 else 1307 $(RM) $@ 1308 $(FIND) $(JDK_IMAGE_DIR)/jre/lib -type f -name \*.$(LIB_SUFFIX) >> $@ 1309 $(FILE) `$(FIND) $(JDK_IMAGE_DIR)/jre/bin -type f -name \*$(EXE_SUFFIX)` \ 1310 | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@ 1311 $(FILE) `$(FIND) $(JDK_IMAGE_DIR)/bin -type f -name \*$(EXE_SUFFIX)` \ 1312 | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@ 1313 endif 1314 1315 # Post process the image (strips and mcs on files we are shipping) 1316 process-image-jdk:: $(JDK_BIN_LIST) 1317 ifneq ($(POST_STRIP_PROCESS), ) 1318 @for f in `$(CAT) $(JDK_BIN_LIST)`; do \ 1319 $(CHMOD) u+w $${f}; \ 1320 $(ECHO) $(POST_STRIP_PROCESS) $${f}; \ 1321 $(POST_STRIP_PROCESS) $${f}; \ 1322 $(CHMOD) go-w $${f}; \ 1323 done 1324 endif 1325 ifneq ($(POST_MCS_PROCESS), ) 1326 @for f in `$(CAT) $(JDK_BIN_LIST)`; do \ 1327 $(CHMOD) u+w $${f}; \ 1328 $(ECHO) $(POST_MCS_PROCESS) $${f}; \ 1329 $(POST_MCS_PROCESS) $${f}; \ 1330 $(CHMOD) go-w $${f}; \ 1331 done 1332 endif 1333 @for f in `$(CAT) $(JDK_BIN_LIST)`; do \ 1334 $(call binary_file_verification,$${f}); \ 1335 done 1336 $(RM) $(JDK_BIN_LIST) 1337 1338 ################################################################### 1339 # What did we build 1340 ################################################################### 1341 1342 # The jdk text info file that lives at the root of the install image. 1343 1344 JDK_INFO_FILE = $(JDK_IMAGE_DIR)/release 1345 JRE_INFO_FILE = $(JRE_IMAGE_DIR)/release 1346 1347 # Common way to emit a line into the release or info file 1348 define info-file-item # name value 1349 $(PRINTF) '%s="%s"\n' $1 $2 >> $@ 1350 endef 1351 1352 # Values to emit 1353 MINIMUM_OS_NAME := $(REQUIRED_OS_NAME) 1354 MINIMUM_OS_VERSION := $(REQUIRED_OS_VERSION) 1355 MINIMUM_OS_ARCH := $(ARCH) 1356 ALL_SOURCE_TIPS = $(shell \ 1357 if [ -f $(SOURCE_TIPS) ] ; then \ 1358 $(CAT) $(SOURCE_TIPS) ; \ 1359 fi) 1360 1361 $(JDK_INFO_FILE): FRC 1362 $(prep-target) 1363 $(call info-file-item, "JAVA_VERSION", "$(THIS_JDK_VERSION)") 1364 $(call info-file-item, "OS_NAME", "$(MINIMUM_OS_NAME)") 1365 $(call info-file-item, "OS_VERSION", "$(MINIMUM_OS_VERSION)") 1366 $(call info-file-item, "OS_ARCH", "$(MINIMUM_OS_ARCH)") 1367 $(call info-file-item, "SOURCE", "$(ALL_SOURCE_TIPS)") 1368 1369 # Create release file to identify this image 1370 identify-image-jdk:: $(JDK_INFO_FILE) 1371 1372 $(JRE_INFO_FILE): FRC 1373 $(prep-target) 1374 $(call info-file-item, "JAVA_VERSION", "$(THIS_JDK_VERSION)") 1375 $(call info-file-item, "OS_NAME", "$(MINIMUM_OS_NAME)") 1376 $(call info-file-item, "OS_VERSION", "$(MINIMUM_OS_VERSION)") 1377 $(call info-file-item, "OS_ARCH", "$(MINIMUM_OS_ARCH)") 1378 $(call info-file-item, "SOURCE", "$(ALL_SOURCE_TIPS)") 1379 1380 # Create release file to identify this image 1381 identify-image-jre:: $(JRE_INFO_FILE) 1382 1383 images images-clobber:: 1384 $(ECHO) ">>>Finished making "$@" @ `$(DATE)` ..." 1385 $(java-vm-cleanup) 1386 1387 .PHONY: images image-jre image-jdk \ 1388 initial-image-jre initial-image-jdk \ 1389 initial-image-jre-sol64 initial-image-jdk-sol64 \ 1390 initial-image-jdk-setup \ 1391 initial-image-jdk-db \ 1392 initial-image-jdk64-bindemos \ 1393 initial-image-jre-setup \ 1394 trim-image-jre trim-image-jdk \ 1395 process-image-jre process-image-jdk \ 1396 identify-image-jre identify-image-jdk \ 1397 images-clobber 1398 1399 # Force rule 1400 FRC: 1401