CompileJavaModules.gmk revision 1695:dec57655571e
1166060Smarius# 2166060Smarius# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. 3166060Smarius# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4166060Smarius# 5166060Smarius# This code is free software; you can redistribute it and/or modify it 6166060Smarius# under the terms of the GNU General Public License version 2 only, as 7166060Smarius# published by the Free Software Foundation. Oracle designates this 8166060Smarius# particular file as subject to the "Classpath" exception as provided 9166060Smarius# by Oracle in the LICENSE file that accompanied this code. 10166060Smarius# 11166060Smarius# This code is distributed in the hope that it will be useful, but WITHOUT 12166060Smarius# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13166060Smarius# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14166060Smarius# version 2 for more details (a copy is included in the LICENSE file that 15166060Smarius# accompanied this code). 16166060Smarius# 17166060Smarius# You should have received a copy of the GNU General Public License version 18166060Smarius# 2 along with this work; if not, write to the Free Software Foundation, 19166060Smarius# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20166060Smarius# 21166060Smarius# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22166060Smarius# or visit www.oracle.com if you need additional information or have any 23166060Smarius# questions. 24166060Smarius# 25166060Smarius 26166060Smarius# This must be the first rule 27166060Smariusdefault: all 28166060Smarius 29166060Smariusinclude $(SPEC) 30166060Smariusinclude MakeBase.gmk 31166060Smariusinclude Modules.gmk 32166060Smariusinclude JavaCompilation.gmk 33166060Smariusinclude SetupJavaCompilers.gmk 34166060Smarius 35166060Smarius# Hook to include the corresponding custom file, if present. 36166060Smarius$(eval $(call IncludeCustomExtension, , CompileJavaModules.gmk)) 37166060Smarius 38166060Smarius################################################################################ 39166060Smarius# Module specific build settings 40166060Smarius 41166060Smariusjava.activation_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS 42166060Smarius 43166060Smarius################################################################################ 44178858Smarius 45166060Smariusjava.base_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*' 46166060Smariusjava.base_COPY := .icu .dat .spp content-types.properties hijrah-config-islamic-umalqura.properties 47166060Smariusjava.base_CLEAN := intrinsic.properties 48166060Smarius 49166060Smariusjava.base_EXCLUDES += java/lang/doc-files 50166060Smarius 51166060Smarius# Exclude BreakIterator classes that are just used in compile process to generate 52166060Smarius# data files and shouldn't go in the product 53166060Smariusjava.base_EXCLUDE_FILES += sun/text/resources/BreakIteratorRules.java 54166060Smarius 55166060Smariusifeq ($(OPENJDK_TARGET_OS), macosx) 56166060Smarius java.base_EXCLUDE_FILES += sun/nio/fs/GnomeFileTypeDetector.java 57166060Smariusendif 58166060Smarius 59166060Smariusifneq ($(OPENJDK_TARGET_OS), solaris) 60166060Smarius java.base_EXCLUDE_FILES += \ 61166060Smarius SolarisLoginModule.java \ 62166060Smarius SolarisSystem.java \ 63166060Smarius # 64166060Smariusendif 65166060Smarius 66172066Smariusifeq ($(filter $(OPENJDK_TARGET_OS), solaris macosx aix), ) 67166060Smarius # 68166060Smarius # only solaris, macosx and aix 69166060Smarius # 70166060Smarius java.base_EXCLUDE_FILES += sun/nio/fs/PollingWatchService.java 71166060Smariusendif 72166060Smarius 73166060Smariusifeq ($(OPENJDK_TARGET_OS), windows) 74166060Smarius java.base_EXCLUDE_FILES += \ 75166060Smarius sun/nio/ch/AbstractPollSelectorImpl.java \ 76166060Smarius sun/nio/ch/PollSelectorProvider.java \ 77166060Smarius sun/nio/ch/SimpleAsynchronousFileChannelImpl.java \ 78166060Smarius # 79166060Smariusendif 80166060Smarius 81166060Smarius################################################################################ 82166060Smarius 83166060Smariusjava.compiler_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*' 84166060Smarius 85166060Smarius################################################################################ 86166060Smarius 87166060Smariusjava.datatransfer_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*' 88166060Smariusjava.datatransfer_COPY := flavormap.properties 89166060Smarius 90166060Smarius################################################################################ 91166060Smarius 92166060Smariusjava.desktop_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*' 93166060Smariusjava.desktop_COPY := .gif .png .wav .txt .xml .css .pf 94166060Smariusjava.desktop_CLEAN := iio-plugin.properties cursors.properties 95166060Smarius 96166060Smariusjava.desktop_EXCLUDES += \ 97166060Smarius java/awt/doc-files \ 98166060Smarius javax/swing/doc-files \ 99166060Smarius javax/swing/text/doc-files \ 100166060Smarius javax/swing/plaf/synth/doc-files \ 101166060Smarius javax/swing/undo/doc-files \ 102225931Smarius sun/awt/X11/doc-files \ 103225931Smarius # 104166060Smarius 105225931Smarius# The exception handling of swing beaninfo 106166060Smarius# These resources violates the convention of having code and resources together under 107166060Smarius# $(JDK_TOPDIR)/src/.../classes directories 108166060Smarius$(eval $(call SetupCopyFiles,COPY_BEANINFO, \ 109166060Smarius SRC := $(JDK_TOPDIR)/make/data/swingbeaninfo/images, \ 110172066Smarius DEST := $(JDK_OUTPUTDIR)/modules/java.desktop/javax/swing/beaninfo/images, \ 111172066Smarius FILES := $(wildcard $(JDK_TOPDIR)/make/data/swingbeaninfo/images/*.gif))) 112178443Smarius 113166060Smariusjava.desktop_COPY_EXTRA += $(COPY_BEANINFO) 114166060Smarius 115166060Smariusjava.desktop_EXCLUDE_FILES += \ 116166060Smarius javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \ 117166060Smarius javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \ 118166060Smarius javax/swing/plaf/nimbus/ScrollBarPainter.java \ 119166060Smarius javax/swing/plaf/nimbus/SliderPainter.java \ 120166060Smarius javax/swing/plaf/nimbus/SpinnerPainter.java \ 121166060Smarius javax/swing/plaf/nimbus/SplitPanePainter.java \ 122166060Smarius javax/swing/plaf/nimbus/TabbedPanePainter.java \ 123166060Smarius sun/awt/resources/security-icon-bw16.png \ 124166060Smarius sun/awt/resources/security-icon-bw24.png \ 125166060Smarius sun/awt/resources/security-icon-bw32.png \ 126166060Smarius sun/awt/resources/security-icon-bw48.png \ 127166060Smarius sun/awt/resources/security-icon-interim16.png \ 128166060Smarius sun/awt/resources/security-icon-interim24.png \ 129166060Smarius sun/awt/resources/security-icon-interim32.png \ 130166060Smarius sun/awt/resources/security-icon-interim48.png \ 131166060Smarius sun/awt/resources/security-icon-yellow16.png \ 132166060Smarius sun/awt/resources/security-icon-yellow24.png \ 133166060Smarius sun/awt/resources/security-icon-yellow32.png \ 134225931Smarius sun/awt/resources/security-icon-yellow48.png \ 135166060Smarius sun/awt/X11/java-icon16.png \ 136166060Smarius sun/awt/X11/java-icon24.png \ 137166060Smarius sun/awt/X11/java-icon32.png \ 138166060Smarius sun/awt/X11/java-icon48.png \ 139166060Smarius .template \ 140190114Smarius # 141166060Smarius 142166060Smariusifeq ($(OPENJDK_TARGET_OS), macosx) 143166060Smarius # exclude all X11 on Mac. 144166060Smarius java.desktop_EXCLUDES += \ 145166060Smarius sun/awt/X11 \ 146166060Smarius sun/java2d/x11 \ 147166060Smarius sun/java2d/jules \ 148166060Smarius sun/java2d/xr \ 149166060Smarius com/sun/java/swing/plaf/gtk \ 150227848Smarius # 151166060Smarius java.desktop_EXCLUDE_FILES += \ 152166060Smarius $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/java2d/*.java) \ 153166060Smarius $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/java2d/opengl/*.java) \ 154166060Smarius $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/awt/*.java) \ 155166060Smarius $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/font/*.java) \ 156200874Smarius # 157166060Smariuselse 158172066Smarius # TBD: figure out how to eliminate this long list 159172066Smarius java.desktop_EXCLUDE_FILES += \ 160172066Smarius sun/awt/X11/ScreenFormat.java \ 161178443Smarius sun/awt/X11/XArc.java \ 162172066Smarius sun/awt/X11/XChar2b.java \ 163172066Smarius sun/awt/X11/XCharStruct.java \ 164172066Smarius sun/awt/X11/XClassHint.java \ 165172066Smarius sun/awt/X11/XComposeStatus.java \ 166172066Smarius sun/awt/X11/XExtCodes.java \ 167172066Smarius sun/awt/X11/XFontProp.java \ 168172066Smarius sun/awt/X11/XFontSetExtents.java \ 169172066Smarius sun/awt/X11/XFontStruct.java \ 170172066Smarius sun/awt/X11/XGCValues.java \ 171166060Smarius sun/awt/X11/XHostAddress.java \ 172166060Smarius sun/awt/X11/XIMCallback.java \ 173166060Smarius sun/awt/X11/XIMHotKeyTrigger.java \ 174166060Smarius sun/awt/X11/XIMHotKeyTriggers.java \ 175166060Smarius sun/awt/X11/XIMPreeditCaretCallbackStruct.java \ 176166060Smarius sun/awt/X11/XIMPreeditDrawCallbackStruct.java \ 177166060Smarius sun/awt/X11/XIMPreeditStateNotifyCallbackStruct.java \ 178166060Smarius sun/awt/X11/XIMStatusDrawCallbackStruct.java \ 179166060Smarius sun/awt/X11/XIMStringConversionCallbackStruct.java \ 180166060Smarius sun/awt/X11/XIMStringConversionText.java \ 181166060Smarius sun/awt/X11/XIMStyles.java \ 182166060Smarius sun/awt/X11/XIMText.java \ 183166060Smarius sun/awt/X11/XIMValuesList.java \ 184166060Smarius sun/awt/X11/XImage.java \ 185166060Smarius sun/awt/X11/XKeyboardControl.java \ 186166060Smarius sun/awt/X11/XKeyboardState.java \ 187166060Smarius sun/awt/X11/XOMCharSetList.java \ 188166060Smarius sun/awt/X11/XOMFontInfo.java \ 189172066Smarius sun/awt/X11/XOMOrientation.java \ 190166060Smarius sun/awt/X11/XPoint.java \ 191166060Smarius sun/awt/X11/XRectangle.java \ 192166060Smarius sun/awt/X11/XSegment.java \ 193166060Smarius sun/awt/X11/XStandardColormap.java \ 194172066Smarius sun/awt/X11/XTextItem.java \ 195166060Smarius sun/awt/X11/XTextItem16.java \ 196169175Smarius sun/awt/X11/XTextProperty.java \ 197294883Sjhibbits sun/awt/X11/XTimeCoord.java \ 198172066Smarius sun/awt/X11/XWindowChanges.java \ 199166060Smarius sun/awt/X11/XdbeSwapInfo.java \ 200166060Smarius sun/awt/X11/XmbTextItem.java \ 201166060Smarius sun/awt/X11/XwcTextItem.java 202166060Smariusendif 203166060Smarius 204166060Smariusifeq ($(OPENJDK_TARGET_OS), windows) 205169175Smarius java.desktop_EXCLUDES += com/sun/java/swing/plaf/gtk 206169175Smariusendif 207169175Smarius 208169175Smariusifdef BUILD_HEADLESS_ONLY 209166060Smarius java.desktop_EXCLUDES += sun/applet 210166060Smariusendif 211169175Smarius 212169175Smarius# Why is this in the open source tree? 213166060Smariusifdef OPENJDK 214166060Smarius java.desktop_EXCLUDES += sun/dc 215166060Smariusendif 216166060Smarius 217166060Smarius# Used on windows and macosx 218166060Smariusifeq ($(filter $(OPENJDK_TARGET_OS), windows macosx), ) 219166060Smarius java.desktop_EXCLUDE_FILES += sun/awt/AWTCharset.java 220166060Smariusendif 221166060Smarius 222166060Smarius# These files do not appear in the build result of the old build. This 223166060Smarius# is because they are generated sources, but the AUTO_JAVA_FILES won't 224166060Smarius# pick them up since they aren't generated when the source dirs are 225169175Smarius# searched and they aren't referenced by any other classes so they won't 226169175Smarius# be picked up by implicit compilation. On a rebuild, they are picked up 227169175Smarius# and compiled. Exclude them here to produce the same rt.jar as the old 228169175Smarius# build does when building just once. 229169175Smariusjava.desktop_EXCLUDE_FILES += \ 230169175Smarius javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \ 231169175Smarius javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \ 232166060Smarius javax/swing/plaf/nimbus/ScrollBarPainter.java \ 233166060Smarius javax/swing/plaf/nimbus/SliderPainter.java \ 234166060Smarius javax/swing/plaf/nimbus/SpinnerPainter.java \ 235166060Smarius javax/swing/plaf/nimbus/SplitPanePainter.java \ 236166060Smarius javax/swing/plaf/nimbus/TabbedPanePainter.java \ 237169175Smarius # 238166060Smarius 239169175Smarius################################################################################ 240169175Smarius 241166060Smariusjava.scripting_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' 242169175Smariusjava.scripting_COPY := .js 243169175Smariusjava.scripting_CLEAN := .properties 244166060Smarius 245169175Smarius################################################################################ 246166060Smarius 247190098Smariusjava.instrument_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' 248166060Smarius 249166060Smarius################################################################################ 250166060Smarius 251166060Smariusjava.logging_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*' 252166060Smarius 253166060Smarius################################################################################ 254166060Smarius 255166060Smariusjava.management_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*' 256169175Smarius 257169175Smarius################################################################################ 258166060Smarius 259169175Smariusjava.prefs_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' 260166060Smarius 261166060Smarius################################################################################ 262169175Smarius 263169175Smariusjava.transaction_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' 264169175Smarius 265166060Smarius################################################################################ 266166060Smarius 267166060Smariusjava.sql_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' 268166060Smariusjava.sql_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS 269166060Smarius 270166060Smarius################################################################################ 271166060Smarius 272166060Smariusjava.sql.rowset_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' 273166060Smariusjava.sql.rowset_CLEAN_FILES := $(wildcard \ 274166060Smarius $(JDK_TOPDIR)/src/java.sql.rowset/share/classes/com/sun/rowset/*.properties \ 275169175Smarius $(JDK_TOPDIR)/src/java.sql.rowset/share/classes/javax/sql/rowset/*.properties) 276166060Smarius 277169175Smarius################################################################################ 278166060Smarius 279166060Smariusjava.rmi_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' 280166060Smariusjava.rmi_CLEAN_FILES := $(wildcard \ 281172066Smarius $(JDK_TOPDIR)/src/java.rmi/share/classes/sun/rmi/registry/resources/*.properties \ 282172066Smarius $(JDK_TOPDIR)/src/java.rmi/share/classes/sun/rmi/server/resources/*.properties) 283166060Smarius 284166060Smarius################################################################################ 285166060Smarius 286166060Smariusjava.corba_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS 287166060Smarius 288166060Smariusjava.corba_COPY := .prp 289166060Smariusjava.corba_CLEAN := .properties 290166060Smarius 291166060Smariusjava.corba_EXCLUDES += \ 292166060Smarius com/sun/corba/se/PortableActivationIDL \ 293190098Smarius com/sun/tools/corba/se/logutil \ 294172066Smarius # 295172066Smariusjava.corba_EXCLUDE_FILES += \ 296190098Smarius com/sun/corba/se/impl/presentation/rmi/JNDIStateFactoryImpl.java \ 297172066Smarius com/sun/corba/se/spi/presentation/rmi/StubWrapper.java \ 298172066Smarius com/sun/org/omg/CORBA/IDLTypeOperations.java \ 299172066Smarius com/sun/org/omg/CORBA/IRObjectOperations.java \ 300172066Smarius org/omg/PortableInterceptor/UNKNOWN.java \ 301172066Smarius com/sun/tools/corba/se/idl/ResourceBundleUtil.java \ 302172066Smarius com/sun/corba/se/impl/presentation/rmi/jndi.properties \ 303172066Smarius # 304172066Smarius 305172066Smarius################################################################################ 306172066Smarius 307172066Smariusjava.xml_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS 308172066Smariusjava.xml_CLEAN := .properties 309172066Smarius 310172066Smarius################################################################################ 311172066Smarius 312172066Smariusjava.xml.bind_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS 313172066Smariusjava.xml.bind_CLEAN := .properties 314172066Smarius 315172066Smarius################################################################################ 316172066Smarius 317172066Smariusjava.xml.soap_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS 318172066Smariusjava.xml.soap_CLEAN := .properties 319190098Smarius 320190098Smarius################################################################################ 321190098Smarius 322190098Smariusjava.xml.ws_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS 323190098Smariusjava.xml.ws_COPY := .xml 324172066Smariusjava.xml.ws_CLEAN := .properties 325172066Smarius 326166060Smarius################################################################################ 327166060Smarius 328166060Smariusjava.naming_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' 329166060Smariusjava.naming_CLEAN := jndiprovider.properties 330166060Smarius 331166060Smarius################################################################################ 332166060Smarius 333166060Smariusjava.security.saaj_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' 334166060Smariusjava.security.saaj_CLEAN := .properties 335166060Smarius 336166060Smarius################################################################################ 337166060Smarius 338166060Smariusjava.security.jgss_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' 339166060Smarius 340166060Smarius################################################################################ 341166060Smarius 342166060Smariusjava.smartcardio_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' 343172066Smarius 344166060Smarius################################################################################ 345166060Smarius 346166060Smariusjava.xml.crypto_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' 347166060Smariusjava.xml.crypto_COPY := .dtd .xml 348166060Smariusjava.xml.crypto_CLEAN := .properties 349166060Smarius 350166060Smarius################################################################################ 351166060Smarius 352166060Smariusjdk.charsets_COPY := .dat 353190098Smarius 354166060Smarius################################################################################ 355166060Smarius 356166060Smariusjdk.compiler_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:-com.sun.tools.*' 357166060Smariusjdk.compiler_COPY := javax.tools.JavaCompilerTool 358166060Smariusjdk.compiler_CLEAN_FILES := $(wildcard \ 359190098Smarius $(patsubst %, $(JDK_TOPDIR)/src/jdk.compiler/share/classes/%/*.properties, \ 360166060Smarius sun/tools/serialver/resources)) 361166060Smarius 362166060Smarius################################################################################ 363172066Smarius 364166060Smariusjdk.internal.le_COPY := .properties 365166060Smarius 366166060Smarius################################################################################ 367166060Smarius 368166060Smariusjdk.jcmd_COPY := _options 369166060Smarius 370166060Smarius################################################################################ 371166060Smarius 372166060Smariusjdk.javadoc_COPY := .xml .css .js 373166060Smarius 374166060Smarius################################################################################ 375166060Smarius 376166060Smariusjdk.rmic_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS 377166060Smariusjdk.rmic_CLEAN := .properties 378166060Smarius 379166060Smarius################################################################################ 380166060Smarius 381166060Smarius# No SCTP implementation on Mac OS X or AIX. These classes should be excluded. 382166060SmariusSCTP_IMPL_CLASSES = \ 383166060Smarius $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/AssociationChange.java \ 384166060Smarius $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/AssociationImpl.java \ 385166060Smarius $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/PeerAddrChange.java \ 386166060Smarius $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/ResultContainer.java \ 387166060Smarius $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpChannelImpl.java \ 388166060Smarius $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java \ 389166060Smarius $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNet.java \ 390166060Smarius $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNotification.java \ 391166060Smarius $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java \ 392166060Smarius $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SendFailed.java \ 393166060Smarius $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/Shutdown.java 394166060Smarius 395166060Smariusifeq ($(OPENJDK_TARGET_OS), macosx) 396166060Smarius jdk.sctp_EXCLUDE_FILES += $(SCTP_IMPL_CLASSES) 397166060Smariusendif 398166060Smarius 399166060Smariusifeq ($(OPENJDK_TARGET_OS),aix) 400166060Smarius jdk.sctp_EXCLUDE_FILES += $(SCTP_IMPL_CLASSES) 401166060Smariusendif 402166060Smarius 403166060Smarius################################################################################ 404166060Smarius 405166060Smariusjdk.jconsole_COPY := .gif .png 406294883Sjhibbits 407166060Smariusjdk.jconsole_CLEAN_FILES := $(wildcard \ 408166060Smarius $(JDK_TOPDIR)/src/jdk.jconsole/share/classes/sun/tools/jconsole/resources/*.properties) 409166060Smarius 410166060Smarius################################################################################ 411166060Smarius 412166060Smariusjdk.jdeps_CLEAN_FILES := $(wildcard \ 413166060Smarius $(JDK_TOPDIR)/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/*.properties \ 414166060Smarius $(JDK_TOPDIR)/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/*.properties) 415295832Sjhibbits 416166060Smarius################################################################################ 417166060Smarius 418166060Smariusjdk.jdi_EXCLUDES += \ 419166060Smarius com/sun/tools/example/debug/bdi \ 420166060Smarius com/sun/tools/example/debug/event \ 421166060Smarius com/sun/tools/example/debug/gui \ 422166060Smarius com/sun/jdi/doc-files \ 423166060Smarius # 424166060Smarius 425166060Smariusjdk.jdi_EXCLUDE_FILES += jdi-overview.html 426166060Smarius 427166060Smarius################################################################################ 428166060Smarius 429166060Smariusjdk.dev_CLEAN_FILES := $(wildcard \ 430166060Smarius $(patsubst %, $(JDK_TOPDIR)/src/jdk.dev/share/classes/%/*.properties, \ 431166060Smarius com/sun/tools/script/shell)) 432166060Smarius 433166060Smariusjdk.dev_COPY := .js oqlhelp.html .txt 434166060Smarius 435166060Smarius################################################################################ 436166060Smarius 437166060Smariusjdk.jvmstat_COPY := aliasmap 438166060Smarius 439166060Smarius################################################################################ 440166060Smarius 441166060Smariusjdk.vm.ci_EXCLUDE_FILES += \ 442166060Smarius jdk/vm/ci/options/processor/OptionProcessor.java \ 443166060Smarius jdk/vm/ci/service/processor/ServiceProviderProcessor.java \ 444166060Smarius # 445166060Smarius 446166060Smariusjdk.vm.ci_EXCLUDES += \ 447166060Smarius META-INF/jvmci.options \ 448166060Smarius META-INF/jvmci.providers \ 449166060Smarius # 450166060Smarius 451166060Smarius################################################################################ 452166060Smarius 453166060Smariusjdk.xml.bind_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS 454166060Smariusjdk.xml.bind_CLEAN := .properties 455166060Smariusjdk.xml.bind_COPY := .xsd JAXBContextFactory.java ZeroOneBooleanAdapter.java 456166060Smarius 457166060Smarius################################################################################ 458172066Smarius 459172066Smariusjdk.xml.ws_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS 460172066Smariusjdk.xml.ws_CLEAN := .properties 461172066Smarius 462172066Smarius################################################################################ 463172066Smarius 464172066Smariussun.charsets_COPY := .dat 465172066Smarius 466172066Smarius################################################################################ 467172066Smarius 468172066Smariusjdk.localedata_COPY := _dict _th 469172066Smarius# Exclude BreakIterator classes that are just used in compile process to generate 470172066Smarius# data files and shouldn't go in the product 471172066Smariusjdk.localedata_EXCLUDE_FILES += sun/text/resources/th/BreakIteratorRules_th.java 472172066Smarius 473172066Smarius################################################################################ 474172066Smarius# Setup the compilation of each module 475172066Smarius# 476172066Smarius# Do not include nashorn src here since it needs to be compiled separately due 477172066Smarius# to nasgen. 478172066Smarius# 479178443Smarius# Order src dirs in order of override with the most important first. Generated 480178443Smarius# source before static source and platform specific source before shared. 481178443Smarius# 482178443Smarius# To use this variable, use $(call ALL_SRC_DIRS,module) with no space. 483178443SmariusGENERATED_SRC_DIRS += \ 484178443Smarius $(SUPPORT_OUTPUTDIR)/gensrc/$1 \ 485178443Smarius $(SUPPORT_OUTPUTDIR)/gensrc_no_docs/$1 \ 486178443Smarius # 487178443Smarius 488178443SmariusOS_SRC_DIRS += $(JDK_TOPDIR)/src/$1/$(OPENJDK_TARGET_OS)/classes 489178443Smariusifneq ($(OPENJDK_TARGET_OS), $(OPENJDK_TARGET_OS_TYPE)) 490166060Smarius OS_TYPE_SRC_DIRS += $(JDK_TOPDIR)/src/$1/$(OPENJDK_TARGET_OS_TYPE)/classes 491166060Smariusendif 492166901Spiso 493166060SmariusSHARE_SRC_DIRS += \ 494166060Smarius $(HOTSPOT_TOPDIR)/src/$1/share/classes \ 495172066Smarius $(JDK_TOPDIR)/src/$1/share/classes \ 496166060Smarius $(LANGTOOLS_TOPDIR)/src/$1/share/classes \ 497166060Smarius $(CORBA_TOPDIR)/src/$1/share/classes \ 498166060Smarius $(JAXP_TOPDIR)/src/$1/share/classes \ 499172066Smarius $(JAXWS_TOPDIR)/src/$1/share/classes \ 500172066Smarius $(NASHORN_TOPDIR)/src/$1/share/classes \ 501190098Smarius # 502172066Smarius 503172066SmariusALL_SRC_DIRS = \ 504172066Smarius $(GENERATED_SRC_DIRS) \ 505190098Smarius $(OS_SRC_DIRS) \ 506190098Smarius $(OS_TYPE_SRC_DIRS) \ 507172066Smarius $(SHARE_SRC_DIRS) \ 508172066Smarius # 509166060Smarius 510166060Smarius# Find all modules with java sources. Filter out nashorn since it needs to be 511225931Smarius# compiled separately. 512225931SmariusALL_JAVA_MODULES := $(filter-out jdk.scripting.nashorn, $(call FindJavaModules)) 513294883SjhibbitsJAVA_MODULES := $(ALL_JAVA_MODULES) 514294883Sjhibbits 515225931Smarius# The JDK_USER_DEFINED_FILTER is a poor man's incremental build: by specifying 516225931Smarius# JDK_FILTER at the make command line, only a subset of the JDK java files will 517225931Smarius# be recompiled. If multiple paths are separated by comma, convert that into a 518225931Smarius# space separated list. 519225931SmariusJDK_USER_DEFINED_FILTER := $(strip $(subst $(COMMA),$(SPACE), $(JDK_FILTER))) 520166060Smarius 521166060Smarius# Create an empty directory to set the bootclasspath to. 522166060SmariusEMPTY_DIR := $(SUPPORT_OUTPUTDIR)/empty-dir 523166060Smarius$(call MakeDir, $(EMPTY_DIR)) 524166060Smarius 525166060Smarius# This macro sets up compilation of a module and declares dependencies for it. 526166060Smarius# Param 1 - module name 527166060Smariusdefine SetupModuleCompilation 528166060Smarius # Find the module dependencies by parsing modules.list file 529166060Smarius $1_DEPS := $$(call FindDepsForModule, $1) 530166060Smarius 531166060Smarius $1_CLASSPATH := $$(foreach d,$$($1_DEPS), $$(if $$($$d_BIN), $$($$d_BIN), \ 532166060Smarius $(JDK_OUTPUTDIR)/modules/$$d)) 533166060Smarius # When crypto classes are prebuilt, need to look for classes already in 534166060Smarius # output dir. 535166060Smarius ifneq ($(BUILD_CRYPTO), true) 536166060Smarius $1_CLASSPATH += $(JDK_OUTPUTDIR)/modules/$1 537166060Smarius endif 538166060Smarius ifeq ($1, jdk.hotspot.agent) 539166060Smarius ## The source of this module is compiled elsewhere, hotspot, and imported. 540166060Smarius ## Service types are required in the classpath when compiing module-info 541166060Smarius $1_CLASSPATH := $$($1_CLASSPATH) $$(addprefix $(JDK_OUTPUTDIR)/modules/,jdk.hotspot.agent) 542166060Smarius endif 543166060Smarius $1_JAVAC_FLAGS := -bootclasspath $(EMPTY_DIR) -extdirs $(EMPTY_DIR) -endorseddirs $(EMPTY_DIR) $$($1_ADD_JAVAC_FLAGS) 544166060Smarius 545166060Smarius $$(eval $$(call SetupJavaCompilation,$1, \ 546166060Smarius SETUP := $$(if $$($1_SETUP), $$($1_SETUP), GENERATE_JDKBYTECODE), \ 547166060Smarius SRC := $$(if $$($1_SRC), $$($1_SRC), $$(wildcard $$(call ALL_SRC_DIRS,$1))), \ 548166060Smarius INCLUDES := $(JDK_USER_DEFINED_FILTER),\ 549166060Smarius BIN := $$(if $$($1_BIN), $$($1_BIN), $(JDK_OUTPUTDIR)/modules/$1), \ 550166060Smarius HEADERS := $(SUPPORT_OUTPUTDIR)/headers/$1, \ 551166060Smarius CLASSPATH := $$($1_CLASSPATH), \ 552166060Smarius ADD_JAVAC_FLAGS := $$($1_ADD_JAVAC_FLAGS) $$($1_JAVAC_FLAGS))) 553166060Smarius 554166060Smarius $1: $$($1) $$($1_COPY_EXTRA) 555166060Smarius 556166060Smarius # Declare dependencies between java compilation of different modules. 557166060Smarius # Since not all modules have been declared yet, or might be declared 558166060Smarius # in different invocations of this file, use the macro to find the 559166060Smarius # correct target file to depend on. 560166060Smarius # Only the javac compilation actually depends on other modules so limit 561166060Smarius # dependency declaration to that by using the *_COMPILE_TARGET variable. 562166060Smarius $$($1_COMPILE_TARGETS): $$(foreach d,$$($1_DEPS), \ 563166060Smarius $$(call SetupJavaCompilationCompileTarget, $$d, \ 564166060Smarius $$(if $$($$d_BIN), $$($$d_BIN), $(JDK_OUTPUTDIR)/modules/$$d))) 565172066Smariusendef 566166060Smarius 567166060Smarius# Setup compilation for each module 568166060Smarius$(foreach m,$(JAVA_MODULES),$(eval $(call SetupModuleCompilation,$m))) 569166060Smarius 570166060Smarius################################################################################ 571166060Smarius# Copy zh_HK properties files from zh_TW 572166060Smarius 573166060Smarius$(JDK_OUTPUTDIR)/modules/%_zh_HK.properties: $(JDK_OUTPUTDIR)/modules/%_zh_TW.properties 574166060Smarius $(install-file) 575166060Smarius 576166060Smariusdefine CreateHkTargets 577166060Smarius $(patsubst $(JDK_TOPDIR)/src/%, $(JDK_OUTPUTDIR)/modules/%, \ 578166060Smarius $(subst /share/classes,, \ 579166060Smarius $(subst _zh_TW,_zh_HK, $(filter %_zh_TW.properties, $1)))) 580166060Smariusendef 581166060Smarius 582166060Smariusjava.sql.rowset: $(call CreateHkTargets, $(java.sql.rowset_CLEAN_FILES)) 583166060Smariusjava.rmi: $(call CreateHkTargets, $(java.rmi_CLEAN_FILES)) 584166060Smarius 585166060Smariusall: $(JAVA_MODULES) 586166060Smarius 587166060Smarius.PHONY: all $(JAVA_MODULES) 588166060Smarius