annotate make/CompileJavaModules.gmk @ 44830:65c7a535e272

8177845: Need a mechanism to load Graal Reviewed-by: kvn, iveresov, mchung
author dnsimon
date Thu, 27 Apr 2017 23:06:33 -0700
parents 55bfd293eb16
children 3850de6acd8e b32e004375c1 957f1a2dc196
rev   line source
chegar@25854 1 #
gtriantafill@43395 2 # Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
chegar@25854 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
chegar@25854 4 #
chegar@25854 5 # This code is free software; you can redistribute it and/or modify it
chegar@25854 6 # under the terms of the GNU General Public License version 2 only, as
chegar@25854 7 # published by the Free Software Foundation. Oracle designates this
chegar@25854 8 # particular file as subject to the "Classpath" exception as provided
chegar@25854 9 # by Oracle in the LICENSE file that accompanied this code.
chegar@25854 10 #
chegar@25854 11 # This code is distributed in the hope that it will be useful, but WITHOUT
chegar@25854 12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
chegar@25854 13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
chegar@25854 14 # version 2 for more details (a copy is included in the LICENSE file that
chegar@25854 15 # accompanied this code).
chegar@25854 16 #
chegar@25854 17 # You should have received a copy of the GNU General Public License version
chegar@25854 18 # 2 along with this work; if not, write to the Free Software Foundation,
chegar@25854 19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
chegar@25854 20 #
chegar@25854 21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
chegar@25854 22 # or visit www.oracle.com if you need additional information or have any
chegar@25854 23 # questions.
chegar@25854 24 #
chegar@25854 25
chegar@25854 26 # This must be the first rule
chegar@25854 27 default: all
chegar@25854 28
chegar@25854 29 include $(SPEC)
chegar@25854 30 include MakeBase.gmk
erikj@26116 31 include Modules.gmk
chegar@25854 32 include JavaCompilation.gmk
erikj@26115 33 include SetupJavaCompilers.gmk
chegar@25854 34
chegar@25854 35 # Hook to include the corresponding custom file, if present.
chegar@25854 36 $(eval $(call IncludeCustomExtension, , CompileJavaModules.gmk))
chegar@25854 37
chegar@25854 38 ################################################################################
chegar@25854 39 # Module specific build settings
chegar@25854 40
chegar@25854 41 java.activation_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 42
chegar@25854 43 ################################################################################
chegar@25854 44
shade@35366 45 java.base_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*' -XDstringConcat=inline
rriggs@27240 46 java.base_COPY := .icu .dat .spp content-types.properties hijrah-config-islamic-umalqura.properties
chegar@25854 47 java.base_CLEAN := intrinsic.properties
chegar@25854 48
alanb@36506 49 java.base_EXCLUDE_FILES += \
alanb@36506 50 $(JDK_TOPDIR)/src/java.base/share/classes/jdk/internal/module/ModuleLoaderMap.java
alanb@36506 51
chegar@25854 52 java.base_EXCLUDES += java/lang/doc-files
chegar@25854 53
chegar@25854 54 # Exclude BreakIterator classes that are just used in compile process to generate
chegar@25854 55 # data files and shouldn't go in the product
chegar@25854 56 java.base_EXCLUDE_FILES += sun/text/resources/BreakIteratorRules.java
chegar@25854 57
robm@34108 58 ifneq ($(filter solaris macosx linux windows,$(OPENJDK_TARGET_OS)), )
robm@34108 59 java.base_EXCLUDE_FILES += \
robm@34108 60 sun/nio/ch/AbstractPollSelectorImpl.java \
robm@34108 61 sun/nio/ch/PollSelectorImpl.java \
robm@34108 62 sun/nio/ch/PollSelectorProvider.java \
robm@34108 63 #
robm@34108 64 endif
robm@34108 65
chegar@25854 66 ifneq ($(OPENJDK_TARGET_OS), solaris)
chegar@25854 67 java.base_EXCLUDE_FILES += \
chegar@25854 68 SolarisLoginModule.java \
chegar@25854 69 SolarisSystem.java \
chegar@25854 70 #
chegar@25854 71 endif
chegar@25854 72
chegar@25854 73 ifeq ($(filter $(OPENJDK_TARGET_OS), solaris macosx aix), )
chegar@25854 74 #
chegar@25854 75 # only solaris, macosx and aix
chegar@25854 76 #
chegar@25854 77 java.base_EXCLUDE_FILES += sun/nio/fs/PollingWatchService.java
chegar@25854 78 endif
chegar@25854 79
chegar@25854 80 ifeq ($(OPENJDK_TARGET_OS), windows)
chegar@25854 81 java.base_EXCLUDE_FILES += \
chegar@25854 82 sun/nio/ch/SimpleAsynchronousFileChannelImpl.java \
chegar@25854 83 #
chegar@25854 84 endif
chegar@25854 85
chegar@25854 86 ################################################################################
chegar@25854 87
darcy@43777 88 java.compiler_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
darcy@29437 89
darcy@29437 90 ################################################################################
darcy@29437 91
darcy@29313 92 java.datatransfer_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
serb@28903 93 java.datatransfer_COPY := flavormap.properties
serb@28903 94
serb@28903 95 ################################################################################
serb@28903 96
smarks@37399 97 java.desktop_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference \
prr@42137 98 '-Xdoclint/package:java.*,javax.*' -Xlint:exports
serb@28903 99 java.desktop_COPY := .gif .png .wav .txt .xml .css .pf
serb@29169 100 java.desktop_CLEAN := iio-plugin.properties cursors.properties
chegar@25854 101
chegar@25854 102 java.desktop_EXCLUDES += \
chegar@25854 103 java/awt/doc-files \
chegar@25854 104 javax/swing/doc-files \
chegar@25854 105 javax/swing/text/doc-files \
chegar@25854 106 javax/swing/plaf/synth/doc-files \
chegar@25854 107 javax/swing/undo/doc-files \
chegar@25854 108 sun/awt/X11/doc-files \
chegar@25854 109 #
chegar@25854 110
chegar@25854 111 java.desktop_EXCLUDE_FILES += \
chegar@25854 112 javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \
chegar@25854 113 javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \
chegar@25854 114 javax/swing/plaf/nimbus/ScrollBarPainter.java \
chegar@25854 115 javax/swing/plaf/nimbus/SliderPainter.java \
chegar@25854 116 javax/swing/plaf/nimbus/SpinnerPainter.java \
chegar@25854 117 javax/swing/plaf/nimbus/SplitPanePainter.java \
chegar@25854 118 javax/swing/plaf/nimbus/TabbedPanePainter.java \
chegar@25854 119 sun/awt/resources/security-icon-bw16.png \
chegar@25854 120 sun/awt/resources/security-icon-bw24.png \
chegar@25854 121 sun/awt/resources/security-icon-bw32.png \
chegar@25854 122 sun/awt/resources/security-icon-bw48.png \
chegar@25854 123 sun/awt/resources/security-icon-interim16.png \
chegar@25854 124 sun/awt/resources/security-icon-interim24.png \
chegar@25854 125 sun/awt/resources/security-icon-interim32.png \
chegar@25854 126 sun/awt/resources/security-icon-interim48.png \
chegar@25854 127 sun/awt/resources/security-icon-yellow16.png \
chegar@25854 128 sun/awt/resources/security-icon-yellow24.png \
chegar@25854 129 sun/awt/resources/security-icon-yellow32.png \
chegar@25854 130 sun/awt/resources/security-icon-yellow48.png \
chegar@25854 131 sun/awt/X11/java-icon16.png \
chegar@25854 132 sun/awt/X11/java-icon24.png \
chegar@25854 133 sun/awt/X11/java-icon32.png \
chegar@25854 134 sun/awt/X11/java-icon48.png \
chegar@25854 135 .template \
chegar@25854 136 #
chegar@25854 137
chegar@25854 138 ifeq ($(OPENJDK_TARGET_OS), macosx)
chegar@25854 139 # exclude all X11 on Mac.
prr@29671 140 java.desktop_EXCLUDES += \
prr@29671 141 sun/awt/X11 \
prr@29671 142 sun/java2d/x11 \
prr@29671 143 sun/java2d/jules \
prr@29671 144 sun/java2d/xr \
prr@29671 145 com/sun/java/swing/plaf/gtk \
prr@29671 146 #
chegar@25854 147 java.desktop_EXCLUDE_FILES += \
prr@29671 148 $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/java2d/*.java) \
prr@29671 149 $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/java2d/opengl/*.java) \
prr@29671 150 $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/awt/*.java) \
prr@29671 151 $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/font/*.java) \
chegar@25854 152 #
chegar@25854 153 else
chegar@25854 154 # TBD: figure out how to eliminate this long list
chegar@25854 155 java.desktop_EXCLUDE_FILES += \
chegar@25854 156 sun/awt/X11/ScreenFormat.java \
chegar@25854 157 sun/awt/X11/XArc.java \
chegar@25854 158 sun/awt/X11/XChar2b.java \
chegar@25854 159 sun/awt/X11/XCharStruct.java \
chegar@25854 160 sun/awt/X11/XClassHint.java \
chegar@25854 161 sun/awt/X11/XComposeStatus.java \
chegar@25854 162 sun/awt/X11/XExtCodes.java \
chegar@25854 163 sun/awt/X11/XFontProp.java \
chegar@25854 164 sun/awt/X11/XFontSetExtents.java \
chegar@25854 165 sun/awt/X11/XFontStruct.java \
chegar@25854 166 sun/awt/X11/XGCValues.java \
chegar@25854 167 sun/awt/X11/XHostAddress.java \
chegar@25854 168 sun/awt/X11/XIMCallback.java \
chegar@25854 169 sun/awt/X11/XIMHotKeyTrigger.java \
chegar@25854 170 sun/awt/X11/XIMHotKeyTriggers.java \
chegar@25854 171 sun/awt/X11/XIMPreeditCaretCallbackStruct.java \
chegar@25854 172 sun/awt/X11/XIMPreeditDrawCallbackStruct.java \
chegar@25854 173 sun/awt/X11/XIMPreeditStateNotifyCallbackStruct.java \
chegar@25854 174 sun/awt/X11/XIMStatusDrawCallbackStruct.java \
chegar@25854 175 sun/awt/X11/XIMStringConversionCallbackStruct.java \
chegar@25854 176 sun/awt/X11/XIMStringConversionText.java \
chegar@25854 177 sun/awt/X11/XIMStyles.java \
chegar@25854 178 sun/awt/X11/XIMText.java \
chegar@25854 179 sun/awt/X11/XIMValuesList.java \
chegar@25854 180 sun/awt/X11/XImage.java \
chegar@25854 181 sun/awt/X11/XKeyboardControl.java \
chegar@25854 182 sun/awt/X11/XKeyboardState.java \
chegar@25854 183 sun/awt/X11/XOMCharSetList.java \
chegar@25854 184 sun/awt/X11/XOMFontInfo.java \
chegar@25854 185 sun/awt/X11/XOMOrientation.java \
chegar@25854 186 sun/awt/X11/XPoint.java \
chegar@25854 187 sun/awt/X11/XRectangle.java \
chegar@25854 188 sun/awt/X11/XSegment.java \
chegar@25854 189 sun/awt/X11/XStandardColormap.java \
chegar@25854 190 sun/awt/X11/XTextItem.java \
chegar@25854 191 sun/awt/X11/XTextItem16.java \
chegar@25854 192 sun/awt/X11/XTextProperty.java \
chegar@25854 193 sun/awt/X11/XTimeCoord.java \
chegar@25854 194 sun/awt/X11/XWindowChanges.java \
chegar@25854 195 sun/awt/X11/XdbeSwapInfo.java \
chegar@25854 196 sun/awt/X11/XmbTextItem.java \
chegar@25854 197 sun/awt/X11/XwcTextItem.java
chegar@25854 198 endif
chegar@25854 199
chegar@25854 200 ifeq ($(OPENJDK_TARGET_OS), windows)
chegar@25854 201 java.desktop_EXCLUDES += com/sun/java/swing/plaf/gtk
chegar@25854 202 endif
chegar@25854 203
chegar@25854 204 ifdef BUILD_HEADLESS_ONLY
chegar@25854 205 java.desktop_EXCLUDES += sun/applet
chegar@25854 206 endif
chegar@25854 207
chegar@25854 208 # Used on windows and macosx
chegar@25854 209 ifeq ($(filter $(OPENJDK_TARGET_OS), windows macosx), )
chegar@25854 210 java.desktop_EXCLUDE_FILES += sun/awt/AWTCharset.java
chegar@25854 211 endif
chegar@25854 212
chegar@25854 213 # These files do not appear in the build result of the old build. This
chegar@25854 214 # is because they are generated sources, but the AUTO_JAVA_FILES won't
chegar@25854 215 # pick them up since they aren't generated when the source dirs are
chegar@25854 216 # searched and they aren't referenced by any other classes so they won't
chegar@25854 217 # be picked up by implicit compilation. On a rebuild, they are picked up
chegar@25854 218 # and compiled. Exclude them here to produce the same rt.jar as the old
chegar@25854 219 # build does when building just once.
chegar@25854 220 java.desktop_EXCLUDE_FILES += \
chegar@25854 221 javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \
chegar@25854 222 javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \
chegar@25854 223 javax/swing/plaf/nimbus/ScrollBarPainter.java \
chegar@25854 224 javax/swing/plaf/nimbus/SliderPainter.java \
chegar@25854 225 javax/swing/plaf/nimbus/SpinnerPainter.java \
chegar@25854 226 javax/swing/plaf/nimbus/SplitPanePainter.java \
chegar@25854 227 javax/swing/plaf/nimbus/TabbedPanePainter.java \
chegar@25854 228 #
chegar@25854 229
chegar@25854 230 ################################################################################
chegar@25854 231
darcy@29313 232 java.scripting_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
chegar@27560 233 java.scripting_COPY := .js
chegar@27560 234 java.scripting_CLEAN := .properties
chegar@27560 235
chegar@27560 236 ################################################################################
chegar@27560 237
darcy@29863 238 java.instrument_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
darcy@29863 239
darcy@29863 240 ################################################################################
darcy@29863 241
darcy@29863 242 java.logging_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
darcy@29863 243
darcy@29863 244 ################################################################################
darcy@29863 245
darcy@29863 246 java.management_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
darcy@29863 247
darcy@29863 248 ################################################################################
darcy@29863 249
darcy@43779 250 java.management.rmi_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:javax.*'
dfuchs@43384 251
dfuchs@43384 252 ################################################################################
dfuchs@43384 253
darcy@29863 254 java.prefs_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
darcy@29863 255
darcy@29863 256 ################################################################################
darcy@29863 257
darcy@29863 258 java.transaction_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
darcy@29863 259
darcy@29863 260 ################################################################################
darcy@29863 261
darcy@29313 262 java.sql_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
chegar@25854 263 java.sql_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 264
chegar@25854 265 ################################################################################
chegar@25854 266
darcy@29313 267 java.sql.rowset_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
chegar@25854 268 java.sql.rowset_CLEAN_FILES := $(wildcard \
chegar@25854 269 $(JDK_TOPDIR)/src/java.sql.rowset/share/classes/com/sun/rowset/*.properties \
chegar@25854 270 $(JDK_TOPDIR)/src/java.sql.rowset/share/classes/javax/sql/rowset/*.properties)
chegar@25854 271
chegar@25854 272 ################################################################################
chegar@25854 273
darcy@29313 274 java.rmi_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
chegar@25854 275 java.rmi_CLEAN_FILES := $(wildcard \
chegar@25854 276 $(JDK_TOPDIR)/src/java.rmi/share/classes/sun/rmi/registry/resources/*.properties \
chegar@25854 277 $(JDK_TOPDIR)/src/java.rmi/share/classes/sun/rmi/server/resources/*.properties)
chegar@25854 278
chegar@25854 279 ################################################################################
chegar@25854 280
chegar@25854 281 java.corba_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 282
chegar@25854 283 java.corba_COPY := .prp
chegar@25854 284 java.corba_CLEAN := .properties
chegar@25854 285
rriggs@27397 286 java.corba_EXCLUDES += \
chegar@25854 287 com/sun/corba/se/PortableActivationIDL \
chegar@25854 288 com/sun/tools/corba/se/logutil \
chegar@25854 289 #
rriggs@27397 290 java.corba_EXCLUDE_FILES += \
chegar@25854 291 com/sun/corba/se/impl/presentation/rmi/JNDIStateFactoryImpl.java \
chegar@25854 292 com/sun/corba/se/spi/presentation/rmi/StubWrapper.java \
chegar@25854 293 com/sun/org/omg/CORBA/IDLTypeOperations.java \
chegar@25854 294 com/sun/org/omg/CORBA/IRObjectOperations.java \
chegar@25854 295 org/omg/PortableInterceptor/UNKNOWN.java \
chegar@25854 296 com/sun/tools/corba/se/idl/ResourceBundleUtil.java \
chegar@25854 297 com/sun/corba/se/impl/presentation/rmi/jndi.properties \
chegar@25854 298 #
chegar@25854 299
chegar@25854 300 ################################################################################
chegar@25854 301
chegar@25854 302 java.xml_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 303 java.xml_CLEAN := .properties
chegar@25854 304
chegar@25854 305 ################################################################################
chegar@25854 306
chegar@25854 307 java.xml.bind_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 308 java.xml.bind_CLEAN := .properties
chegar@25854 309
chegar@25854 310 ################################################################################
chegar@25854 311
chegar@25854 312 java.xml.soap_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 313 java.xml.soap_CLEAN := .properties
chegar@25854 314
chegar@25854 315 ################################################################################
chegar@25854 316
chegar@25854 317 java.xml.ws_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 318 java.xml.ws_COPY := .xml
chegar@25854 319 java.xml.ws_CLEAN := .properties
chegar@25854 320
chegar@25854 321 ################################################################################
chegar@25854 322
jlahoda@41271 323 java.naming_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' -Xlint:-exports
chegar@25854 324 java.naming_CLEAN := jndiprovider.properties
chegar@25854 325
chegar@25854 326 ################################################################################
chegar@25854 327
darcy@29313 328 java.security.saaj_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
chegar@25854 329 java.security.saaj_CLEAN := .properties
chegar@25854 330
chegar@25854 331 ################################################################################
chegar@25854 332
darcy@29863 333 java.security.jgss_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
darcy@29863 334
darcy@29863 335 ################################################################################
darcy@29863 336
darcy@29863 337 java.smartcardio_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
darcy@29863 338
darcy@29863 339 ################################################################################
darcy@29863 340
darcy@29313 341 java.xml.crypto_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
chegar@25854 342 java.xml.crypto_COPY := .dtd .xml
chegar@25854 343 java.xml.crypto_CLEAN := .properties
chegar@25854 344
chegar@25854 345 ################################################################################
chegar@25854 346
chegar@25854 347 jdk.charsets_COPY := .dat
chegar@25854 348
chegar@25854 349 ################################################################################
chegar@25854 350
jlahoda@41271 351 ################################################################################
jlahoda@41271 352
jlahoda@41661 353 jdk.compiler_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:-com.sun.tools.*,-jdk.internal.*' \
alanb@36506 354 -XDstringConcat=inline
chegar@27560 355 jdk.compiler_CLEAN_FILES := $(wildcard \
chegar@27560 356 $(patsubst %, $(JDK_TOPDIR)/src/jdk.compiler/share/classes/%/*.properties, \
chegar@27560 357 sun/tools/serialver/resources))
chegar@25854 358
chegar@25854 359 ################################################################################
chegar@25854 360
erikj@34116 361 jdk.hotspot.agent_ADD_JAVAC_FLAGS := $(DISABLE_WARNINGS),-overrides
ysuenaga@36290 362 jdk.hotspot.agent_COPY := .gif .png sa.js .properties
erikj@34116 363
erikj@34116 364 ################################################################################
erikj@34116 365
rfield@41870 366 jdk.editpad_COPY := .properties
rfield@41870 367
rfield@41870 368 ################################################################################
rfield@41870 369
rfield@42859 370 jdk.jshell_COPY := .jsh .properties
rfield@42859 371
rfield@42859 372 ################################################################################
rfield@42859 373
jlahoda@31512 374 jdk.internal.le_COPY := .properties
jlahoda@31512 375
jlahoda@31512 376 ################################################################################
jlahoda@31512 377
ihse@27595 378 jdk.jcmd_COPY := _options
chegar@25854 379
chegar@25854 380 ################################################################################
chegar@25854 381
attila@34099 382 jdk.dynalink_CLEAN := .properties
attila@34099 383
attila@34099 384 ################################################################################
attila@34099 385
bpatel@33723 386 jdk.javadoc_COPY := .xml .css .js .png
chegar@25854 387
chegar@25854 388 ################################################################################
chegar@25854 389
sherman@43054 390 jdk.jartool_ADD_JAVAC_FLAGS := -XDstringConcat=inline
sherman@43054 391
sherman@43054 392 ################################################################################
sherman@43054 393
chegar@25854 394 jdk.rmic_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 395 jdk.rmic_CLEAN := .properties
chegar@25854 396
chegar@25854 397 ################################################################################
chegar@25854 398
chegar@25854 399 # No SCTP implementation on Mac OS X or AIX. These classes should be excluded.
chegar@25854 400 SCTP_IMPL_CLASSES = \
chegar@25854 401 $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/AssociationChange.java \
chegar@25854 402 $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/AssociationImpl.java \
chegar@25854 403 $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/PeerAddrChange.java \
chegar@25854 404 $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/ResultContainer.java \
chegar@25854 405 $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpChannelImpl.java \
chegar@25854 406 $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java \
chegar@25854 407 $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNet.java \
chegar@25854 408 $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNotification.java \
chegar@25854 409 $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java \
chegar@25854 410 $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SendFailed.java \
chegar@25854 411 $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/Shutdown.java
chegar@25854 412
chegar@25854 413 ifeq ($(OPENJDK_TARGET_OS), macosx)
rriggs@27397 414 jdk.sctp_EXCLUDE_FILES += $(SCTP_IMPL_CLASSES)
chegar@25854 415 endif
chegar@25854 416
chegar@25854 417 ifeq ($(OPENJDK_TARGET_OS),aix)
rriggs@27397 418 jdk.sctp_EXCLUDE_FILES += $(SCTP_IMPL_CLASSES)
chegar@25854 419 endif
chegar@25854 420
chegar@25854 421 ################################################################################
chegar@25854 422
chegar@25854 423 jdk.jconsole_COPY := .gif .png
chegar@25854 424
chegar@25854 425 jdk.jconsole_CLEAN_FILES := $(wildcard \
chegar@25854 426 $(JDK_TOPDIR)/src/jdk.jconsole/share/classes/sun/tools/jconsole/resources/*.properties)
chegar@25854 427
chegar@25854 428 ################################################################################
chegar@25854 429
mchung@39610 430 jdk.jdeps_COPY := .txt
mchung@39610 431
mchung@30742 432 jdk.jdeps_CLEAN_FILES := $(wildcard \
mchung@30742 433 $(JDK_TOPDIR)/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/*.properties \
mchung@30742 434 $(JDK_TOPDIR)/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/*.properties)
mchung@30742 435
mchung@30742 436 ################################################################################
mchung@30742 437
rriggs@27397 438 jdk.jdi_EXCLUDES += \
chegar@25854 439 com/sun/tools/example/debug/bdi \
chegar@25854 440 com/sun/tools/example/debug/event \
chegar@25854 441 com/sun/tools/example/debug/gui \
chegar@25854 442 com/sun/jdi/doc-files \
chegar@25854 443 #
chegar@25854 444
chegar@25854 445 jdk.jdi_EXCLUDE_FILES += jdi-overview.html
chegar@25854 446
chegar@25854 447 ################################################################################
chegar@25854 448
chegar@25854 449 jdk.dev_CLEAN_FILES := $(wildcard \
chegar@25854 450 $(patsubst %, $(JDK_TOPDIR)/src/jdk.dev/share/classes/%/*.properties, \
chegar@25854 451 com/sun/tools/script/shell))
chegar@25854 452
chegar@25854 453 jdk.dev_COPY := .js oqlhelp.html .txt
chegar@25854 454
chegar@25854 455 ################################################################################
chegar@25854 456
gtriantafill@43395 457 jdk.internal.jvmstat_COPY := aliasmap
chegar@25854 458
chegar@25854 459 ################################################################################
chegar@25854 460
kvn@42531 461 # -parameters provides method's parameters information in class file,
kvn@42531 462 # JVMCI compilers make use of that information for various sanity checks.
kvn@42531 463 # Don't use Indy strings concatenation to have good JVMCI startup performance.
dnsimon@44830 464 # The exports are needed since JVMCI is dynamically exported (see
dnsimon@44830 465 # jdk.vm.ci.services.internal.ReflectionAccessJDK::openJVMCITo).
kvn@42531 466
kvn@43925 467 jdk.internal.vm.ci_ADD_JAVAC_FLAGS := -parameters -Xlint:-exports -XDstringConcat=inline
kvn@42531 468
kvn@42531 469 ################################################################################
kvn@42531 470
dnsimon@44830 471 jdk.internal.vm.compiler_ADD_JAVAC_FLAGS := -parameters -XDstringConcat=inline \
dnsimon@44830 472 --add-exports jdk.internal.vm.ci/jdk.vm.ci.aarch64=jdk.internal.vm.compiler \
dnsimon@44830 473 --add-exports jdk.internal.vm.ci/jdk.vm.ci.amd64=jdk.internal.vm.compiler \
dnsimon@44830 474 --add-exports jdk.internal.vm.ci/jdk.vm.ci.code=jdk.internal.vm.compiler \
dnsimon@44830 475 --add-exports jdk.internal.vm.ci/jdk.vm.ci.code.site=jdk.internal.vm.compiler \
dnsimon@44830 476 --add-exports jdk.internal.vm.ci/jdk.vm.ci.code.stack=jdk.internal.vm.compiler \
dnsimon@44830 477 --add-exports jdk.internal.vm.ci/jdk.vm.ci.common=jdk.internal.vm.compiler \
dnsimon@44830 478 --add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot=jdk.internal.vm.compiler \
dnsimon@44830 479 --add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=jdk.internal.vm.compiler \
dnsimon@44830 480 --add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=jdk.internal.vm.compiler \
dnsimon@44830 481 --add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.sparc=jdk.internal.vm.compiler \
dnsimon@44830 482 --add-exports jdk.internal.vm.ci/jdk.vm.ci.meta=jdk.internal.vm.compiler \
dnsimon@44830 483 --add-exports jdk.internal.vm.ci/jdk.vm.ci.runtime=jdk.internal.vm.compiler \
dnsimon@44830 484 --add-exports jdk.internal.vm.ci/jdk.vm.ci.sparc=jdk.internal.vm.compiler \
dnsimon@44830 485 #
kvn@42531 486
kvn@43925 487 jdk.internal.vm.compiler_EXCLUDES += \
kvn@42531 488 org.graalvm.compiler.core.match.processor \
kvn@42531 489 org.graalvm.compiler.nodeinfo.processor \
kvn@42531 490 org.graalvm.compiler.options.processor \
kvn@42531 491 org.graalvm.compiler.serviceprovider.processor \
kvn@42531 492 org.graalvm.compiler.replacements.verifier \
kvn@42531 493 org.graalvm.compiler.api.directives.test \
kvn@42531 494 org.graalvm.compiler.api.test \
kvn@42531 495 org.graalvm.compiler.asm.aarch64.test \
kvn@42531 496 org.graalvm.compiler.asm.amd64.test \
kvn@42531 497 org.graalvm.compiler.asm.sparc.test \
kvn@42531 498 org.graalvm.compiler.asm.test \
kvn@42531 499 org.graalvm.compiler.core.amd64.test \
kvn@42531 500 org.graalvm.compiler.core.sparc.test \
kvn@42531 501 org.graalvm.compiler.core.test \
kvn@42531 502 org.graalvm.compiler.debug.test \
kvn@42531 503 org.graalvm.compiler.graph.test \
kvn@42531 504 org.graalvm.compiler.hotspot.amd64.test \
kvn@42531 505 org.graalvm.compiler.hotspot.lir.test \
kvn@42531 506 org.graalvm.compiler.hotspot.test \
kvn@42531 507 org.graalvm.compiler.jtt \
kvn@42531 508 org.graalvm.compiler.lir.jtt \
kvn@42531 509 org.graalvm.compiler.lir.test \
kvn@42531 510 org.graalvm.compiler.microbenchmarks \
kvn@42531 511 org.graalvm.compiler.nodes.test \
kvn@42531 512 org.graalvm.compiler.options.test \
kvn@42531 513 org.graalvm.compiler.phases.common.test \
kvn@42531 514 org.graalvm.compiler.replacements.test \
kvn@42531 515 org.graalvm.compiler.test \
kvn@42531 516 org.graalvm.compiler.virtual.bench \
kvn@42531 517 #
rfield@42302 518
rfield@42302 519 ################################################################################
rfield@42302 520
dnsimon@44830 521 # -parameters provides method's parameters information in class file,
dnsimon@44830 522 # JVMCI compilers make use of that information for various sanity checks.
dnsimon@44830 523 # Don't use Indy strings concatenation to have good JAOTC startup performance.
dnsimon@44830 524 # The exports are needed since JVMCI is dynamically exported (see
dnsimon@44830 525 # jdk.vm.ci.services.internal.ReflectionAccessJDK::openJVMCITo).
dnsimon@44830 526
dnsimon@44830 527 jdk.aot_ADD_JAVAC_FLAGS := -parameters -XDstringConcat=inline \
dnsimon@44830 528 --add-exports jdk.internal.vm.ci/jdk.vm.ci.aarch64=jdk.internal.vm.compiler,jdk.aot \
dnsimon@44830 529 --add-exports jdk.internal.vm.ci/jdk.vm.ci.amd64=jdk.internal.vm.compiler,jdk.aot \
dnsimon@44830 530 --add-exports jdk.internal.vm.ci/jdk.vm.ci.code=jdk.internal.vm.compiler,jdk.aot \
dnsimon@44830 531 --add-exports jdk.internal.vm.ci/jdk.vm.ci.code.site=jdk.internal.vm.compiler,jdk.aot \
dnsimon@44830 532 --add-exports jdk.internal.vm.ci/jdk.vm.ci.code.stack=jdk.internal.vm.compiler,jdk.aot \
dnsimon@44830 533 --add-exports jdk.internal.vm.ci/jdk.vm.ci.common=jdk.internal.vm.compiler,jdk.aot \
dnsimon@44830 534 --add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot=jdk.internal.vm.compiler,jdk.aot \
dnsimon@44830 535 --add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=jdk.internal.vm.compiler,jdk.aot \
dnsimon@44830 536 --add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=jdk.internal.vm.compiler,jdk.aot \
dnsimon@44830 537 --add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.sparc=jdk.internal.vm.compiler,jdk.aot \
dnsimon@44830 538 --add-exports jdk.internal.vm.ci/jdk.vm.ci.meta=jdk.internal.vm.compiler,jdk.aot \
dnsimon@44830 539 --add-exports jdk.internal.vm.ci/jdk.vm.ci.runtime=jdk.internal.vm.compiler,jdk.aot \
dnsimon@44830 540 --add-exports jdk.internal.vm.ci/jdk.vm.ci.sparc=jdk.internal.vm.compiler,jdk.aot \
dnsimon@44830 541 #
jlahoda@41271 542
jlahoda@41271 543 ################################################################################
jlahoda@41271 544
chegar@25854 545 jdk.xml.bind_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 546 jdk.xml.bind_CLEAN := .properties
chegar@25854 547 jdk.xml.bind_COPY := .xsd JAXBContextFactory.java ZeroOneBooleanAdapter.java
chegar@25854 548
chegar@25854 549 ################################################################################
chegar@25854 550
chegar@25854 551 jdk.xml.ws_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 552 jdk.xml.ws_CLEAN := .properties
chegar@25854 553
chegar@25854 554 ################################################################################
chegar@25854 555
chegar@25854 556 sun.charsets_COPY := .dat
chegar@25854 557
chegar@25854 558 ################################################################################
chegar@25854 559
chegar@25854 560 jdk.localedata_COPY := _dict _th
chegar@25854 561 # Exclude BreakIterator classes that are just used in compile process to generate
chegar@25854 562 # data files and shouldn't go in the product
naoto@40783 563 jdk.localedata_EXCLUDE_FILES += sun/text/resources/ext/BreakIteratorRules_th.java
chegar@25854 564
chegar@25854 565 ################################################################################
erikj@41658 566 # If this is an imported module that has prebuilt classes, only compile
erikj@41658 567 # module-info.java.
erikj@41658 568 ifneq ($(wildcard $(IMPORT_MODULES_CLASSES)/$(MODULE)), )
erikj@41658 569 $(MODULE)_INCLUDE_FILES := module-info.java
erikj@41658 570 endif
erikj@41658 571
erikj@41658 572 ################################################################################
erikj@34102 573 # Setup the compilation for the module
chegar@25854 574 #
erikj@37030 575 MODULE_SRC_DIRS := $(call FindModuleSrcDirs, $(MODULE))
chegar@25854 576
chegar@25854 577 # The JDK_USER_DEFINED_FILTER is a poor man's incremental build: by specifying
chegar@25854 578 # JDK_FILTER at the make command line, only a subset of the JDK java files will
chegar@25854 579 # be recompiled. If multiple paths are separated by comma, convert that into a
chegar@25854 580 # space separated list.
chegar@25854 581 JDK_USER_DEFINED_FILTER := $(strip $(subst $(COMMA),$(SPACE), $(JDK_FILTER)))
erikj@38847 582 ifeq ($(JDK_FILTER), )
erikj@38847 583 FAIL_NO_SRC := true
erikj@38847 584 else
erikj@38847 585 # When using JDK_FILTER, most module java compilations will end up finding
erikj@38847 586 # no source files. Don't let that fail the build.
erikj@38847 587 FAIL_NO_SRC := false
erikj@38847 588 endif
chegar@25854 589
erikj@37030 590 # Get the complete module source path.
erikj@37030 591 MODULESOURCEPATH := $(call GetModuleSrcPath)
alundblad@31014 592
erikj@37030 593 # Add imported modules to the modulepath
erikj@37030 594 MODULEPATH := $(call PathList, $(IMPORT_MODULES_CLASSES))
chegar@25854 595
kvn@43925 596 ifeq ($(MODULE), jdk.internal.vm.ci)
kvn@43925 597 ## WORKAROUND jdk.internal.vm.ci source structure issue
alanb@36506 598 JVMCI_MODULESOURCEPATH := $(MODULESOURCEPATH) \
alanb@36506 599 $(subst /$(MODULE)/,/*/, $(filter-out %processor/src, \
kvn@43925 600 $(wildcard $(HOTSPOT_TOPDIR)/src/$(MODULE)/share/classes/*/src)))
erikj@37030 601 MODULESOURCEPATH := $(call PathList, $(JVMCI_MODULESOURCEPATH))
alanb@36506 602 endif
alanb@36506 603
kvn@43925 604 ifeq ($(MODULE), jdk.internal.vm.compiler)
kvn@43925 605 ## WORKAROUND jdk.internal.vm.compiler source structure issue
kvn@42531 606 VM_COMPILER_MODULESOURCEPATH := $(MODULESOURCEPATH) \
kvn@42531 607 $(subst /$(MODULE)/,/*/, $(filter-out %processor/src %test/src %jtt/src %bench/src %microbenchmarks/src, \
kvn@42531 608 $(wildcard $(HOTSPOT_TOPDIR)/src/$(MODULE)/share/classes/*/src)))
kvn@42531 609 MODULESOURCEPATH := $(call PathList, $(VM_COMPILER_MODULESOURCEPATH))
kvn@42531 610 endif
kvn@42531 611
kvn@42532 612 ifeq ($(MODULE), jdk.aot)
kvn@42532 613 ## WORKAROUND jdk.aot source structure issue
kvn@42532 614 AOT_MODULESOURCEPATH := $(MODULESOURCEPATH) \
kvn@42532 615 $(subst /$(MODULE)/,/*/, $(filter-out %processor/src, \
kvn@42532 616 $(wildcard $(HOTSPOT_TOPDIR)/src/$(MODULE)/share/classes/*/src)))
kvn@42532 617 MODULESOURCEPATH := $(call PathList, $(AOT_MODULESOURCEPATH))
kvn@42532 618 endif
kvn@42532 619
erikj@34102 620 $(eval $(call SetupJavaCompilation, $(MODULE), \
erikj@34102 621 SETUP := $(if $($(MODULE)_SETUP), $($(MODULE)_SETUP), GENERATE_JDKBYTECODE), \
alanb@36506 622 MODULE := $(MODULE), \
alanb@36506 623 SRC := $(wildcard $(MODULE_SRC_DIRS)), \
erikj@38847 624 INCLUDES := $(JDK_USER_DEFINED_FILTER), \
erikj@38847 625 FAIL_NO_SRC := $(FAIL_NO_SRC), \
alanb@36506 626 BIN := $(if $($(MODULE)_BIN), $($(MODULE)_BIN), $(JDK_OUTPUTDIR)/modules), \
alanb@36506 627 HEADERS := $(SUPPORT_OUTPUTDIR)/headers, \
alanb@36506 628 ADD_JAVAC_FLAGS := \
alanb@36506 629 $($(MODULE)_ADD_JAVAC_FLAGS) \
mchung@40241 630 --module-source-path $(MODULESOURCEPATH) \
mchung@40241 631 --module-path $(MODULEPATH) \
mchung@40611 632 --system none, \
erikj@34102 633 ))
alanb@36506 634
erikj@34102 635 TARGETS += $($(MODULE)) $($(MODULE)_COPY_EXTRA)
chegar@25854 636
erikj@34102 637 # Declare dependencies between java compilations of different modules.
erikj@34102 638 # Since the other modules are declared in different invocations of this file,
erikj@34102 639 # use the macro to find the correct target file to depend on.
erikj@34102 640 # Only the javac compilation actually depends on other modules so limit
erikj@34102 641 # dependency declaration to that by using the *_COMPILE_TARGET variable.
alanb@36506 642 $($(MODULE)_COMPILE_TARGET): $(foreach d, $(call FindDepsForModule, $(MODULE)), \
erikj@34102 643 $(call SetupJavaCompilationCompileTarget, $d, \
erikj@34102 644 $(if $($d_BIN), $($d_BIN), $(JDK_OUTPUTDIR)/modules/$d)))
chegar@25854 645
chegar@25854 646 ################################################################################
chegar@25854 647 # Copy zh_HK properties files from zh_TW
chegar@25854 648
chegar@25854 649 $(JDK_OUTPUTDIR)/modules/%_zh_HK.properties: $(JDK_OUTPUTDIR)/modules/%_zh_TW.properties
chegar@25854 650 $(install-file)
chegar@25854 651
erikj@34102 652 CreateHkTargets = \
erikj@34102 653 $(patsubst $(JDK_TOPDIR)/src/%, $(JDK_OUTPUTDIR)/modules/%, \
erikj@34102 654 $(subst /share/classes,, \
erikj@34102 655 $(subst _zh_TW,_zh_HK, $(filter %_zh_TW.properties, $1))))
chegar@25854 656
erikj@34102 657 ifeq ($(MODULE), java.sql.rowset)
erikj@34102 658 TARGETS += $(call CreateHkTargets, $(java.sql.rowset_CLEAN_FILES))
erikj@34102 659 endif
chegar@25854 660
erikj@34102 661 ifeq ($(MODULE), java.rmi)
erikj@34102 662 TARGETS += $(call CreateHkTargets, $(java.rmi_CLEAN_FILES))
erikj@34102 663 endif
chegar@25854 664
erikj@34102 665 ################################################################################
alanb@36506 666 # If this is an imported module, copy the pre built classes and resources into
alanb@36506 667 # the modules output dir
alanb@36506 668
alanb@36506 669 ifneq ($(wildcard $(IMPORT_MODULES_CLASSES)/$(MODULE)), )
alanb@36506 670 $(JDK_OUTPUTDIR)/modules/$(MODULE)/_imported.marker: \
alanb@36506 671 $(call CacheFind, $(IMPORT_MODULES_CLASSES)/$(MODULE))
erikj@37037 672 $(call MakeDir, $(@D))
erikj@37037 673 # Do not delete marker and build meta data files
erikj@37037 674 $(RM) -r $(filter-out $(@D)/_%, $(wildcard $(@D)/*))
alanb@36506 675 $(CP) -R $(IMPORT_MODULES_CLASSES)/$(MODULE)/* $(@D)/
alanb@36506 676 $(TOUCH) $@
alanb@36506 677
alanb@36506 678 TARGETS += $(JDK_OUTPUTDIR)/modules/$(MODULE)/_imported.marker
alanb@36506 679
alanb@36506 680 # Add this dependency to avoid a race between compiling module-info.java and
alanb@36506 681 # importing the classes.
alanb@36506 682 $($(MODULE)_COMPILE_TARGET): $(JDK_OUTPUTDIR)/modules/$(MODULE)/_imported.marker
alanb@36506 683 endif
alanb@36506 684
alanb@36506 685 ################################################################################
alanb@36506 686
alanb@36506 687 $(eval $(call IncludeCustomExtension, , CompileJavaModules-post.gmk))
alanb@36506 688
alanb@36506 689 ################################################################################
erikj@34102 690
erikj@34102 691 all: $(TARGETS)
erikj@34102 692
erikj@34102 693 .PHONY: all