250 # be picked up by implicit compilation. On a rebuild, they are picked up 251 # and compiled. Exclude them here to produce the same rt.jar as the old 252 # build does when building just once. 253 EXFILES += javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \ 254 javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \ 255 javax/swing/plaf/nimbus/ScrollBarPainter.java \ 256 javax/swing/plaf/nimbus/SliderPainter.java \ 257 javax/swing/plaf/nimbus/SpinnerPainter.java \ 258 javax/swing/plaf/nimbus/SplitPanePainter.java \ 259 javax/swing/plaf/nimbus/TabbedPanePainter.java 260 261 # Acquire a list of files that should be copied straight over to the classes. 262 include CopyIntoClasses.gmk 263 # Now we have COPY_PATTERNS, COPY_FILES and COPY_EXTRA 264 265 ifndef OPENJDK 266 CLOSED_SRC_DIRS := $(JDK_TOPDIR)/src/closed/share/classes \ 267 $(JDK_TOPDIR)/src/closed/$(OPENJDK_TARGET_OS_API_DIR)/classes 268 endif 269 270 MACOSX_SRC_DIRS := 271 ifeq ($(OPENJDK_TARGET_OS), macosx) 272 MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/classes 273 274 # this files are duplicated in MACOSX_SRC_DIRS 275 EXFILES += $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java \ 276 $(JDK_TOPDIR)/src/solaris/classes/sun/java2d/BackBufferCapsProvider.java \ 277 $(JDK_TOPDIR)/src/solaris/classes/java/net/DefaultInterface.java \ 278 $(JDK_TOPDIR)/src/solaris/classes/java/lang/ClassLoaderHelper.java \ 279 $(JDK_TOPDIR)/src/solaris/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java \ 280 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java \ 281 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java \ 282 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java \ 283 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java 284 285 endif 286 287 # The security classes should not end up in the classes directory as that will prevent them 288 # from working when running the exploded jdk image. Compile them separately to a different 289 # directory from where the jars can be created. 290 SECURITY_PKGS := \ 291 com/oracle/security/ucrypto \ 292 com/sun/crypto/provider \ 293 javax/crypto \ 294 sun/security/ec \ 295 sun/security/internal \ 296 sun/security/mscapi \ 297 sun/security/pkcs11 \ 298 # 299 300 AIX_SRC_DIRS := 301 ifeq ($(OPENJDK_TARGET_OS),aix) 302 AIX_SRC_DIRS += $(JDK_TOPDIR)/src/aix/classes 303 304 # these files are duplicated in AIX_SRC_DIRS 305 EXFILES += $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java \ 306 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java \ 307 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java 308 endif 309 310 # The JDK_USER_DEFINED_FILTER is a poor man's incremental build: by specifying 311 # JDK_FILTER at the make command line, only a subset of the JDK java files will 312 # be recompiled. If multiple paths are separated by comma, convert that into a 313 # space separated list. 314 JDK_USER_DEFINED_FILTER := $(strip $(subst $(COMMA),$(SPACE), $(JDK_FILTER))) 315 316 ifeq ($(ENABLE_SJAVAC),yes) 317 # With sjavac enabled, excluded sources are not even considered for linking. 318 # Explicitly add the security sources to sourcepath for linking. 319 BUILD_JDK_SOURCEPATH:=$(patsubst %,-i$(SPACE)%.*,$(subst /,.,$(SECURITY_PKGS))) \ 320 -sourcepath $(JDK_TOPDIR)/src/share/classes 321 endif 322 323 $(eval $(call SetupJavaCompilation,BUILD_JDK,\ 324 SETUP:=GENERATE_JDKBYTECODE,\ 325 SRC:=$(JDK_TOPDIR)/src/share/classes \ 326 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes \ 327 $(MACOSX_SRC_DIRS) \ | 250 # be picked up by implicit compilation. On a rebuild, they are picked up 251 # and compiled. Exclude them here to produce the same rt.jar as the old 252 # build does when building just once. 253 EXFILES += javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \ 254 javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \ 255 javax/swing/plaf/nimbus/ScrollBarPainter.java \ 256 javax/swing/plaf/nimbus/SliderPainter.java \ 257 javax/swing/plaf/nimbus/SpinnerPainter.java \ 258 javax/swing/plaf/nimbus/SplitPanePainter.java \ 259 javax/swing/plaf/nimbus/TabbedPanePainter.java 260 261 # Acquire a list of files that should be copied straight over to the classes. 262 include CopyIntoClasses.gmk 263 # Now we have COPY_PATTERNS, COPY_FILES and COPY_EXTRA 264 265 ifndef OPENJDK 266 CLOSED_SRC_DIRS := $(JDK_TOPDIR)/src/closed/share/classes \ 267 $(JDK_TOPDIR)/src/closed/$(OPENJDK_TARGET_OS_API_DIR)/classes 268 endif 269 270 # No SCTP implementation on Mac OS X or AIX. These classes should be excluded. 271 SCTP_IMPL_CLASSES = \ 272 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/AssociationChange.java\ 273 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/AssociationImpl.java \ 274 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/PeerAddrChange.java \ 275 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/ResultContainer.java \ 276 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java \ 277 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java \ 278 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpNet.java \ 279 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpNotification.java \ 280 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java \ 281 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SendFailed.java \ 282 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/Shutdown.java 283 284 MACOSX_SRC_DIRS := 285 ifeq ($(OPENJDK_TARGET_OS), macosx) 286 MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/classes 287 288 # this files are duplicated in MACOSX_SRC_DIRS 289 EXFILES += $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java \ 290 $(JDK_TOPDIR)/src/solaris/classes/sun/java2d/BackBufferCapsProvider.java \ 291 $(JDK_TOPDIR)/src/solaris/classes/java/net/DefaultInterface.java \ 292 $(JDK_TOPDIR)/src/solaris/classes/java/lang/ClassLoaderHelper.java \ 293 $(JDK_TOPDIR)/src/solaris/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java \ 294 $(JDK_TOPDIR)/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java \ 295 EXFILES += $(SCTP_IMPL_CLASSES) 296 297 endif 298 299 # The security classes should not end up in the classes directory as that will prevent them 300 # from working when running the exploded jdk image. Compile them separately to a different 301 # directory from where the jars can be created. 302 SECURITY_PKGS := \ 303 com/oracle/security/ucrypto \ 304 com/sun/crypto/provider \ 305 javax/crypto \ 306 sun/security/ec \ 307 sun/security/internal \ 308 sun/security/mscapi \ 309 sun/security/pkcs11 \ 310 # 311 312 AIX_SRC_DIRS := 313 ifeq ($(OPENJDK_TARGET_OS),aix) 314 AIX_SRC_DIRS += $(JDK_TOPDIR)/src/aix/classes 315 316 # these files are duplicated in AIX_SRC_DIRS 317 EXFILES += $(SCTP_IMPL_CLASSES) 318 endif 319 320 # The JDK_USER_DEFINED_FILTER is a poor man's incremental build: by specifying 321 # JDK_FILTER at the make command line, only a subset of the JDK java files will 322 # be recompiled. If multiple paths are separated by comma, convert that into a 323 # space separated list. 324 JDK_USER_DEFINED_FILTER := $(strip $(subst $(COMMA),$(SPACE), $(JDK_FILTER))) 325 326 ifeq ($(ENABLE_SJAVAC),yes) 327 # With sjavac enabled, excluded sources are not even considered for linking. 328 # Explicitly add the security sources to sourcepath for linking. 329 BUILD_JDK_SOURCEPATH:=$(patsubst %,-i$(SPACE)%.*,$(subst /,.,$(SECURITY_PKGS))) \ 330 -sourcepath $(JDK_TOPDIR)/src/share/classes 331 endif 332 333 $(eval $(call SetupJavaCompilation,BUILD_JDK,\ 334 SETUP:=GENERATE_JDKBYTECODE,\ 335 SRC:=$(JDK_TOPDIR)/src/share/classes \ 336 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes \ 337 $(MACOSX_SRC_DIRS) \ |