1 # 2 # Copyright (c) 2011, 2013, 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 $(SPEC) 27 include MakeBase.gmk 28 include JavaCompilation.gmk 29 include Setup.gmk 30 31 default: all 32 33 # Prepare the find cache. Only used if running on windows. 34 $(eval $(call FillCacheFind,$(JDK_OUTPUTDIR)/classes)) 35 36 include Tools.gmk 37 38 include Profiles.gmk 39 40 # 41 # This makefile...so that altering will trigger rebuilding include/exclude-lists => jars 42 # 43 MAKEFILE=$(JDK_TOPDIR)/makefiles/CreateJars.gmk 44 # 45 # And similarly for the Profiles 46 PROFILE_MAKEFILES=$(JDK_TOPDIR)/makefiles/Profiles.gmk $(JDK_TOPDIR)/makefiles/profile-rtjar-includes.txt 47 48 MAINMANIFEST := $(JDK_TOPDIR)/make/tools/manifest.mf 49 BEANMANIFEST := $(JDK_TOPDIR)/make/javax/swing/beaninfo/manifest 50 51 $(eval $(call MakeDir,$(IMAGES_OUTPUTDIR)/lib)) 52 53 ########################################################################################## 54 55 $(eval $(call SetupArchive,BUILD_JCONSOLE_JAR,,\ 56 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 57 SUFFIXES:=.class .gif .png .properties,\ 58 INCLUDES:=sun/tools/jconsole com/sun/tools/jconsole,\ 59 JARMAIN:=sun.tools.jconsole.JConsole,\ 60 JAR:=$(IMAGES_OUTPUTDIR)/lib/jconsole.jar,\ 61 SKIP_METAINF:=true)) 62 63 64 ########################################################################################## 65 66 $(eval $(call SetupArchive,BUILD_DNS_JAR,,\ 67 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 68 INCLUDES:=sun/net/spi/nameservice/dns,\ 69 EXTRA_FILES:=META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor,\ 70 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/dnsns.jar,\ 71 SKIP_METAINF:=true)) 72 73 74 ########################################################################################## 75 76 LOCALEDATA_INCLUDE_LOCALES := ar be bg ca cs da de el es et fi fr ga hi hr hu in is it \ 77 iw ja ko lt lv mk ms mt nl no pl pt ro ru sk sl sq sr sv \ 78 th tr uk vi zh 79 80 LOCALEDATA_INCLUDES := $(addprefix sun/text/resources/,$(LOCALEDATA_INCLUDE_LOCALES)) \ 81 $(addprefix sun/util/resources/,$(LOCALEDATA_INCLUDE_LOCALES)) 82 83 # For non-US English locale data 84 85 LOCALEDATA_INCLUDES += \ 86 sun/text/resources/en/FormatData_en_AU.class \ 87 sun/text/resources/en/FormatData_en_CA.class \ 88 sun/text/resources/en/FormatData_en_GB.class \ 89 sun/text/resources/en/FormatData_en_IE.class \ 90 sun/text/resources/en/FormatData_en_IN.class \ 91 sun/text/resources/en/FormatData_en_MT.class \ 92 sun/text/resources/en/FormatData_en_NZ.class \ 93 sun/text/resources/en/FormatData_en_PH.class \ 94 sun/text/resources/en/FormatData_en_SG.class \ 95 sun/text/resources/en/FormatData_en_ZA.class \ 96 sun/util/resources/en/CalendarData_en_GB.class \ 97 sun/util/resources/en/CalendarData_en_IE.class \ 98 sun/util/resources/en/CalendarData_en_MT.class \ 99 sun/util/resources/en/CurrencyNames_en_AU.class \ 100 sun/util/resources/en/CurrencyNames_en_CA.class \ 101 sun/util/resources/en/CurrencyNames_en_GB.class \ 102 sun/util/resources/en/CurrencyNames_en_IE.class \ 103 sun/util/resources/en/CurrencyNames_en_IN.class \ 104 sun/util/resources/en/CurrencyNames_en_MT.class \ 105 sun/util/resources/en/CurrencyNames_en_NZ.class \ 106 sun/util/resources/en/CurrencyNames_en_PH.class \ 107 sun/util/resources/en/CurrencyNames_en_SG.class \ 108 sun/util/resources/en/CurrencyNames_en_ZA.class \ 109 sun/util/resources/en/LocaleNames_en_MT.class \ 110 sun/util/resources/en/LocaleNames_en_PH.class \ 111 sun/util/resources/en/LocaleNames_en_SG.class \ 112 sun/util/resources/en/TimeZoneNames_en_CA.class \ 113 sun/util/resources/en/TimeZoneNames_en_GB.class \ 114 sun/util/resources/en/TimeZoneNames_en_IE.class 115 116 $(eval $(call SetupArchive,BUILD_LOCALEDATA_JAR,,\ 117 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 118 SUFFIXES:=.class _dict _th,\ 119 INCLUDES:=$(LOCALEDATA_INCLUDES),\ 120 EXCLUDES:=sun/text/resources/th/BreakIteratorRules_th.class,\ 121 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/localedata.jar,\ 122 SKIP_METAINF:=true)) 123 124 ########################################################################################## 125 # 126 # Different variants of rt.jar are built based on the current profile. The output 127 # directory is augmented with the profile name so that the final jar file and all the 128 # intermediary list files will be in directory. This has the form lib$PROFILE rather than 129 # lib/$PROFILE so that it won't get copied as part of the image generation process. 130 # Each profile customizes the RT_JAR_EXCLUDES variable. 131 # 132 ########################################################################################## 133 134 # Full JRE exclude list for rt.jar and resources.jar 135 # This value should exclude types destined for jars other than rt.jar and resources.jar. 136 # When building a Profile this value augments the profile specific exclusions 137 RT_JAR_EXCLUDES += \ 138 com/oracle/security \ 139 com/sun/codemodel \ 140 com/sun/crypto/provider \ 141 com/sun/istack/internal/tools \ 142 com/sun/jarsigner \ 143 com/sun/java/accessibility \ 144 com/sun/javadoc \ 145 com/sun/jdi \ 146 com/sun/net/ssl/internal/ssl \ 147 com/sun/source \ 148 com/sun/tools \ 149 com/sun/xml/internal/dtdparser \ 150 com/sun/xml/internal/rngom \ 151 com/sun/xml/internal/xsom \ 152 javax/crypto \ 153 javax/swing/AbstractButtonBeanInfo.class \ 154 javax/swing/beaninfo \ 155 javax/swing/BoxBeanInfo.class \ 156 javax/swing/JAppletBeanInfo.class \ 157 javax/swing/JButtonBeanInfo.class \ 158 javax/swing/JCheckBoxBeanInfo.class \ 159 javax/swing/JCheckBoxMenuItemBeanInfo.class \ 160 javax/swing/JColorChooserBeanInfo.class \ 161 javax/swing/JComboBoxBeanInfo.class \ 162 javax/swing/JComponentBeanInfo.class \ 163 javax/swing/JDesktopPaneBeanInfo.class \ 164 javax/swing/JDialogBeanInfo.class \ 165 javax/swing/JEditorPaneBeanInfo.class \ 166 javax/swing/JFileChooserBeanInfo.class \ 167 javax/swing/JFormattedTextFieldBeanInfo.class \ 168 javax/swing/JFrameBeanInfo.class \ 169 javax/swing/JInternalFrameBeanInfo.class \ 170 javax/swing/JLabelBeanInfo.class \ 171 javax/swing/JLayeredPaneBeanInfo.class \ 172 javax/swing/JListBeanInfo.class \ 173 javax/swing/JMenuBarBeanInfo.class \ 174 javax/swing/JMenuBeanInfo.class \ 175 javax/swing/JMenuItemBeanInfo.class \ 176 javax/swing/JOptionPaneBeanInfo.class \ 177 javax/swing/JPanelBeanInfo.class \ 178 javax/swing/JPasswordFieldBeanInfo.class \ 179 javax/swing/JPopupMenuBeanInfo.class \ 180 javax/swing/JProgressBarBeanInfo.class \ 181 javax/swing/JRadioButtonBeanInfo.class \ 182 javax/swing/JRadioButtonMenuItemBeanInfo.class \ 183 javax/swing/JScrollBarBeanInfo.class \ 184 javax/swing/JScrollPaneBeanInfo.class \ 185 javax/swing/JSeparatorBeanInfo.class \ 186 javax/swing/JSliderBeanInfo.class \ 187 javax/swing/JSpinnerBeanInfo.class \ 188 javax/swing/JSplitPaneBeanInfo.class \ 189 javax/swing/JTabbedPaneBeanInfo.class \ 190 javax/swing/JTableBeanInfo.class \ 191 javax/swing/JTextAreaBeanInfo.class \ 192 javax/swing/JTextFieldBeanInfo.class \ 193 javax/swing/JTextPaneBeanInfo.class \ 194 javax/swing/JToggleButtonBeanInfo.class \ 195 javax/swing/JToolBarBeanInfo.class \ 196 javax/swing/JTreeBeanInfo.class \ 197 javax/swing/JWindowBeanInfo.class \ 198 javax/swing/SwingBeanInfoBase.class \ 199 javax/swing/text/JTextComponentBeanInfo.class \ 200 META-INF/services/com.sun.jdi.connect.Connector \ 201 META-INF/services/com.sun.jdi.connect.spi.TransportService \ 202 META-INF/services/com.sun.tools.attach.spi.AttachProvider \ 203 META-INF/services/com.sun.tools.xjc.Plugin \ 204 META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor \ 205 org/relaxng/datatype \ 206 sun/awt/HKSCS.class \ 207 sun/awt/motif/X11GB2312.class \ 208 sun/awt/motif/X11GB2312\$$$$Decoder.class \ 209 sun/awt/motif/X11GB2312\$$$$Encoder.class \ 210 sun/awt/motif/X11GBK.class \ 211 sun/awt/motif/X11GBK\$$$$Encoder.class \ 212 sun/awt/motif/X11KSC5601.class \ 213 sun/awt/motif/X11KSC5601\$$$$Decoder.class \ 214 sun/awt/motif/X11KSC5601\$$$$Encoder.class \ 215 sun/jvmstat \ 216 sun/net/spi/nameservice/dns \ 217 sun/nio/cs/ext \ 218 sun/rmi/rmic \ 219 sun/security/ec \ 220 sun/security/internal \ 221 sun/security/mscapi \ 222 sun/security/pkcs11 \ 223 sun/security/provider/Sun.class \ 224 sun/security/rsa/SunRsaSign.class \ 225 sun/security/ssl \ 226 sun/security/tools/jarsigner \ 227 sun/swing/BeanInfoUtils.class \ 228 sun/text/resources/cldr \ 229 sun/tools/asm \ 230 sun/tools/attach \ 231 sun/tools/java \ 232 sun/tools/javac \ 233 sun/tools/jcmd \ 234 sun/tools/jconsole \ 235 sun/tools/jinfo \ 236 sun/tools/jmap \ 237 sun/tools/jps \ 238 sun/tools/jstack \ 239 sun/tools/jstat \ 240 sun/tools/jstatd \ 241 sun/tools/native2ascii \ 242 sun/tools/serialver \ 243 sun/tools/tree \ 244 sun/tools/util \ 245 sun/util/cldr/CLDRLocaleDataMetaInfo.class \ 246 sun/util/resources/cldr \ 247 $(LOCALEDATA_INCLUDES) \ 248 com/oracle/jrockit/jfr \ 249 oracle/jrockit/jfr \ 250 jdk/jfr 251 252 ifeq ($(OPENJDK_TARGET_OS), macosx) 253 RT_JAR_EXCLUDES += com/sun/nio/sctp \ 254 sun/nio/ch/sctp 255 endif 256 257 # Find all files in the classes dir to use as dependencies. This could be more fine granular. 258 ALL_FILES_IN_CLASSES := $(call not-containing,_the.,$(filter-out %javac_state,\ 259 $(call CacheFind,$(JDK_OUTPUTDIR)/classes))) 260 261 RT_JAR_MANIFEST_FILE := $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.rt.jar_manifest 262 RESOURCE_JAR_MANIFEST_FILE := $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.resources.jar_manifest 263 264 $(RT_JAR_MANIFEST_FILE): $(MAINMANIFEST) $(BEANMANIFEST) 265 $(MKDIR) -p $(@D) 266 $(RM) $@ $@.tmp 267 $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ 268 -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ 269 $(MAINMANIFEST) >> $@.tmp 270 $(ECHO) >> $@.tmp 271 $(CAT) $(BEANMANIFEST) >> $@.tmp 272 $(MV) $@.tmp $@ 273 274 $(RESOURCE_JAR_MANIFEST_FILE): $(MAINMANIFEST) 275 $(MKDIR) -p $(@D) 276 $(RM) $@ $@.tmp 277 $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ 278 -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ 279 $(MAINMANIFEST) >> $@.tmp 280 $(MV) $@.tmp $@ 281 282 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.exclude: $(MAKEFILE) $(PROFILE_MAKEFILES) 283 $(MKDIR) -p $(@D) 284 $(RM) $@ $@.tmp 285 $(call ListPathsSafely,RT_JAR_EXCLUDES,\n, >> $@.tmp) 286 $(MV) $@.tmp $@ 287 288 $(IMAGES_OUTPUTDIR)/lib/classlist : $(JDK_TOPDIR)/make/tools/sharing/classlist.$(OPENJDK_TARGET_OS) \ 289 $(MAKEFILE) 290 $(MKDIR) -p $(@D) 291 $(RM) $@ $@.tmp 292 $(TOOL_ADDJSUM) $< $@.tmp 293 $(MV) $@.tmp $@ 294 295 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents: $(BUILD_TOOLS) $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.exclude \ 296 $(ALL_FILES_IN_CLASSES) $(IMAGES_OUTPUTDIR)/lib/classlist 297 $(MKDIR) -p $(@D) 298 $(RM) $@ $@.tmp 299 ($(CD) $(JDK_OUTPUTDIR)/classes && \ 300 $(TOOL_JARREORDER) \ 301 -o $@.tmp $(IMAGES_OUTPUTDIR)/lib/classlist $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.exclude . ) 302 $(MV) $@.tmp $@ 303 304 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.rt.jar.contents: $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents 305 $(MKDIR) -p $(@D) 306 $(RM) $@ $@.tmp 307 $(GREP) -e '\.class$$' $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents > $@.tmp 308 ifneq ($(PROFILE),) 309 # # Add back classes from excluded packages (fixing the $ substitution in the process) 310 for type in $(subst \$$,\, $(RT_JAR_INCLUDE_TYPES)) ; do \ 311 $(ECHO) $$type >> $@.tmp ; \ 312 done 313 endif 314 $(MV) $@.tmp $@ 315 316 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.resources.jar.contents: $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents 317 $(MKDIR) -p $(@D) 318 $(RM) $@ $@.tmp 319 $(GREP) -v -e '\.class$$' \ 320 -e '/_the\.*' -e '^_the\.*' -e '\\_the\.*' -e 'javac_state' \ 321 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents > $@.tmp 322 ifneq ($(PROFILE),) 323 # # Strip out all META-INF/services/ entries 324 $(GREP) -v -e 'META-INF/services/' $@.tmp > $@.tmp2 325 # # Add back the required services 326 # # FIXME: On Solaris if PROFILE_INCLUDE_METAINF_SERVICES is not defined 327 # # we get a syntax error from sh. That doesn't happen on linux 328 for service in $(PROFILE_INCLUDE_METAINF_SERVICES) ; do \ 329 $(ECHO) $$service >> $@.tmp2; \ 330 done 331 $(MV) $@.tmp2 $@.tmp 332 endif 333 $(MV) $@.tmp $@ 334 335 # This is a hack but I don't know how to make this fit into the existing scheme 336 $(PROFILE_VERSION_CLASS_TARGETS) : $(PROFILE_VERSION_JAVA_TARGETS) 337 @$(JAVAC) -d $(@D)/../../ $(@D)/$(VERSION_JAVA_FILE) 338 339 340 # Support for removing the addPropertyChangeListener and removePropertyChangeListener 341 # methods from classes that only go into the profile builds. 342 BEANLESS_CLASSES = $(IMAGES_OUTPUTDIR)/beanless 343 344 # When there are $ characters in filenames we have some very subtle interactions between 345 # make expansion and shell expansion. In this particular case $< will contain a single $ while 346 # $@ will contain \$. So we have to pass $< in single-quotes to avoid shell expansion 347 $(BEANLESS_CLASSES)/%: $(JDK_OUTPUTDIR)/classes/% 348 $(MKDIR) -p $(@D) 349 $(TOOL_REMOVEMETHODS) '$<' $@ addPropertyChangeListener removePropertyChangeListener 350 351 CLASSES_TO_DEBEAN = \ 352 java/util/logging/LogManager.class \ 353 java/util/jar/Pack200\$$Packer.class \ 354 java/util/jar/Pack200\$$Unpacker.class \ 355 com/sun/java/util/jar/pack/PackerImpl.class \ 356 com/sun/java/util/jar/pack/UnpackerImpl.class 357 358 ifneq ($(PROFILE),) 359 BEANLESS_CLASSES_TARGETS := $(addprefix $(BEANLESS_CLASSES)/, $(CLASSES_TO_DEBEAN)) 360 endif 361 362 363 RT_JAR_CREATE_OPTIONS := c0fm 364 RT_JAR_UPDATE_OPTIONS := u0f 365 ifeq ($(COMPRESS_JARS), true) 366 RT_JAR_CREATE_OPTIONS := cfm 367 RT_JAR_UPDATE_OPTIONS := uf 368 endif 369 370 # This defines a target-specific variables to make the shell logic easier to see. 371 # We need to find the Version.class file for the profile currently being built 372 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/rt.jar: \ 373 CLASS_FILE = $(if $(PROFILE),$(strip $(foreach class,$(PROFILE_VERSION_CLASS_TARGETS),$(if $(findstring $(PROFILE),$(class)),$(class)))), NO_SUCH_FILE) 374 # This is the real target 375 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/rt.jar: $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.rt.jar.contents $(RT_JAR_MANIFEST_FILE) $(PROFILE_VERSION_CLASS_TARGETS) $(BEANLESS_CLASSES_TARGETS) 376 $(ECHO) Creating rt.jar $(PROFILE) Compressed=$(COMPRESS_JARS) 377 $(MKDIR) -p $(@D) 378 $(RM) $@ $@.tmp 379 $(CD) $(JDK_OUTPUTDIR)/classes && \ 380 $(JAR) $(RT_JAR_CREATE_OPTIONS) $@.tmp $(RT_JAR_MANIFEST_FILE) \ 381 @$(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.rt.jar.contents && \ 382 if [ -f $(CLASS_FILE) ]; then \ 383 $(ECHO) Updating rt.jar $(PROFILE) && \ 384 $(CD) $(patsubst %$(VERSION_CLASS_PATH),%,$(CLASS_FILE)) && \ 385 $(JAR) $(RT_JAR_UPDATE_OPTIONS) $@.tmp $(VERSION_CLASS_PATH); \ 386 $(CD) $(BEANLESS_CLASSES) && \ 387 $(JAR) $(RT_JAR_UPDATE_OPTIONS) $@.tmp $(CLASSES_TO_DEBEAN); \ 388 fi 389 $(MV) $@.tmp $@ 390 391 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/resources.jar: $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.resources.jar.contents \ 392 $(RESOURCE_JAR_MANIFEST_FILE) 393 $(ECHO) Creating resources.jar 394 $(MKDIR) -p $(@D) 395 $(RM) $@ $@.tmp 396 $(CD) $(JDK_OUTPUTDIR)/classes && \ 397 $(JAR) $(RT_JAR_CREATE_OPTIONS) $@.tmp $(RESOURCE_JAR_MANIFEST_FILE) \ 398 @$(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.resources.jar.contents 399 $(MV) $@.tmp $@ 400 401 ########################################################################################## 402 403 ifneq ($(OPENJDK_TARGET_OS), windows) 404 CHARSETS_EXTRA_FILES:=sun/awt/motif/X11GBK.class \ 405 sun/awt/motif/X11GB2312\$$$$Decoder.class \ 406 sun/awt/motif/X11GB2312.class \ 407 sun/awt/motif/X11KSC5601\$$$$Decoder.class \ 408 sun/awt/motif/X11KSC5601\$$$$Encoder.class \ 409 sun/awt/motif/X11GB2312\$$$$Encoder.class \ 410 sun/awt/motif/X11GBK\$$$$Encoder.class \ 411 sun/awt/motif/X11KSC5601.class 412 endif 413 414 $(eval $(call SetupArchive,BUILD_CHARSETS_JAR,,\ 415 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 416 SUFFIXES:=.class .dat,\ 417 INCLUDES:=sun/nio/cs/ext,\ 418 EXTRA_FILES := sun/awt/HKSCS.class \ 419 $(CHARSETS_EXTRA_FILES), \ 420 JAR:=$(IMAGES_OUTPUTDIR)/lib/charsets.jar, \ 421 SKIP_METAINF := true, \ 422 CHECK_COMPRESS_JAR:=true)) 423 424 ########################################################################################## 425 426 ifndef OPENJDK 427 ifeq ($(ENABLE_JFR), true) 428 $(eval $(call SetupArchive,BUILD_JFR_JAR,,\ 429 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 430 SUFFIXES:=.class .jfc .xsd,\ 431 INCLUDES:=com/oracle/jrockit/jfr \ 432 oracle/jrockit/jfr \ 433 jdk/jfr,\ 434 JAR:=$(IMAGES_OUTPUTDIR)/lib/jfr.jar,\ 435 SKIP_METAINF:=true,\ 436 MANIFEST:=$(MAINMANIFEST), \ 437 CHECK_COMPRESS_JAR:=true)) 438 439 endif 440 endif 441 442 ########################################################################################## 443 444 $(eval $(call SetupArchive,BUILD_JSSE_JAR,,\ 445 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 446 INCLUDES:=sun/security/provider/Sun.class \ 447 sun/security/rsa/SunRsaSign.class \ 448 sun/security/ssl \ 449 com/sun/net/ssl/internal/ssl,\ 450 JAR:=$(IMAGES_OUTPUTDIR)/lib/jsse.jar,\ 451 SKIP_METAINF:=true,\ 452 MANIFEST:=$(MAINMANIFEST), \ 453 CHECK_COMPRESS_JAR:=true)) 454 455 ########################################################################################## 456 # Create manifest for security jars 457 458 # 459 # Include these extra attributes for now, should probably take out. 460 # 461 JCE_MANIFEST := $(IMAGES_OUTPUTDIR)/lib/_the.security.manifest.mf 462 $(JCE_MANIFEST): $(MAINMANIFEST) 463 $(MKDIR) -p $(@D) 464 $(RM) $@ $@.tmp 465 $(SED) -e "s#@@RELEASE@@#$(JDK_VERSION)#" \ 466 -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ 467 $(MAINMANIFEST) >> $@.tmp 468 $(ECHO) "Extension-Name: javax.crypto" >> $@.tmp 469 $(ECHO) "Implementation-Vendor-Id: com.sun" >> $@.tmp 470 $(MV) $@.tmp $@ 471 472 ########################################################################################## 473 # For security and crypto jars, always build the jar, but for closed, install the prebuilt 474 # signed version instead of the newly built jar. Unsigned jars are treated as intermediate 475 # targets and explicitly added to the JARS list. For open, signing is not needed. See 476 # SignJars.gmk for more information. 477 # 478 # The source for the crypto jars is not available for all licensees. The BUILD_CRYPTO 479 # variable is set to no if these jars can't be built to skip that step of the build. 480 # Note that for OPENJDK, the build will fail if BUILD_CRYPTO=no since then there is no 481 # other way to get the jars than to build them. 482 483 SUNPKCS11_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunpkcs11.jar 484 SUNPKCS11_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/sunpkcs11.jar 485 486 $(eval $(call SetupArchive,BUILD_SUNPKCS11_JAR,,\ 487 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 488 SUFFIXES:=.class,\ 489 INCLUDES:=sun/security/pkcs11,\ 490 JAR:=$(SUNPKCS11_JAR_UNSIGNED), \ 491 MANIFEST:=$(JCE_MANIFEST), \ 492 SKIP_METAINF := true)) 493 494 $(SUNPKCS11_JAR_UNSIGNED): $(JCE_MANIFEST) 495 496 ifndef OPENJDK 497 SUNPKCS11_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/pkcs11/sunpkcs11.jar 498 $(SUNPKCS11_JAR_DST) : $(SUNPKCS11_JAR_SRC) 499 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunPKCS11 provider..." 500 $(install-file) 501 else 502 $(SUNPKCS11_JAR_DST) : $(SUNPKCS11_JAR_UNSIGNED) 503 $(install-file) 504 endif 505 506 JARS += $(SUNPKCS11_JAR_UNSIGNED) 507 508 ########################################################################################## 509 510 SUNEC_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunec.jar 511 SUNEC_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/sunec.jar 512 513 $(eval $(call SetupArchive,BUILD_SUNEC_JAR,,\ 514 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 515 SUFFIXES:=.class,\ 516 INCLUDES:=sun/security/ec,\ 517 JAR:=$(SUNEC_JAR_UNSIGNED), \ 518 MANIFEST:=$(JCE_MANIFEST), \ 519 SKIP_METAINF := true)) 520 521 $(SUNEC_JAR_UNSIGNED): $(JCE_MANIFEST) 522 523 ifndef OPENJDK 524 SUNEC_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/ec/sunec.jar 525 $(SUNEC_JAR_DST) : $(SUNEC_JAR_SRC) 526 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunEC provider..." 527 $(install-file) 528 else 529 $(SUNEC_JAR_DST) : $(SUNEC_JAR_UNSIGNED) 530 $(install-file) 531 endif 532 533 JARS += $(SUNEC_JAR_UNSIGNED) 534 535 ########################################################################################## 536 537 $(eval $(call SetupArchive,BUILD_SWINGBEANS_JAR,,\ 538 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 539 SUFFIXES:=BeanInfo.class .gif,\ 540 INCLUDES:=javax/swing sun/swing,\ 541 EXCLUDES:=javax/swing/plaf,\ 542 EXTRA_FILES:=javax/swing/SwingBeanInfoBase.class sun/swing/BeanInfoUtils.class,\ 543 JAR:=$(IMAGES_OUTPUTDIR)/lib/dt.jar,\ 544 SKIP_METAINF:=true)) 545 546 ########################################################################################## 547 548 SUNJCE_PROVIDER_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunjce_provider.jar 549 SUNJCE_PROVIDER_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/sunjce_provider.jar 550 551 ifneq ($(BUILD_CRYPTO),no) 552 $(eval $(call SetupArchive,BUILD_SUNJCE_PROVIDER_JAR,,\ 553 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 554 SUFFIXES:=.class,\ 555 INCLUDES:= com/sun/crypto/provider,\ 556 JAR:=$(SUNJCE_PROVIDER_JAR_UNSIGNED), \ 557 MANIFEST:=$(JCE_MANIFEST), \ 558 SKIP_METAINF := true)) 559 560 $(SUNJCE_PROVIDER_JAR_UNSIGNED): $(JCE_MANIFEST) 561 562 JARS += $(SUNJCE_PROVIDER_JAR_UNSIGNED) 563 endif 564 565 ifndef OPENJDK 566 SUNJCE_PROVIDER_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/jce/sunjce_provider.jar 567 $(SUNJCE_PROVIDER_JAR_DST) : $(SUNJCE_PROVIDER_JAR_SRC) 568 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunJCE provider..." 569 $(install-file) 570 else 571 $(SUNJCE_PROVIDER_JAR_DST) : $(SUNJCE_PROVIDER_JAR_UNSIGNED) 572 $(install-file) 573 endif 574 575 ########################################################################################## 576 577 JCE_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/jce.jar 578 JCE_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/jce.jar 579 580 ifneq ($(BUILD_CRYPTO),no) 581 $(eval $(call SetupArchive,BUILD_JCE_JAR,,\ 582 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 583 SUFFIXES:=.class,\ 584 INCLUDES:= javax/crypto sun/security/internal,\ 585 JAR:=$(JCE_JAR_UNSIGNED), \ 586 MANIFEST:=$(JCE_MANIFEST), \ 587 SKIP_METAINF := true)) 588 589 $(JCE_JAR_UNSIGNED): $(JCE_MANIFEST) 590 591 JARS += $(JCE_JAR_UNSIGNED) 592 endif 593 594 ifndef OPENJDK 595 JCE_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/jce/jce.jar 596 $(JCE_JAR_DST) : $(JCE_JAR_SRC) 597 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt jce.jar..." 598 $(install-file) 599 else 600 $(JCE_JAR_DST) : $(JCE_JAR_UNSIGNED) 601 $(install-file) 602 endif 603 604 ########################################################################################## 605 606 US_EXPORT_POLICY_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/security/US_export_policy.jar 607 US_EXPORT_POLICY_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/US_export_policy.jar 608 609 ifneq ($(BUILD_CRYPTO),no) 610 # 611 # TODO fix so that SetupArchive does not write files into SRCS 612 # then we don't need this extra copying 613 614 # NOTE: We currently do not place restrictions on our limited export 615 # policy. This was not a typo. 616 # 617 US_EXPORT_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/unlimited 618 US_EXPORT_POLICY_JAR_TMP := $(IMAGES_OUTPUTDIR)/US_export_policy_jar.tmp 619 620 $(US_EXPORT_POLICY_JAR_TMP)/% : $(US_EXPORT_POLICY_JAR_SRC_DIR)/% 621 $(install-file) 622 623 US_EXPORT_POLICY_JAR_DEPS := $(US_EXPORT_POLICY_JAR_TMP)/default_US_export.policy 624 625 $(eval $(call SetupArchive,BUILD_US_EXPORT_POLICY_JAR,$(US_EXPORT_POLICY_JAR_DEPS),\ 626 SRCS:=$(US_EXPORT_POLICY_JAR_TMP), \ 627 SUFFIXES:= .policy,\ 628 JAR:=$(US_EXPORT_POLICY_JAR_UNSIGNED), \ 629 EXTRA_MANIFEST_ATTR := Crypto-Strength: unlimited, \ 630 SKIP_METAINF := true)) 631 632 JARS += $(US_EXPORT_POLICY_JAR_UNSIGNED) 633 endif 634 635 ifndef OPENJDK 636 $(US_EXPORT_POLICY_JAR_DST): $(JDK_TOPDIR)/make/closed/tools/crypto/jce/US_export_policy.jar 637 $(ECHO) $(LOG_INFO) Copying $(@F) 638 $(install-file) 639 else 640 $(US_EXPORT_POLICY_JAR_DST): $(US_EXPORT_POLICY_JAR_UNSIGNED) 641 $(install-file) 642 endif 643 644 ########################################################################################## 645 646 LOCAL_POLICY_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/security/local_policy.jar 647 LOCAL_POLICY_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/local_policy.jar 648 649 ifneq ($(BUILD_CRYPTO),no) 650 # 651 # TODO fix so that SetupArchive does not write files into SRCS 652 # then we don't need this extra copying 653 # 654 LOCAL_POLICY_JAR_TMP := $(IMAGES_OUTPUTDIR)/local_policy_jar.tmp 655 656 ifeq ($(UNLIMITED_CRYPTO), true) 657 LOCAL_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/unlimited 658 LOCAL_POLICY_JAR_DEPS := $(LOCAL_POLICY_JAR_TMP)/default_local.policy 659 LOCAL_POLICY_JAR_ATTR := Crypto-Strength: unlimited 660 else 661 LOCAL_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/limited 662 LOCAL_POLICY_JAR_DEPS := $(LOCAL_POLICY_JAR_TMP)/exempt_local.policy \ 663 $(LOCAL_POLICY_JAR_TMP)/default_local.policy 664 LOCAL_POLICY_JAR_ATTR := Crypto-Strength: limited 665 endif 666 667 $(LOCAL_POLICY_JAR_TMP)/% : $(LOCAL_POLICY_JAR_SRC_DIR)/% 668 $(install-file) 669 670 $(eval $(call SetupArchive,BUILD_LOCAL_POLICY_JAR,$(LOCAL_POLICY_JAR_DEPS),\ 671 SRCS:=$(LOCAL_POLICY_JAR_TMP),\ 672 SUFFIXES:= .policy,\ 673 JAR:=$(LOCAL_POLICY_JAR_UNSIGNED), \ 674 EXTRA_MANIFEST_ATTR := $(LOCAL_POLICY_JAR_ATTR), \ 675 SKIP_METAINF := true)) 676 677 JARS += $(LOCAL_POLICY_JAR_UNSIGNED) 678 endif 679 680 ifndef OPENJDK 681 $(LOCAL_POLICY_JAR_DST): $(JDK_TOPDIR)/make/closed/tools/crypto/jce/local_policy.jar 682 $(ECHO) $(LOG_INFO) Copying $(@F) 683 $(install-file) 684 else 685 $(LOCAL_POLICY_JAR_DST): $(LOCAL_POLICY_JAR_UNSIGNED) 686 $(install-file) 687 endif 688 689 ########################################################################################## 690 691 ifeq ($(OPENJDK_TARGET_OS),windows) 692 693 SUNMSCAPI_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunmscapi.jar 694 SUNMSCAPI_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/sunmscapi.jar 695 696 $(eval $(call SetupArchive,BUILD_SUNMSCAPI_JAR,,\ 697 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 698 SUFFIXES:=.class,\ 699 INCLUDES:= sun/security/mscapi,\ 700 JAR:=$(SUNMSCAPI_JAR_UNSIGNED), \ 701 MANIFEST:=$(JCE_MANIFEST), \ 702 SKIP_METAINF:=true)) 703 704 $(SUNMSCAPI_JAR_UNSIGNED): $(JCE_MANIFEST) 705 706 ifndef OPENJDK 707 SUNMSCAPI_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/mscapi/sunmscapi.jar 708 $(SUNMSCAPI_JAR_DST) : $(SUNMSCAPI_JAR_SRC) 709 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunMSCAPI provider..." 710 $(install-file) 711 else 712 $(SUNMSCAPI_JAR_DST) : $(SUNMSCAPI_JAR_UNSIGNED) 713 $(install-file) 714 endif 715 716 JARS += $(SUNMSCAPI_JAR_UNSIGNED) 717 718 endif 719 720 ########################################################################################## 721 722 ifeq ($(OPENJDK_TARGET_OS),solaris) 723 ifndef OPENJDK 724 725 UCRYPTO_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/ucrypto.jar 726 UCRYPTO_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/ucrypto.jar 727 UCRYPTO_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/ucrypto/ucrypto.jar 728 729 $(eval $(call SetupArchive,BUILD_UCRYPTO_JAR,,\ 730 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 731 SUFFIXES:=.class,\ 732 INCLUDES:=com/oracle/security/ucrypto,\ 733 JAR:=$(UCRYPTO_JAR_UNSIGNED), \ 734 MANIFEST:=$(JCE_MANIFEST), \ 735 SKIP_METAINF:=true)) 736 737 $(UCRYPTO_JAR_UNSIGNED): $(JCE_MANIFEST) 738 739 $(UCRYPTO_JAR_DST) : $(UCRYPTO_JAR_SRC) 740 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt OracleUcrypto provider..." 741 $(install-file) 742 743 JARS += $(UCRYPTO_JAR_UNSIGNED) 744 745 endif 746 endif 747 748 ########################################################################################## 749 750 # Get the CLDRVERSION 751 include GensrcCLDR.gmk 752 753 CLDRDATA_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/cldrdata.jar 754 755 $(eval $(call SetupArchive,BUILD_CLDRDATA_JAR,,\ 756 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 757 SUFFIXES:=.class,\ 758 INCLUDES:=sun/text/resources/cldr \ 759 sun/util/cldr \ 760 sun/util/resources/cldr,\ 761 EXCLUDES:=sun/util/cldr/CLDRLocaleProviderAdapter,\ 762 JAR:=$(CLDRDATA_JAR_DST),\ 763 EXTRA_MANIFEST_ATTR:=CLDR-Version: $(CLDRVERSION),\ 764 SKIP_METAINF:=true)) 765 766 ########################################################################################## 767 768 TOOLS_JAR_INCLUDES := \ 769 com/sun/codemodel \ 770 com/sun/istack/internal/tools \ 771 com/sun/jarsigner \ 772 com/sun/javadoc \ 773 com/sun/jdi \ 774 com/sun/source \ 775 com/sun/tools/attach \ 776 com/sun/tools/classfile \ 777 com/sun/tools/corba \ 778 com/sun/tools/doclets \ 779 com/sun/tools/doclint \ 780 com/sun/tools/example/debug/expr \ 781 com/sun/tools/example/debug/tty \ 782 com/sun/tools/extcheck \ 783 com/sun/tools/hat \ 784 com/sun/tools/internal/jxc \ 785 com/sun/tools/internal/jxc/ap \ 786 com/sun/tools/internal/ws \ 787 com/sun/tools/internal/ws/wscompile/plugin/at_generated \ 788 com/sun/tools/internal/xjc \ 789 com/sun/tools/javac \ 790 com/sun/tools/javadoc \ 791 com/sun/tools/javah \ 792 com/sun/tools/javap \ 793 com/sun/tools/jdeps \ 794 com/sun/tools/jdi \ 795 com/sun/tools/script/shell \ 796 com/sun/xml/internal/dtdparser \ 797 com/sun/xml/internal/rngom \ 798 com/sun/xml/internal/xsom \ 799 org/relaxng/datatype \ 800 sun/applet \ 801 sun/jvmstat \ 802 sun/rmi/rmic \ 803 sun/security/tools/jarsigner \ 804 sun/tools/asm \ 805 sun/tools/attach \ 806 sun/tools/jar \ 807 sun/tools/java \ 808 sun/tools/javac \ 809 sun/tools/jcmd \ 810 sun/tools/jinfo \ 811 sun/tools/jmap \ 812 sun/tools/jps \ 813 sun/tools/jstack \ 814 sun/tools/jstat \ 815 sun/tools/jstatd \ 816 sun/tools/native2ascii \ 817 sun/tools/serialver \ 818 sun/tools/tree \ 819 sun/tools/util 820 821 # The sjavac tools is not ready for public consumption. 822 TOOLS_JAR_EXCLUDES=com/sun/tools/sjavac 823 824 $(eval $(call SetupArchive,BUILD_TOOLS_JAR,,\ 825 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 826 SUFFIXES:=.class .prp .gif .properties .xml .css .xsd .js .html .txt .java \ 827 Tool aliasmap options,\ 828 INCLUDES:=$(TOOLS_JAR_INCLUDES),\ 829 EXCLUDES:=$(TOOLS_JAR_EXCLUDES),\ 830 EXTRA_FILES:=META-INF/services/com.sun.jdi.connect.Connector \ 831 META-INF/services/com.sun.jdi.connect.spi.TransportService \ 832 META-INF/services/com.sun.tools.attach.spi.AttachProvider \ 833 META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \ 834 META-INF/services/com.sun.tools.internal.xjc.Plugin,\ 835 JAR:=$(IMAGES_OUTPUTDIR)/lib/tools.jar,\ 836 SKIP_METAINF:=true, \ 837 CHECK_COMPRESS_JAR:=true)) 838 839 840 ########################################################################################## 841 842 include javadoc/CORE_PKGS.gmk 843 include javadoc/NON_CORE_PKGS.gmk 844 845 # The compiler should not issue a "Proprietary" warning when compiling 846 # classes in the com.sun.java.swing.plaf packages, since we've always 847 # allowed, and even advocated, extending them (see bug 6476749). 848 # 849 # This approach is NOT to be used as a general purpose way to avoid such 850 # compiler warnings for non-core packages. The correct way is to document 851 # the packages in NON_CORE_PKGS.gmk, and include them in the NON_CORE_PKGS 852 # definition. 853 # 854 # Swing has taken this approach only as a temporary measure to avoid 855 # the compiler warnings until we can properly document these packages. 856 # This is covered under 6491853. 857 EXCLUDE_PROPWARN_PKGS = com.sun.java.swing.plaf.windows \ 858 com.sun.java.swing.plaf.motif \ 859 com.sun.java.swing.plaf.gtk 860 861 # 862 # Include the exported private packages in ct.sym. 863 # This is an interim solution until the ct.sym is replaced 864 # with a new module system (being discussed for JDK 8). 865 # 866 EXPORTED_PRIVATE_PKGS = com.oracle.net \ 867 com.oracle.nio 868 869 $(IMAGES_OUTPUTDIR)/symbols/_the.symbols: $(IMAGES_OUTPUTDIR)/lib/rt.jar 870 $(RM) -r $(IMAGES_OUTPUTDIR)/symbols/META-INF/sym 871 $(MKDIR) -p $(IMAGES_OUTPUTDIR)/symbols/META-INF/sym 872 $(JAVA) $(NEW_JAVAC) \ 873 -bootclasspath $(JDK_OUTPUTDIR)/classes \ 874 -XDprocess.packages -proc:only \ 875 -processor com.sun.tools.javac.sym.CreateSymbols \ 876 -Acom.sun.tools.javac.sym.Jar=$(IMAGES_OUTPUTDIR)/lib/rt.jar \ 877 -Acom.sun.tools.javac.sym.Dest=$(IMAGES_OUTPUTDIR)/symbols/META-INF/sym/rt.jar \ 878 -Acom.sun.tools.javac.sym.Profiles=profile-rtjar-includes.txt \ 879 $(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS) $(EXPORTED_PRIVATE_PKGS) 880 $(TOUCH) $@ 881 882 $(eval $(call MakeDir,$(IMAGES_OUTPUTDIR)/symbols)) 883 $(eval $(call SetupArchive,BUILD_CT_SYM,$(IMAGES_OUTPUTDIR)/symbols/_the.symbols,\ 884 SRCS:=$(IMAGES_OUTPUTDIR)/symbols,\ 885 INCLUDES:=META-INF/sym,\ 886 JAR:=$(IMAGES_OUTPUTDIR)/lib/ct.sym, \ 887 CHECK_COMPRESS_JAR:=true)) 888 889 890 ########################################################################################## 891 892 SRC_ZIP_INCLUDES = \ 893 com/sun/corba \ 894 com/sun/image/codec/jpeg \ 895 com/sun/imageio \ 896 com/sun/java_cup \ 897 com/sun/javadoc \ 898 com/sun/java/swing \ 899 com/sun/jlex \ 900 com/sun/jmx \ 901 com/sun/naming \ 902 com/sun/org/apache \ 903 com/sun/security/auth \ 904 com/sun/security/jgss \ 905 com/sun/source \ 906 java/applet \ 907 java/awt \ 908 java/beans \ 909 java/io \ 910 java/lang \ 911 java/math \ 912 java/net \ 913 java/nio \ 914 java/rmi \ 915 java/security \ 916 java/sql \ 917 java/text \ 918 java/util \ 919 javax/accessibility \ 920 javax/annotation \ 921 javax/imageio \ 922 javax/lang \ 923 javax/management \ 924 javax/naming \ 925 javax/print \ 926 javax/rmi \ 927 javax/script \ 928 javax/security \ 929 javax/sound \ 930 javax/sql \ 931 javax/swing \ 932 javax/tools \ 933 javax/xml \ 934 org/ietf \ 935 org/omg \ 936 org/w3c/dom \ 937 org/xml/sax \ 938 sunw 939 940 SRC_ZIP_SRCS = $(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes 941 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/gensrc 942 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/impsrc 943 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/gendocsrc_rmic 944 ifndef OPENJDK 945 SRC_ZIP_SRCS += $(JDK_TOPDIR)/src/closed/share/classes 946 endif 947 948 # Need to copy launcher src files into desired directory structure 949 # before zipping the sources. 950 LAUNCHER_SRC_FILES := $(wildcard $(JDK_TOPDIR)/src/share/bin/*) \ 951 $(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/java_md*) 952 LAUNCHER_ZIP_SRC := $(patsubst $(JDK_TOPDIR)/src/share/bin/%,$(IMAGES_OUTPUTDIR)/src/launcher/%,\ 953 $(patsubst $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/%,$(IMAGES_OUTPUTDIR)/src/launcher/%,\ 954 $(LAUNCHER_SRC_FILES))) 955 956 $(IMAGES_OUTPUTDIR)/src/launcher/%: $(JDK_TOPDIR)/src/share/bin/% 957 $(install-file) 958 959 $(IMAGES_OUTPUTDIR)/src/launcher/%: $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/% 960 $(install-file) 961 962 $(IMAGES_OUTPUTDIR)/src.zip: $(LAUNCHER_ZIP_SRC) 963 964 # This dir needs to exist before macro is evaluated to avoid warning from find. 965 $(eval $(call MakeDir,$(IMAGES_OUTPUTDIR)/src)) 966 $(eval $(call SetupZipArchive,BUILD_SRC_ZIP,\ 967 SRC:=$(SRC_ZIP_SRCS) $(IMAGES_OUTPUTDIR)/src,\ 968 INCLUDES:=$(SRC_ZIP_INCLUDES) launcher,\ 969 EXCLUDES:=javax/swing/beaninfo,\ 970 SUFFIXES:=.java .c .h,\ 971 ZIP:=$(IMAGES_OUTPUTDIR)/src.zip,\ 972 EXTRA_DEPS:=$(LAUNCHER_ZIP_SRC))) 973 974 ########################################################################################## 975 976 ifndef OPENJDK 977 ifeq ($(OPENJDK_TARGET_OS), windows) 978 979 $(eval $(call SetupArchive,BUILD_JACCESS_JAR,,\ 980 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 981 INCLUDES:=com/sun/java/accessibility/util,\ 982 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/jaccess.jar,\ 983 SKIP_METAINF:=true)) 984 985 JARS += $(IMAGES_OUTPUTDIR)/lib/ext/jaccess.jar 986 987 ifeq ($(OPENJDK_TARGET_CPU_BITS), 32) 988 $(eval $(call SetupArchive,BUILD_ACCESSBRIDGE_32_JAR,,\ 989 SRCS:=$(JDK_OUTPUTDIR)/classes_ab/32bit $(JDK_OUTPUTDIR)/classes,\ 990 INCLUDES:=com/sun/java/accessibility,\ 991 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-32.jar,\ 992 SKIP_METAINF:=true)) 993 994 $(eval $(call SetupArchive,BUILD_ACCESSBRIDGE_LEGACY_JAR,,\ 995 SRCS:=$(JDK_OUTPUTDIR)/classes_ab/legacy $(JDK_OUTPUTDIR)/classes,\ 996 INCLUDES:=com/sun/java/accessibility,\ 997 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/access-bridge.jar,\ 998 SKIP_METAINF:=true)) 999 1000 JARS += $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-32.jar \ 1001 $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge.jar 1002 else 1003 $(eval $(call SetupArchive,BUILD_ACCESSBRIDGE_64_JAR,,\ 1004 SRCS:=$(JDK_OUTPUTDIR)/classes_ab/64bit $(JDK_OUTPUTDIR)/classes,\ 1005 INCLUDES:=com/sun/java/accessibility,\ 1006 EXCLUDES:=com/sun/java/accessibility/util/java,\ 1007 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-64.jar,\ 1008 SKIP_METAINF:=true)) 1009 1010 JARS += $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-64.jar 1011 endif 1012 endif 1013 endif 1014 1015 ########################################################################################## 1016 1017 # 1018 # This is an empty jar (only contains manifest) and fits poorly into framework... 1019 # create simple rule instead 1020 # 1021 $(IMAGES_OUTPUTDIR)/lib/management-agent.jar : $(JDK_TOPDIR)/src/share/classes/sun/management/manifest 1022 $(JAR) cfm $@ $< 1023 1024 ########################################################################################## 1025 1026 $(IMAGES_OUTPUTDIR)/lib/ext/zipfs.jar : $(JDK_OUTPUTDIR)/demo/nio/zipfs/zipfs.jar 1027 $(install-file) 1028 1029 ########################################################################################## 1030 1031 ifeq ($(OPENJDK_TARGET_OS),macosx) 1032 $(eval $(call SetupArchive,BUILD_JOBJC_JAR,,\ 1033 SRCS:=$(JDK_OUTPUTDIR)/jobjc_classes,\ 1034 JAR:=$(IMAGES_OUTPUTDIR)/lib/JObjC.jar, \ 1035 JARINDEX:=true)) 1036 endif 1037 1038 ########################################################################################## 1039 1040 ifndef OPENJDK 1041 $(eval $(call SetupArchive,BUILD_ALT_RT_JAR,,\ 1042 SRCS:=$(JDK_OUTPUTDIR)/altclasses_classes,\ 1043 JAR:=$(IMAGES_OUTPUTDIR)/lib/alt-rt.jar)) 1044 1045 endif 1046 1047 ########################################################################################## 1048 1049 # This file is imported from hotspot in Import.gmk. Copying it into images/lib so that 1050 # all jars can be found in one place when creating images in Images.gmk. It needs to be 1051 # done here so that clean targets can be simple and accurate. 1052 $(IMAGES_OUTPUTDIR)/lib/sa-jdi.jar: $(JDK_OUTPUTDIR)/lib/sa-jdi.jar 1053 $(install-file) 1054 1055 ########################################################################################## 1056 # 1057 # sec-bin.zip is used by builds where the corresponding sources are not available 1058 # 1059 $(eval $(call SetupZipArchive,BUILD_SEC_BIN_ZIP,\ 1060 SRC:=$(JDK_OUTPUTDIR),\ 1061 INCLUDES:=classes/javax/net \ 1062 classes/javax/security/cert \ 1063 classes/com/sun/net/ssl \ 1064 classes/com/sun/security/cert \ 1065 classes/sun/net/www/protocol/https \ 1066 classes/sun/security/pkcs12 \ 1067 classes/sun/security/ssl \ 1068 classes/sun/security/krb5 \ 1069 classes/sun/security/krb5/internal \ 1070 classes/sun/security/krb5/internal/ccache \ 1071 classes/sun/security/krb5/internal/crypto \ 1072 classes/sun/security/krb5/internal/ktab \ 1073 classes/sun/security/krb5/internal/rcache \ 1074 classes/sun/security/krb5/internal/util,\ 1075 INCLUDE_FILES:=classes/sun/security/jgss/spi/GSSContextSpi.class,\ 1076 EXCLUDES:=classes/sun/security/krb5/internal/tools,\ 1077 ZIP:=$(IMAGES_OUTPUTDIR)/sec-bin.zip)) 1078 1079 JARS += $(IMAGES_OUTPUTDIR)/sec-bin.zip 1080 1081 ########################################################################################## 1082 # 1083 # Windows specific binary security packages. 1084 # 1085 ifeq ($(OPENJDK_TARGET_OS),windows) 1086 # sec-windows-bin.zip is used by builds where the corresponding sources are not available 1087 $(eval $(call SetupZipArchive,BUILD_SEC_WINDOWS_BIN_ZIP,\ 1088 SRC:=$(JDK_OUTPUTDIR),\ 1089 INCLUDES:=classes/sun/security/krb5/internal/tools,\ 1090 ZIP:=$(IMAGES_OUTPUTDIR)/sec-windows-bin.zip)) 1091 1092 JARS += $(IMAGES_OUTPUTDIR)/sec-windows-bin.zip 1093 1094 # JGSS files contain the native Kerberos library 1095 ifeq ($(OPENJDK_TARGET_CPU),x86_64) 1096 JGSS_ZIP_NAME=jgss-windows-x64-bin.zip 1097 else 1098 JGSS_ZIP_NAME=jgss-windows-i586-bin.zip 1099 endif 1100 1101 $(eval $(call SetupZipArchive,BUILD_JGSS_BIN_ZIP,\ 1102 SRC:=$(JDK_OUTPUTDIR),\ 1103 INCLUDE_FILES:=bin/w2k_lsa_auth.dll \ 1104 bin/w2k_lsa_auth.map \ 1105 bin/w2k_lsa_auth.pdb,\ 1106 ZIP:=$(IMAGES_OUTPUTDIR)/$(JGSS_ZIP_NAME))) 1107 1108 JARS += $(IMAGES_OUTPUTDIR)/$(JGSS_ZIP_NAME) 1109 endif 1110 1111 ########################################################################################## 1112 1113 # Import nashorn.jar from nashorn dist dir. 1114 $(IMAGES_OUTPUTDIR)/lib/ext/nashorn.jar: $(NASHORN_DIST)/nashorn.jar 1115 $(install-file) 1116 1117 ########################################################################################## 1118 1119 -include $(CUSTOM_MAKE_DIR)/CreateJars.gmk 1120 1121 ########################################################################################## 1122 1123 all: $(JARS) 1124 1125 .PHONY: default all