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 251 ifeq ($(OPENJDK_TARGET_OS), macosx) 252 RT_JAR_EXCLUDES += com/sun/nio/sctp \ 253 sun/nio/ch/sctp 254 endif 255 256 # Find all files in the classes dir to use as dependencies. This could be more fine granular. 257 ALL_FILES_IN_CLASSES := $(call not-containing,_the.,$(filter-out %javac_state,\ 258 $(call CacheFind,$(JDK_OUTPUTDIR)/classes))) 259 260 RT_JAR_MANIFEST_FILE := $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.rt.jar_manifest 261 RESOURCE_JAR_MANIFEST_FILE := $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.resources.jar_manifest 262 263 $(RT_JAR_MANIFEST_FILE): $(MAINMANIFEST) $(BEANMANIFEST) 264 $(MKDIR) -p $(@D) 265 $(RM) $@ $@.tmp 266 $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ 267 -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ 268 $(MAINMANIFEST) >> $@.tmp 269 $(ECHO) >> $@.tmp 270 $(CAT) $(BEANMANIFEST) >> $@.tmp 271 $(MV) $@.tmp $@ 272 273 $(RESOURCE_JAR_MANIFEST_FILE): $(MAINMANIFEST) 274 $(MKDIR) -p $(@D) 275 $(RM) $@ $@.tmp 276 $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ 277 -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ 278 $(MAINMANIFEST) >> $@.tmp 279 $(MV) $@.tmp $@ 280 281 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.exclude: $(MAKEFILE) $(PROFILE_MAKEFILES) 282 $(MKDIR) -p $(@D) 283 $(RM) $@ $@.tmp 284 $(call ListPathsSafely,RT_JAR_EXCLUDES,\n, >> $@.tmp) 285 $(MV) $@.tmp $@ 286 287 $(IMAGES_OUTPUTDIR)/lib/classlist : $(JDK_TOPDIR)/make/tools/sharing/classlist.$(OPENJDK_TARGET_OS) \ 288 $(MAKEFILE) 289 $(MKDIR) -p $(@D) 290 $(RM) $@ $@.tmp 291 $(TOOL_ADDJSUM) $< $@.tmp 292 $(MV) $@.tmp $@ 293 294 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents: $(BUILD_TOOLS) $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.exclude \ 295 $(ALL_FILES_IN_CLASSES) $(IMAGES_OUTPUTDIR)/lib/classlist 296 $(MKDIR) -p $(@D) 297 $(RM) $@ $@.tmp 298 ($(CD) $(JDK_OUTPUTDIR)/classes && \ 299 $(TOOL_JARREORDER) \ 300 -o $@.tmp $(IMAGES_OUTPUTDIR)/lib/classlist $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.exclude . ) 301 $(MV) $@.tmp $@ 302 303 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.rt.jar.contents: $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents 304 $(MKDIR) -p $(@D) 305 $(RM) $@ $@.tmp 306 $(GREP) -e '\.class$$' $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents > $@.tmp 307 ifneq ($(PROFILE),) 308 # # Add back classes from excluded packages (fixing the $ substitution in the process) 309 for type in $(subst \$$,\, $(RT_JAR_INCLUDE_TYPES)) ; do \ 310 $(ECHO) $$type >> $@.tmp ; \ 311 done 312 endif 313 $(MV) $@.tmp $@ 314 315 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.resources.jar.contents: $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents 316 $(MKDIR) -p $(@D) 317 $(RM) $@ $@.tmp 318 $(GREP) -v -e '\.class$$' \ 319 -e '/_the\.*' -e '^_the\.*' -e '\\_the\.*' -e 'javac_state' \ 320 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents > $@.tmp 321 ifneq ($(PROFILE),) 322 # # Strip out all META-INF/services/ entries 323 $(GREP) -v -e 'META-INF/services/' $@.tmp > $@.tmp2 324 # # Add back the required services 325 # # FIXME: On Solaris if PROFILE_INCLUDE_METAINF_SERVICES is not defined 326 # # we get a syntax error from sh. That doesn't happen on linux 327 for service in $(PROFILE_INCLUDE_METAINF_SERVICES) ; do \ 328 $(ECHO) $$service >> $@.tmp2; \ 329 done 330 $(MV) $@.tmp2 $@.tmp 331 endif 332 $(MV) $@.tmp $@ 333 334 # This is a hack but I don't know how to make this fit into the existing scheme 335 $(PROFILE_VERSION_CLASS_TARGETS) : $(PROFILE_VERSION_JAVA_TARGETS) 336 @$(JAVAC) -d $(@D)/../../ $(@D)/$(VERSION_JAVA_FILE) 337 338 339 # Support for removing the addPropertyChangeListener and removePropertyChangeListener 340 # methods from classes that only go into the profile builds. 341 BEANLESS_CLASSES = $(IMAGES_OUTPUTDIR)/beanless 342 343 # When there are $ characters in filenames we have some very subtle interactions between 344 # make expansion and shell expansion. In this particular case $< will contain a single $ while 345 # $@ will contain \$. So we have to pass $< in single-quotes to avoid shell expansion 346 $(BEANLESS_CLASSES)/%: $(JDK_OUTPUTDIR)/classes/% 347 $(MKDIR) -p $(@D) 348 $(TOOL_REMOVEMETHODS) '$<' $@ addPropertyChangeListener removePropertyChangeListener 349 350 CLASSES_TO_DEBEAN = \ 351 java/util/logging/LogManager.class \ 352 java/util/jar/Pack200\$$Packer.class \ 353 java/util/jar/Pack200\$$Unpacker.class \ 354 com/sun/java/util/jar/pack/PackerImpl.class \ 355 com/sun/java/util/jar/pack/UnpackerImpl.class 356 357 ifneq ($(PROFILE),) 358 BEANLESS_CLASSES_TARGETS := $(addprefix $(BEANLESS_CLASSES)/, $(CLASSES_TO_DEBEAN)) 359 endif 360 361 362 RT_JAR_CREATE_OPTIONS := c0fm 363 RT_JAR_UPDATE_OPTIONS := u0f 364 ifeq ($(COMPRESS_JARS), true) 365 RT_JAR_CREATE_OPTIONS := cfm 366 RT_JAR_UPDATE_OPTIONS := uf 367 endif 368 369 # This defines a target-specific variables to make the shell logic easier to see. 370 # We need to find the Version.class file for the profile currently being built 371 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/rt.jar: \ 372 CLASS_FILE = $(if $(PROFILE),$(strip $(foreach class,$(PROFILE_VERSION_CLASS_TARGETS),$(if $(findstring $(PROFILE),$(class)),$(class)))), NO_SUCH_FILE) 373 # This is the real target 374 $(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) 375 $(ECHO) Creating rt.jar $(PROFILE) Compressed=$(COMPRESS_JARS) 376 $(MKDIR) -p $(@D) 377 $(RM) $@ $@.tmp 378 $(CD) $(JDK_OUTPUTDIR)/classes && \ 379 $(JAR) $(RT_JAR_CREATE_OPTIONS) $@.tmp $(RT_JAR_MANIFEST_FILE) \ 380 @$(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.rt.jar.contents && \ 381 if [ -f $(CLASS_FILE) ]; then \ 382 $(ECHO) Updating rt.jar $(PROFILE) && \ 383 $(CD) $(patsubst %$(VERSION_CLASS_PATH),%,$(CLASS_FILE)) && \ 384 $(JAR) $(RT_JAR_UPDATE_OPTIONS) $@.tmp $(VERSION_CLASS_PATH); \ 385 $(CD) $(BEANLESS_CLASSES) && \ 386 $(JAR) $(RT_JAR_UPDATE_OPTIONS) $@.tmp $(CLASSES_TO_DEBEAN); \ 387 fi 388 $(MV) $@.tmp $@ 389 390 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/resources.jar: $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.resources.jar.contents \ 391 $(RESOURCE_JAR_MANIFEST_FILE) 392 $(ECHO) Creating resources.jar 393 $(MKDIR) -p $(@D) 394 $(RM) $@ $@.tmp 395 $(CD) $(JDK_OUTPUTDIR)/classes && \ 396 $(JAR) $(RT_JAR_CREATE_OPTIONS) $@.tmp $(RESOURCE_JAR_MANIFEST_FILE) \ 397 @$(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.resources.jar.contents 398 $(MV) $@.tmp $@ 399 400 ########################################################################################## 401 402 ifneq ($(OPENJDK_TARGET_OS), windows) 403 CHARSETS_EXTRA_FILES:=sun/awt/motif/X11GBK.class \ 404 sun/awt/motif/X11GB2312\$$$$Decoder.class \ 405 sun/awt/motif/X11GB2312.class \ 406 sun/awt/motif/X11KSC5601\$$$$Decoder.class \ 407 sun/awt/motif/X11KSC5601\$$$$Encoder.class \ 408 sun/awt/motif/X11GB2312\$$$$Encoder.class \ 409 sun/awt/motif/X11GBK\$$$$Encoder.class \ 410 sun/awt/motif/X11KSC5601.class 411 endif 412 413 $(eval $(call SetupArchive,BUILD_CHARSETS_JAR,,\ 414 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 415 SUFFIXES:=.class .dat,\ 416 INCLUDES:=sun/nio/cs/ext,\ 417 EXTRA_FILES := sun/awt/HKSCS.class \ 418 $(CHARSETS_EXTRA_FILES), \ 419 JAR:=$(IMAGES_OUTPUTDIR)/lib/charsets.jar, \ 420 SKIP_METAINF := true, \ 421 CHECK_COMPRESS_JAR:=true)) 422 423 ########################################################################################## 424 425 ifndef OPENJDK 426 ifeq ($(ENABLE_JFR), true) 427 $(eval $(call SetupArchive,BUILD_JFR_JAR,,\ 428 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 429 SUFFIXES:=.class .jfc .xsd,\ 430 INCLUDES:=com/oracle/jrockit/jfr \ 431 oracle/jrockit/jfr,\ 432 JAR:=$(IMAGES_OUTPUTDIR)/lib/jfr.jar,\ 433 SKIP_METAINF:=true,\ 434 MANIFEST:=$(MAINMANIFEST), \ 435 CHECK_COMPRESS_JAR:=true)) 436 437 endif 438 endif 439 440 ########################################################################################## 441 442 $(eval $(call SetupArchive,BUILD_JSSE_JAR,,\ 443 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 444 INCLUDES:=sun/security/provider/Sun.class \ 445 sun/security/rsa/SunRsaSign.class \ 446 sun/security/ssl \ 447 com/sun/net/ssl/internal/ssl,\ 448 JAR:=$(IMAGES_OUTPUTDIR)/lib/jsse.jar,\ 449 SKIP_METAINF:=true,\ 450 MANIFEST:=$(MAINMANIFEST), \ 451 CHECK_COMPRESS_JAR:=true)) 452 453 ########################################################################################## 454 # Create manifest for security jars 455 456 # 457 # Include these extra attributes for now, should probably take out. 458 # 459 JCE_MANIFEST := $(IMAGES_OUTPUTDIR)/lib/_the.security.manifest.mf 460 $(JCE_MANIFEST): $(MAINMANIFEST) 461 $(MKDIR) -p $(@D) 462 $(RM) $@ $@.tmp 463 $(SED) -e "s#@@RELEASE@@#$(JDK_VERSION)#" \ 464 -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ 465 $(MAINMANIFEST) >> $@.tmp 466 $(ECHO) "Extension-Name: javax.crypto" >> $@.tmp 467 $(ECHO) "Implementation-Vendor-Id: com.sun" >> $@.tmp 468 $(MV) $@.tmp $@ 469 470 ########################################################################################## 471 # For all security jars, always build the jar, but for closed, install the prebuilt signed 472 # version instead of the newly built jar. Unsigned jars are treated as intermediate targets 473 # and explicitly added to the JARS list. For open, signing is not needed. See SignJars.gmk 474 # for more information. 475 476 SUNPKCS11_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunpkcs11.jar 477 SUNPKCS11_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/sunpkcs11.jar 478 479 $(eval $(call SetupArchive,BUILD_SUNPKCS11_JAR,,\ 480 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 481 SUFFIXES:=.class,\ 482 INCLUDES:=sun/security/pkcs11,\ 483 JAR:=$(SUNPKCS11_JAR_UNSIGNED), \ 484 MANIFEST:=$(JCE_MANIFEST), \ 485 SKIP_METAINF := true)) 486 487 $(SUNPKCS11_JAR_UNSIGNED): $(JCE_MANIFEST) 488 489 ifndef OPENJDK 490 SUNPKCS11_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/pkcs11/sunpkcs11.jar 491 $(SUNPKCS11_JAR_DST) : $(SUNPKCS11_JAR_SRC) 492 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunPKCS11 provider..." 493 $(install-file) 494 else 495 $(SUNPKCS11_JAR_DST) : $(SUNPKCS11_JAR_UNSIGNED) 496 $(install-file) 497 endif 498 499 JARS += $(SUNPKCS11_JAR_UNSIGNED) 500 501 ########################################################################################## 502 503 SUNEC_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunec.jar 504 SUNEC_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/sunec.jar 505 506 $(eval $(call SetupArchive,BUILD_SUNEC_JAR,,\ 507 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 508 SUFFIXES:=.class,\ 509 INCLUDES:=sun/security/ec,\ 510 JAR:=$(SUNEC_JAR_UNSIGNED), \ 511 MANIFEST:=$(JCE_MANIFEST), \ 512 SKIP_METAINF := true)) 513 514 $(SUNEC_JAR_UNSIGNED): $(JCE_MANIFEST) 515 516 ifndef OPENJDK 517 SUNEC_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/ec/sunec.jar 518 $(SUNEC_JAR_DST) : $(SUNEC_JAR_SRC) 519 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunEC provider..." 520 $(install-file) 521 else 522 $(SUNEC_JAR_DST) : $(SUNEC_JAR_UNSIGNED) 523 $(install-file) 524 endif 525 526 JARS += $(SUNEC_JAR_UNSIGNED) 527 528 ########################################################################################## 529 530 $(eval $(call SetupArchive,BUILD_SWINGBEANS_JAR,,\ 531 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 532 SUFFIXES:=BeanInfo.class .gif,\ 533 INCLUDES:=javax/swing sun/swing,\ 534 EXCLUDES:=javax/swing/plaf,\ 535 EXTRA_FILES:=javax/swing/SwingBeanInfoBase.class sun/swing/BeanInfoUtils.class,\ 536 JAR:=$(IMAGES_OUTPUTDIR)/lib/dt.jar,\ 537 SKIP_METAINF:=true)) 538 539 ########################################################################################## 540 541 SUNJCE_PROVIDER_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunjce_provider.jar 542 SUNJCE_PROVIDER_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/sunjce_provider.jar 543 544 $(eval $(call SetupArchive,BUILD_SUNJCE_PROVIDER_JAR,,\ 545 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 546 SUFFIXES:=.class,\ 547 INCLUDES:= com/sun/crypto/provider,\ 548 JAR:=$(SUNJCE_PROVIDER_JAR_UNSIGNED), \ 549 MANIFEST:=$(JCE_MANIFEST), \ 550 SKIP_METAINF := true)) 551 552 $(SUNJCE_PROVIDER_JAR_UNSIGNED): $(JCE_MANIFEST) 553 554 ifndef OPENJDK 555 SUNJCE_PROVIDER_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/jce/sunjce_provider.jar 556 $(SUNJCE_PROVIDER_JAR_DST) : $(SUNJCE_PROVIDER_JAR_SRC) 557 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunJCE provider..." 558 $(install-file) 559 else 560 $(SUNJCE_PROVIDER_JAR_DST) : $(SUNJCE_PROVIDER_JAR_UNSIGNED) 561 $(install-file) 562 endif 563 564 JARS += $(SUNJCE_PROVIDER_JAR_UNSIGNED) 565 566 ########################################################################################## 567 568 JCE_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/jce.jar 569 JCE_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/jce.jar 570 571 $(eval $(call SetupArchive,BUILD_JCE_JAR,,\ 572 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 573 SUFFIXES:=.class,\ 574 INCLUDES:= javax/crypto sun/security/internal,\ 575 JAR:=$(JCE_JAR_UNSIGNED), \ 576 MANIFEST:=$(JCE_MANIFEST), \ 577 SKIP_METAINF := true)) 578 579 $(JCE_JAR_UNSIGNED): $(JCE_MANIFEST) 580 581 ifndef OPENJDK 582 JCE_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/jce/jce.jar 583 $(JCE_JAR_DST) : $(JCE_JAR_SRC) 584 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt jce.jar..." 585 $(install-file) 586 else 587 $(JCE_JAR_DST) : $(JCE_JAR_UNSIGNED) 588 $(install-file) 589 endif 590 591 JARS += $(JCE_JAR_UNSIGNED) 592 593 ########################################################################################## 594 595 US_EXPORT_POLICY_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/security/US_export_policy.jar 596 US_EXPORT_POLICY_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/US_export_policy.jar 597 598 # 599 # TODO fix so that SetupArchive does not write files into SRCS 600 # then we don't need this extra copying 601 # 602 # NOTE: We currently do not place restrictions on our limited export 603 # policy. This was not a typo. 604 # 605 US_EXPORT_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/unlimited 606 US_EXPORT_POLICY_JAR_TMP := $(IMAGES_OUTPUTDIR)/US_export_policy_jar.tmp 607 608 $(US_EXPORT_POLICY_JAR_TMP)/% : $(US_EXPORT_POLICY_JAR_SRC_DIR)/% 609 $(install-file) 610 611 US_EXPORT_POLICY_JAR_DEPS := $(US_EXPORT_POLICY_JAR_TMP)/default_US_export.policy 612 613 $(eval $(call SetupArchive,BUILD_US_EXPORT_POLICY_JAR,$(US_EXPORT_POLICY_JAR_DEPS),\ 614 SRCS:=$(US_EXPORT_POLICY_JAR_TMP), \ 615 SUFFIXES:= .policy,\ 616 JAR:=$(US_EXPORT_POLICY_JAR_UNSIGNED), \ 617 EXTRA_MANIFEST_ATTR := Crypto-Strength: unlimited, \ 618 SKIP_METAINF := true)) 619 620 ifndef OPENJDK 621 $(US_EXPORT_POLICY_JAR_DST): $(JDK_TOPDIR)/make/closed/tools/crypto/jce/US_export_policy.jar 622 $(ECHO) $(LOG_INFO) Copying $(@F) 623 $(install-file) 624 else 625 $(US_EXPORT_POLICY_JAR_DST): $(US_EXPORT_POLICY_JAR_UNSIGNED) 626 $(install-file) 627 endif 628 629 JARS += $(US_EXPORT_POLICY_JAR_UNSIGNED) 630 631 ########################################################################################## 632 633 LOCAL_POLICY_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/security/local_policy.jar 634 LOCAL_POLICY_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/local_policy.jar 635 636 # 637 # TODO fix so that SetupArchive does not write files into SRCS 638 # then we don't need this extra copying 639 # 640 LOCAL_POLICY_JAR_TMP := $(IMAGES_OUTPUTDIR)/local_policy_jar.tmp 641 642 ifeq ($(UNLIMITED_CRYPTO), true) 643 LOCAL_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/unlimited 644 LOCAL_POLICY_JAR_DEPS := $(LOCAL_POLICY_JAR_TMP)/default_local.policy 645 LOCAL_POLICY_JAR_ATTR := Crypto-Strength: unlimited 646 else 647 LOCAL_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/limited 648 LOCAL_POLICY_JAR_DEPS := $(LOCAL_POLICY_JAR_TMP)/exempt_local.policy \ 649 $(LOCAL_POLICY_JAR_TMP)/default_local.policy 650 LOCAL_POLICY_JAR_ATTR := Crypto-Strength: limited 651 endif 652 653 $(LOCAL_POLICY_JAR_TMP)/% : $(LOCAL_POLICY_JAR_SRC_DIR)/% 654 $(install-file) 655 656 $(eval $(call SetupArchive,BUILD_LOCAL_POLICY_JAR,$(LOCAL_POLICY_JAR_DEPS),\ 657 SRCS:=$(LOCAL_POLICY_JAR_TMP),\ 658 SUFFIXES:= .policy,\ 659 JAR:=$(LOCAL_POLICY_JAR_UNSIGNED), \ 660 EXTRA_MANIFEST_ATTR := $(LOCAL_POLICY_JAR_ATTR), \ 661 SKIP_METAINF := true)) 662 663 ifndef OPENJDK 664 $(LOCAL_POLICY_JAR_DST): $(JDK_TOPDIR)/make/closed/tools/crypto/jce/local_policy.jar 665 $(ECHO) $(LOG_INFO) Copying $(@F) 666 $(install-file) 667 else 668 $(LOCAL_POLICY_JAR_DST): $(LOCAL_POLICY_JAR_UNSIGNED) 669 $(install-file) 670 endif 671 672 JARS += $(LOCAL_POLICY_JAR_UNSIGNED) 673 674 ########################################################################################## 675 676 ifeq ($(OPENJDK_TARGET_OS),windows) 677 678 SUNMSCAPI_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunmscapi.jar 679 SUNMSCAPI_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/sunmscapi.jar 680 681 $(eval $(call SetupArchive,BUILD_SUNMSCAPI_JAR,,\ 682 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 683 SUFFIXES:=.class,\ 684 INCLUDES:= sun/security/mscapi,\ 685 JAR:=$(SUNMSCAPI_JAR_UNSIGNED), \ 686 MANIFEST:=$(JCE_MANIFEST), \ 687 SKIP_METAINF:=true)) 688 689 $(SUNMSCAPI_JAR_UNSIGNED): $(JCE_MANIFEST) 690 691 ifndef OPENJDK 692 SUNMSCAPI_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/mscapi/sunmscapi.jar 693 $(SUNMSCAPI_JAR_DST) : $(SUNMSCAPI_JAR_SRC) 694 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunMSCAPI provider..." 695 $(install-file) 696 else 697 $(SUNMSCAPI_JAR_DST) : $(SUNMSCAPI_JAR_UNSIGNED) 698 $(install-file) 699 endif 700 701 JARS += $(SUNMSCAPI_JAR_UNSIGNED) 702 703 endif 704 705 ########################################################################################## 706 707 ifeq ($(OPENJDK_TARGET_OS),solaris) 708 ifndef OPENJDK 709 710 UCRYPTO_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/ucrypto.jar 711 UCRYPTO_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/ucrypto.jar 712 UCRYPTO_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/ucrypto/ucrypto.jar 713 714 $(eval $(call SetupArchive,BUILD_UCRYPTO_JAR,,\ 715 SRCS:=$(JDK_OUTPUTDIR)/classes, \ 716 SUFFIXES:=.class,\ 717 INCLUDES:=com/oracle/security/ucrypto,\ 718 JAR:=$(UCRYPTO_JAR_UNSIGNED), \ 719 MANIFEST:=$(JCE_MANIFEST), \ 720 SKIP_METAINF:=true)) 721 722 $(UCRYPTO_JAR_UNSIGNED): $(JCE_MANIFEST) 723 724 $(UCRYPTO_JAR_DST) : $(UCRYPTO_JAR_SRC) 725 @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt OracleUcrypto provider..." 726 $(install-file) 727 728 JARS += $(UCRYPTO_JAR_UNSIGNED) 729 730 endif 731 endif 732 733 ########################################################################################## 734 735 # Get the CLDRVERSION 736 include GensrcCLDR.gmk 737 738 CLDRDATA_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/cldrdata.jar 739 740 $(eval $(call SetupArchive,BUILD_CLDRDATA_JAR,,\ 741 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 742 SUFFIXES:=.class,\ 743 INCLUDES:=sun/text/resources/cldr \ 744 sun/util/cldr \ 745 sun/util/resources/cldr,\ 746 EXCLUDES:=sun/util/cldr/CLDRLocaleProviderAdapter,\ 747 JAR:=$(CLDRDATA_JAR_DST),\ 748 EXTRA_MANIFEST_ATTR:=CLDR-Version: $(CLDRVERSION),\ 749 SKIP_METAINF:=true)) 750 751 ########################################################################################## 752 753 TOOLS_JAR_INCLUDES := \ 754 com/sun/codemodel \ 755 com/sun/istack/internal/tools \ 756 com/sun/jarsigner \ 757 com/sun/javadoc \ 758 com/sun/jdi \ 759 com/sun/source \ 760 com/sun/tools/attach \ 761 com/sun/tools/classfile \ 762 com/sun/tools/corba \ 763 com/sun/tools/doclets \ 764 com/sun/tools/doclint \ 765 com/sun/tools/example/debug/expr \ 766 com/sun/tools/example/debug/tty \ 767 com/sun/tools/extcheck \ 768 com/sun/tools/hat \ 769 com/sun/tools/internal/jxc \ 770 com/sun/tools/internal/jxc/ap \ 771 com/sun/tools/internal/ws \ 772 com/sun/tools/internal/ws/wscompile/plugin/at_generated \ 773 com/sun/tools/internal/xjc \ 774 com/sun/tools/javac \ 775 com/sun/tools/javadoc \ 776 com/sun/tools/javah \ 777 com/sun/tools/javap \ 778 com/sun/tools/jdeps \ 779 com/sun/tools/jdi \ 780 com/sun/tools/script/shell \ 781 com/sun/xml/internal/dtdparser \ 782 com/sun/xml/internal/rngom \ 783 com/sun/xml/internal/xsom \ 784 org/relaxng/datatype \ 785 sun/applet \ 786 sun/jvmstat \ 787 sun/rmi/rmic \ 788 sun/security/tools/jarsigner \ 789 sun/tools/asm \ 790 sun/tools/attach \ 791 sun/tools/jar \ 792 sun/tools/java \ 793 sun/tools/javac \ 794 sun/tools/jcmd \ 795 sun/tools/jinfo \ 796 sun/tools/jmap \ 797 sun/tools/jps \ 798 sun/tools/jstack \ 799 sun/tools/jstat \ 800 sun/tools/jstatd \ 801 sun/tools/native2ascii \ 802 sun/tools/serialver \ 803 sun/tools/tree \ 804 sun/tools/util 805 806 # The sjavac tools is not ready for public consumption. 807 TOOLS_JAR_EXCLUDES=com/sun/tools/sjavac 808 809 $(eval $(call SetupArchive,BUILD_TOOLS_JAR,,\ 810 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 811 SUFFIXES:=.class .prp .gif .properties .xml .css .xsd .js .html .txt .java \ 812 Tool aliasmap options,\ 813 INCLUDES:=$(TOOLS_JAR_INCLUDES),\ 814 EXCLUDES:=$(TOOLS_JAR_EXCLUDES),\ 815 EXTRA_FILES:=META-INF/services/com.sun.jdi.connect.Connector \ 816 META-INF/services/com.sun.jdi.connect.spi.TransportService \ 817 META-INF/services/com.sun.tools.attach.spi.AttachProvider \ 818 META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \ 819 META-INF/services/com.sun.tools.internal.xjc.Plugin,\ 820 JAR:=$(IMAGES_OUTPUTDIR)/lib/tools.jar,\ 821 SKIP_METAINF:=true, \ 822 CHECK_COMPRESS_JAR:=true)) 823 824 825 ########################################################################################## 826 827 include javadoc/CORE_PKGS.gmk 828 include javadoc/NON_CORE_PKGS.gmk 829 830 # The compiler should not issue a "Proprietary" warning when compiling 831 # classes in the com.sun.java.swing.plaf packages, since we've always 832 # allowed, and even advocated, extending them (see bug 6476749). 833 # 834 # This approach is NOT to be used as a general purpose way to avoid such 835 # compiler warnings for non-core packages. The correct way is to document 836 # the packages in NON_CORE_PKGS.gmk, and include them in the NON_CORE_PKGS 837 # definition. 838 # 839 # Swing has taken this approach only as a temporary measure to avoid 840 # the compiler warnings until we can properly document these packages. 841 # This is covered under 6491853. 842 EXCLUDE_PROPWARN_PKGS = com.sun.java.swing.plaf.windows \ 843 com.sun.java.swing.plaf.motif \ 844 com.sun.java.swing.plaf.gtk 845 846 # 847 # Include the exported private packages in ct.sym. 848 # This is an interim solution until the ct.sym is replaced 849 # with a new module system (being discussed for JDK 8). 850 # 851 EXPORTED_PRIVATE_PKGS = com.oracle.net \ 852 com.oracle.nio 853 854 $(IMAGES_OUTPUTDIR)/symbols/_the.symbols: $(IMAGES_OUTPUTDIR)/lib/rt.jar 855 $(RM) -r $(IMAGES_OUTPUTDIR)/symbols/META-INF/sym 856 $(MKDIR) -p $(IMAGES_OUTPUTDIR)/symbols/META-INF/sym 857 $(JAVA) $(NEW_JAVAC) \ 858 -bootclasspath $(JDK_OUTPUTDIR)/classes \ 859 -XDprocess.packages -proc:only \ 860 -processor com.sun.tools.javac.sym.CreateSymbols \ 861 -Acom.sun.tools.javac.sym.Jar=$(IMAGES_OUTPUTDIR)/lib/rt.jar \ 862 -Acom.sun.tools.javac.sym.Dest=$(IMAGES_OUTPUTDIR)/symbols/META-INF/sym/rt.jar \ 863 -Acom.sun.tools.javac.sym.Profiles=profile-rtjar-includes.txt \ 864 $(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS) $(EXPORTED_PRIVATE_PKGS) 865 $(TOUCH) $@ 866 867 $(eval $(call MakeDir,$(IMAGES_OUTPUTDIR)/symbols)) 868 $(eval $(call SetupArchive,BUILD_CT_SYM,$(IMAGES_OUTPUTDIR)/symbols/_the.symbols,\ 869 SRCS:=$(IMAGES_OUTPUTDIR)/symbols,\ 870 INCLUDES:=META-INF/sym,\ 871 JAR:=$(IMAGES_OUTPUTDIR)/lib/ct.sym, \ 872 CHECK_COMPRESS_JAR:=true)) 873 874 875 ########################################################################################## 876 877 SRC_ZIP_INCLUDES = \ 878 com/sun/corba \ 879 com/sun/image/codec/jpeg \ 880 com/sun/imageio \ 881 com/sun/java_cup \ 882 com/sun/javadoc \ 883 com/sun/java/swing \ 884 com/sun/jlex \ 885 com/sun/jmx \ 886 com/sun/naming \ 887 com/sun/org/apache \ 888 com/sun/security/auth \ 889 com/sun/security/jgss \ 890 com/sun/source \ 891 java/applet \ 892 java/awt \ 893 java/beans \ 894 java/io \ 895 java/lang \ 896 java/math \ 897 java/net \ 898 java/nio \ 899 java/rmi \ 900 java/security \ 901 java/sql \ 902 java/text \ 903 java/util \ 904 javax/accessibility \ 905 javax/annotation \ 906 javax/imageio \ 907 javax/lang \ 908 javax/management \ 909 javax/naming \ 910 javax/print \ 911 javax/rmi \ 912 javax/script \ 913 javax/security \ 914 javax/sound \ 915 javax/sql \ 916 javax/swing \ 917 javax/tools \ 918 javax/xml \ 919 org/ietf \ 920 org/omg \ 921 org/w3c/dom \ 922 org/xml/sax \ 923 sunw 924 925 SRC_ZIP_SRCS = $(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes 926 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/gensrc 927 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/impsrc 928 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/gendocsrc_rmic 929 ifndef OPENJDK 930 SRC_ZIP_SRCS += $(JDK_TOPDIR)/src/closed/share/classes 931 endif 932 933 # Need to copy launcher src files into desired directory structure 934 # before zipping the sources. 935 LAUNCHER_SRC_FILES := $(wildcard $(JDK_TOPDIR)/src/share/bin/*) \ 936 $(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/java_md*) 937 LAUNCHER_ZIP_SRC := $(patsubst $(JDK_TOPDIR)/src/share/bin/%,$(IMAGES_OUTPUTDIR)/src/launcher/%,\ 938 $(patsubst $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/%,$(IMAGES_OUTPUTDIR)/src/launcher/%,\ 939 $(LAUNCHER_SRC_FILES))) 940 941 $(IMAGES_OUTPUTDIR)/src/launcher/%: $(JDK_TOPDIR)/src/share/bin/% 942 $(install-file) 943 944 $(IMAGES_OUTPUTDIR)/src/launcher/%: $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/% 945 $(install-file) 946 947 $(IMAGES_OUTPUTDIR)/src.zip: $(LAUNCHER_ZIP_SRC) 948 949 # This dir needs to exist before macro is evaluated to avoid warning from find. 950 $(eval $(call MakeDir,$(IMAGES_OUTPUTDIR)/src)) 951 $(eval $(call SetupZipArchive,BUILD_SRC_ZIP,\ 952 SRC:=$(SRC_ZIP_SRCS) $(IMAGES_OUTPUTDIR)/src,\ 953 INCLUDES:=$(SRC_ZIP_INCLUDES) launcher,\ 954 EXCLUDES:=javax/swing/beaninfo,\ 955 SUFFIXES:=.java .c .h,\ 956 ZIP:=$(IMAGES_OUTPUTDIR)/src.zip,\ 957 EXTRA_DEPS:=$(LAUNCHER_ZIP_SRC))) 958 959 ########################################################################################## 960 961 ifndef OPENJDK 962 ifeq ($(OPENJDK_TARGET_OS), windows) 963 964 $(eval $(call SetupArchive,BUILD_JACCESS_JAR,,\ 965 SRCS:=$(JDK_OUTPUTDIR)/classes,\ 966 INCLUDES:=com/sun/java/accessibility/util,\ 967 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/jaccess.jar,\ 968 SKIP_METAINF:=true)) 969 970 JARS += $(IMAGES_OUTPUTDIR)/lib/ext/jaccess.jar 971 972 ifeq ($(OPENJDK_TARGET_CPU_BITS), 32) 973 $(eval $(call SetupArchive,BUILD_ACCESSBRIDGE_32_JAR,,\ 974 SRCS:=$(JDK_OUTPUTDIR)/classes_ab/32bit $(JDK_OUTPUTDIR)/classes,\ 975 INCLUDES:=com/sun/java/accessibility,\ 976 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-32.jar,\ 977 SKIP_METAINF:=true)) 978 979 $(eval $(call SetupArchive,BUILD_ACCESSBRIDGE_LEGACY_JAR,,\ 980 SRCS:=$(JDK_OUTPUTDIR)/classes_ab/legacy $(JDK_OUTPUTDIR)/classes,\ 981 INCLUDES:=com/sun/java/accessibility,\ 982 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/access-bridge.jar,\ 983 SKIP_METAINF:=true)) 984 985 JARS += $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-32.jar \ 986 $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge.jar 987 else 988 $(eval $(call SetupArchive,BUILD_ACCESSBRIDGE_64_JAR,,\ 989 SRCS:=$(JDK_OUTPUTDIR)/classes_ab/64bit $(JDK_OUTPUTDIR)/classes,\ 990 INCLUDES:=com/sun/java/accessibility,\ 991 EXCLUDES:=com/sun/java/accessibility/util/java,\ 992 JAR:=$(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-64.jar,\ 993 SKIP_METAINF:=true)) 994 995 JARS += $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-64.jar 996 endif 997 endif 998 endif 999 1000 ########################################################################################## 1001 1002 # 1003 # This is an empty jar (only contains manifest) and fits poorly into framework... 1004 # create simple rule instead 1005 # 1006 $(IMAGES_OUTPUTDIR)/lib/management-agent.jar : $(JDK_TOPDIR)/src/share/classes/sun/management/manifest 1007 $(JAR) cfm $@ $< 1008 1009 ########################################################################################## 1010 1011 $(IMAGES_OUTPUTDIR)/lib/ext/zipfs.jar : $(JDK_OUTPUTDIR)/demo/nio/zipfs/zipfs.jar 1012 $(install-file) 1013 1014 ########################################################################################## 1015 1016 ifeq ($(OPENJDK_TARGET_OS),macosx) 1017 $(eval $(call SetupArchive,BUILD_JOBJC_JAR,,\ 1018 SRCS:=$(JDK_OUTPUTDIR)/jobjc_classes,\ 1019 JAR:=$(IMAGES_OUTPUTDIR)/lib/JObjC.jar, \ 1020 JARINDEX:=true)) 1021 endif 1022 1023 ########################################################################################## 1024 1025 ifndef OPENJDK 1026 $(eval $(call SetupArchive,BUILD_ALT_RT_JAR,,\ 1027 SRCS:=$(JDK_OUTPUTDIR)/altclasses_classes,\ 1028 JAR:=$(IMAGES_OUTPUTDIR)/lib/alt-rt.jar)) 1029 1030 endif 1031 1032 ########################################################################################## 1033 1034 # This file is imported from hotspot in Import.gmk. Copying it into images/lib so that 1035 # all jars can be found in one place when creating images in Images.gmk. It needs to be 1036 # done here so that clean targets can be simple and accurate. 1037 $(IMAGES_OUTPUTDIR)/lib/sa-jdi.jar: $(JDK_OUTPUTDIR)/lib/sa-jdi.jar 1038 $(install-file) 1039 1040 ########################################################################################## 1041 # 1042 # sec-bin.zip is used by builds where the corresponding sources are not available 1043 # 1044 $(eval $(call SetupZipArchive,BUILD_SEC_BIN_ZIP,\ 1045 SRC:=$(JDK_OUTPUTDIR),\ 1046 INCLUDES:=classes/javax/net \ 1047 classes/javax/security/cert \ 1048 classes/com/sun/net/ssl \ 1049 classes/com/sun/security/cert \ 1050 classes/sun/net/www/protocol/https \ 1051 classes/sun/security/pkcs12 \ 1052 classes/sun/security/ssl \ 1053 classes/sun/security/krb5 \ 1054 classes/sun/security/krb5/internal \ 1055 classes/sun/security/krb5/internal/ccache \ 1056 classes/sun/security/krb5/internal/crypto \ 1057 classes/sun/security/krb5/internal/ktab \ 1058 classes/sun/security/krb5/internal/rcache \ 1059 classes/sun/security/krb5/internal/util,\ 1060 INCLUDE_FILES:=classes/sun/security/jgss/spi/GSSContextSpi.class,\ 1061 EXCLUDES:=classes/sun/security/krb5/internal/tools,\ 1062 ZIP:=$(IMAGES_OUTPUTDIR)/sec-bin.zip)) 1063 1064 JARS += $(IMAGES_OUTPUTDIR)/sec-bin.zip 1065 1066 ########################################################################################## 1067 # 1068 # Windows specific binary security packages. 1069 # 1070 ifeq ($(OPENJDK_TARGET_OS),windows) 1071 # sec-windows-bin.zip is used by builds where the corresponding sources are not available 1072 $(eval $(call SetupZipArchive,BUILD_SEC_WINDOWS_BIN_ZIP,\ 1073 SRC:=$(JDK_OUTPUTDIR),\ 1074 INCLUDES:=classes/sun/security/krb5/internal/tools,\ 1075 ZIP:=$(IMAGES_OUTPUTDIR)/sec-windows-bin.zip)) 1076 1077 JARS += $(IMAGES_OUTPUTDIR)/sec-windows-bin.zip 1078 1079 # JGSS files contain the native Kerberos library 1080 ifeq ($(OPENJDK_TARGET_CPU),x86_64) 1081 JGSS_ZIP_NAME=jgss-windows-x64-bin.zip 1082 else 1083 JGSS_ZIP_NAME=jgss-windows-i586-bin.zip 1084 endif 1085 1086 $(eval $(call SetupZipArchive,BUILD_JGSS_BIN_ZIP,\ 1087 SRC:=$(JDK_OUTPUTDIR),\ 1088 INCLUDE_FILES:=bin/w2k_lsa_auth.dll \ 1089 bin/w2k_lsa_auth.map \ 1090 bin/w2k_lsa_auth.pdb,\ 1091 ZIP:=$(IMAGES_OUTPUTDIR)/$(JGSS_ZIP_NAME))) 1092 1093 JARS += $(IMAGES_OUTPUTDIR)/$(JGSS_ZIP_NAME) 1094 endif 1095 1096 ########################################################################################## 1097 1098 # Import nashorn.jar from nashorn dist dir. 1099 $(IMAGES_OUTPUTDIR)/lib/ext/nashorn.jar: $(NASHORN_DIST)/nashorn.jar 1100 $(install-file) 1101 1102 ########################################################################################## 1103 1104 -include $(CUSTOM_MAKE_DIR)/CreateJars.gmk 1105 1106 ########################################################################################## 1107 1108 all: $(JARS) 1109 1110 .PHONY: default all