annotate make/CompileJavaModules.gmk @ 36506:17612cee3530

8142968: Module System implementation Summary: Initial integration of JEP 200, JEP 260, JEP 261, and JEP 282 Reviewed-by: alanb, mchung, tbell Contributed-by: alan.bateman@oracle.com, alex.buckley@oracle.com, jonathan.gibbons@oracle.com, karen.kinnear@oracle.com, mandy.chung@oracle.com, mark.reinhold@oracle.com, erik.joelsson@oracle.com, chris.hegarty@oracle.com, christian.tornqvist@oracle.com, harold.seigel@oracle.com, igor.ignatyev@oracle.com, james.laskey@oracle.com, jean-francois.denise@oracle.com, sundararajan.athijegannathan@oracle.com
author alanb
date Thu, 17 Mar 2016 19:03:53 +0000
parents 68b6b8f114b6
children 402e5e40f6e5
rev   line source
chegar@25854 1 #
darcy@29313 2 # Copyright (c) 2014, 2015, 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
chegar@25854 58 ifeq ($(OPENJDK_TARGET_OS), macosx)
erikj@30095 59 java.base_EXCLUDE_FILES += sun/nio/fs/GnomeFileTypeDetector.java
chegar@25854 60 endif
chegar@25854 61
robm@34108 62 ifneq ($(filter solaris macosx linux windows,$(OPENJDK_TARGET_OS)), )
robm@34108 63 java.base_EXCLUDE_FILES += \
robm@34108 64 sun/nio/ch/AbstractPollSelectorImpl.java \
robm@34108 65 sun/nio/ch/PollSelectorImpl.java \
robm@34108 66 sun/nio/ch/PollSelectorProvider.java \
robm@34108 67 #
robm@34108 68 endif
robm@34108 69
chegar@25854 70 ifneq ($(OPENJDK_TARGET_OS), solaris)
chegar@25854 71 java.base_EXCLUDE_FILES += \
chegar@25854 72 SolarisLoginModule.java \
chegar@25854 73 SolarisSystem.java \
chegar@25854 74 #
chegar@25854 75 endif
chegar@25854 76
chegar@25854 77 ifeq ($(filter $(OPENJDK_TARGET_OS), solaris macosx aix), )
chegar@25854 78 #
chegar@25854 79 # only solaris, macosx and aix
chegar@25854 80 #
chegar@25854 81 java.base_EXCLUDE_FILES += sun/nio/fs/PollingWatchService.java
chegar@25854 82 endif
chegar@25854 83
chegar@25854 84 ifeq ($(OPENJDK_TARGET_OS), windows)
chegar@25854 85 java.base_EXCLUDE_FILES += \
chegar@25854 86 sun/nio/ch/SimpleAsynchronousFileChannelImpl.java \
chegar@25854 87 #
chegar@25854 88 endif
chegar@25854 89
chegar@25854 90 ################################################################################
chegar@25854 91
darcy@29437 92 java.compiler_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
darcy@29437 93
darcy@29437 94 ################################################################################
darcy@29437 95
darcy@29313 96 java.datatransfer_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
serb@28903 97 java.datatransfer_COPY := flavormap.properties
serb@28903 98
serb@28903 99 ################################################################################
serb@28903 100
darcy@30426 101 java.desktop_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
serb@28903 102 java.desktop_COPY := .gif .png .wav .txt .xml .css .pf
serb@29169 103 java.desktop_CLEAN := iio-plugin.properties cursors.properties
chegar@25854 104
chegar@25854 105 java.desktop_EXCLUDES += \
chegar@25854 106 java/awt/doc-files \
chegar@25854 107 javax/swing/doc-files \
chegar@25854 108 javax/swing/text/doc-files \
chegar@25854 109 javax/swing/plaf/synth/doc-files \
chegar@25854 110 javax/swing/undo/doc-files \
chegar@25854 111 sun/awt/X11/doc-files \
chegar@25854 112 #
chegar@25854 113
chegar@25854 114 # The exception handling of swing beaninfo
chegar@25854 115 # These resources violates the convention of having code and resources together under
chegar@25854 116 # $(JDK_TOPDIR)/src/.../classes directories
chegar@25854 117 $(eval $(call SetupCopyFiles,COPY_BEANINFO, \
chegar@25854 118 SRC := $(JDK_TOPDIR)/make/data/swingbeaninfo/images, \
chegar@25854 119 DEST := $(JDK_OUTPUTDIR)/modules/java.desktop/javax/swing/beaninfo/images, \
chegar@25854 120 FILES := $(wildcard $(JDK_TOPDIR)/make/data/swingbeaninfo/images/*.gif)))
chegar@25854 121
chegar@25854 122 java.desktop_COPY_EXTRA += $(COPY_BEANINFO)
chegar@25854 123
chegar@25854 124 java.desktop_EXCLUDE_FILES += \
chegar@25854 125 javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \
chegar@25854 126 javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \
chegar@25854 127 javax/swing/plaf/nimbus/ScrollBarPainter.java \
chegar@25854 128 javax/swing/plaf/nimbus/SliderPainter.java \
chegar@25854 129 javax/swing/plaf/nimbus/SpinnerPainter.java \
chegar@25854 130 javax/swing/plaf/nimbus/SplitPanePainter.java \
chegar@25854 131 javax/swing/plaf/nimbus/TabbedPanePainter.java \
chegar@25854 132 sun/awt/resources/security-icon-bw16.png \
chegar@25854 133 sun/awt/resources/security-icon-bw24.png \
chegar@25854 134 sun/awt/resources/security-icon-bw32.png \
chegar@25854 135 sun/awt/resources/security-icon-bw48.png \
chegar@25854 136 sun/awt/resources/security-icon-interim16.png \
chegar@25854 137 sun/awt/resources/security-icon-interim24.png \
chegar@25854 138 sun/awt/resources/security-icon-interim32.png \
chegar@25854 139 sun/awt/resources/security-icon-interim48.png \
chegar@25854 140 sun/awt/resources/security-icon-yellow16.png \
chegar@25854 141 sun/awt/resources/security-icon-yellow24.png \
chegar@25854 142 sun/awt/resources/security-icon-yellow32.png \
chegar@25854 143 sun/awt/resources/security-icon-yellow48.png \
chegar@25854 144 sun/awt/X11/java-icon16.png \
chegar@25854 145 sun/awt/X11/java-icon24.png \
chegar@25854 146 sun/awt/X11/java-icon32.png \
chegar@25854 147 sun/awt/X11/java-icon48.png \
chegar@25854 148 .template \
chegar@25854 149 #
chegar@25854 150
chegar@25854 151 ifeq ($(OPENJDK_TARGET_OS), macosx)
chegar@25854 152 # exclude all X11 on Mac.
prr@29671 153 java.desktop_EXCLUDES += \
prr@29671 154 sun/awt/X11 \
prr@29671 155 sun/java2d/x11 \
prr@29671 156 sun/java2d/jules \
prr@29671 157 sun/java2d/xr \
prr@29671 158 com/sun/java/swing/plaf/gtk \
prr@29671 159 #
chegar@25854 160 java.desktop_EXCLUDE_FILES += \
prr@29671 161 $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/java2d/*.java) \
prr@29671 162 $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/java2d/opengl/*.java) \
prr@29671 163 $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/awt/*.java) \
prr@29671 164 $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/font/*.java) \
chegar@25854 165 #
chegar@25854 166 else
chegar@25854 167 # TBD: figure out how to eliminate this long list
chegar@25854 168 java.desktop_EXCLUDE_FILES += \
chegar@25854 169 sun/awt/X11/ScreenFormat.java \
chegar@25854 170 sun/awt/X11/XArc.java \
chegar@25854 171 sun/awt/X11/XChar2b.java \
chegar@25854 172 sun/awt/X11/XCharStruct.java \
chegar@25854 173 sun/awt/X11/XClassHint.java \
chegar@25854 174 sun/awt/X11/XComposeStatus.java \
chegar@25854 175 sun/awt/X11/XExtCodes.java \
chegar@25854 176 sun/awt/X11/XFontProp.java \
chegar@25854 177 sun/awt/X11/XFontSetExtents.java \
chegar@25854 178 sun/awt/X11/XFontStruct.java \
chegar@25854 179 sun/awt/X11/XGCValues.java \
chegar@25854 180 sun/awt/X11/XHostAddress.java \
chegar@25854 181 sun/awt/X11/XIMCallback.java \
chegar@25854 182 sun/awt/X11/XIMHotKeyTrigger.java \
chegar@25854 183 sun/awt/X11/XIMHotKeyTriggers.java \
chegar@25854 184 sun/awt/X11/XIMPreeditCaretCallbackStruct.java \
chegar@25854 185 sun/awt/X11/XIMPreeditDrawCallbackStruct.java \
chegar@25854 186 sun/awt/X11/XIMPreeditStateNotifyCallbackStruct.java \
chegar@25854 187 sun/awt/X11/XIMStatusDrawCallbackStruct.java \
chegar@25854 188 sun/awt/X11/XIMStringConversionCallbackStruct.java \
chegar@25854 189 sun/awt/X11/XIMStringConversionText.java \
chegar@25854 190 sun/awt/X11/XIMStyles.java \
chegar@25854 191 sun/awt/X11/XIMText.java \
chegar@25854 192 sun/awt/X11/XIMValuesList.java \
chegar@25854 193 sun/awt/X11/XImage.java \
chegar@25854 194 sun/awt/X11/XKeyboardControl.java \
chegar@25854 195 sun/awt/X11/XKeyboardState.java \
chegar@25854 196 sun/awt/X11/XOMCharSetList.java \
chegar@25854 197 sun/awt/X11/XOMFontInfo.java \
chegar@25854 198 sun/awt/X11/XOMOrientation.java \
chegar@25854 199 sun/awt/X11/XPoint.java \
chegar@25854 200 sun/awt/X11/XRectangle.java \
chegar@25854 201 sun/awt/X11/XSegment.java \
chegar@25854 202 sun/awt/X11/XStandardColormap.java \
chegar@25854 203 sun/awt/X11/XTextItem.java \
chegar@25854 204 sun/awt/X11/XTextItem16.java \
chegar@25854 205 sun/awt/X11/XTextProperty.java \
chegar@25854 206 sun/awt/X11/XTimeCoord.java \
chegar@25854 207 sun/awt/X11/XWindowChanges.java \
chegar@25854 208 sun/awt/X11/XdbeSwapInfo.java \
chegar@25854 209 sun/awt/X11/XmbTextItem.java \
chegar@25854 210 sun/awt/X11/XwcTextItem.java
chegar@25854 211 endif
chegar@25854 212
chegar@25854 213 ifeq ($(OPENJDK_TARGET_OS), windows)
chegar@25854 214 java.desktop_EXCLUDES += com/sun/java/swing/plaf/gtk
chegar@25854 215 endif
chegar@25854 216
chegar@25854 217 ifdef BUILD_HEADLESS_ONLY
chegar@25854 218 java.desktop_EXCLUDES += sun/applet
chegar@25854 219 endif
chegar@25854 220
chegar@25854 221 # Why is this in the open source tree?
chegar@25854 222 ifdef OPENJDK
chegar@25854 223 java.desktop_EXCLUDES += sun/dc
chegar@25854 224 endif
chegar@25854 225
chegar@25854 226 # Used on windows and macosx
chegar@25854 227 ifeq ($(filter $(OPENJDK_TARGET_OS), windows macosx), )
chegar@25854 228 java.desktop_EXCLUDE_FILES += sun/awt/AWTCharset.java
chegar@25854 229 endif
chegar@25854 230
chegar@25854 231 # These files do not appear in the build result of the old build. This
chegar@25854 232 # is because they are generated sources, but the AUTO_JAVA_FILES won't
chegar@25854 233 # pick them up since they aren't generated when the source dirs are
chegar@25854 234 # searched and they aren't referenced by any other classes so they won't
chegar@25854 235 # be picked up by implicit compilation. On a rebuild, they are picked up
chegar@25854 236 # and compiled. Exclude them here to produce the same rt.jar as the old
chegar@25854 237 # build does when building just once.
chegar@25854 238 java.desktop_EXCLUDE_FILES += \
chegar@25854 239 javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \
chegar@25854 240 javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \
chegar@25854 241 javax/swing/plaf/nimbus/ScrollBarPainter.java \
chegar@25854 242 javax/swing/plaf/nimbus/SliderPainter.java \
chegar@25854 243 javax/swing/plaf/nimbus/SpinnerPainter.java \
chegar@25854 244 javax/swing/plaf/nimbus/SplitPanePainter.java \
chegar@25854 245 javax/swing/plaf/nimbus/TabbedPanePainter.java \
chegar@25854 246 #
chegar@25854 247
chegar@25854 248 ################################################################################
chegar@25854 249
darcy@29313 250 java.scripting_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
chegar@27560 251 java.scripting_COPY := .js
chegar@27560 252 java.scripting_CLEAN := .properties
chegar@27560 253
chegar@27560 254 ################################################################################
chegar@27560 255
darcy@29863 256 java.instrument_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
darcy@29863 257
darcy@29863 258 ################################################################################
darcy@29863 259
darcy@29863 260 java.logging_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
darcy@29863 261
darcy@29863 262 ################################################################################
darcy@29863 263
darcy@29863 264 java.management_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
darcy@29863 265
darcy@29863 266 ################################################################################
darcy@29863 267
darcy@29863 268 java.prefs_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
darcy@29863 269
darcy@29863 270 ################################################################################
darcy@29863 271
darcy@29863 272 java.transaction_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
darcy@29863 273
darcy@29863 274 ################################################################################
darcy@29863 275
darcy@29313 276 java.sql_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
chegar@25854 277 java.sql_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 278
chegar@25854 279 ################################################################################
chegar@25854 280
darcy@29313 281 java.sql.rowset_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
chegar@25854 282 java.sql.rowset_CLEAN_FILES := $(wildcard \
chegar@25854 283 $(JDK_TOPDIR)/src/java.sql.rowset/share/classes/com/sun/rowset/*.properties \
chegar@25854 284 $(JDK_TOPDIR)/src/java.sql.rowset/share/classes/javax/sql/rowset/*.properties)
chegar@25854 285
chegar@25854 286 ################################################################################
chegar@25854 287
darcy@29313 288 java.rmi_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
chegar@25854 289 java.rmi_CLEAN_FILES := $(wildcard \
chegar@25854 290 $(JDK_TOPDIR)/src/java.rmi/share/classes/sun/rmi/registry/resources/*.properties \
chegar@25854 291 $(JDK_TOPDIR)/src/java.rmi/share/classes/sun/rmi/server/resources/*.properties)
chegar@25854 292
chegar@25854 293 ################################################################################
chegar@25854 294
chegar@25854 295 java.corba_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 296
chegar@25854 297 java.corba_COPY := .prp
chegar@25854 298 java.corba_CLEAN := .properties
chegar@25854 299
rriggs@27397 300 java.corba_EXCLUDES += \
chegar@25854 301 com/sun/corba/se/PortableActivationIDL \
chegar@25854 302 com/sun/tools/corba/se/logutil \
chegar@25854 303 #
rriggs@27397 304 java.corba_EXCLUDE_FILES += \
chegar@25854 305 com/sun/corba/se/impl/presentation/rmi/JNDIStateFactoryImpl.java \
chegar@25854 306 com/sun/corba/se/spi/presentation/rmi/StubWrapper.java \
chegar@25854 307 com/sun/org/omg/CORBA/IDLTypeOperations.java \
chegar@25854 308 com/sun/org/omg/CORBA/IRObjectOperations.java \
chegar@25854 309 org/omg/PortableInterceptor/UNKNOWN.java \
chegar@25854 310 com/sun/tools/corba/se/idl/ResourceBundleUtil.java \
chegar@25854 311 com/sun/corba/se/impl/presentation/rmi/jndi.properties \
chegar@25854 312 #
chegar@25854 313
chegar@25854 314 ################################################################################
chegar@25854 315
chegar@25854 316 java.xml_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 317 java.xml_CLEAN := .properties
chegar@25854 318
chegar@25854 319 ################################################################################
chegar@25854 320
chegar@25854 321 java.xml.bind_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 322 java.xml.bind_CLEAN := .properties
chegar@25854 323
chegar@25854 324 ################################################################################
chegar@25854 325
chegar@25854 326 java.xml.soap_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 327 java.xml.soap_CLEAN := .properties
chegar@25854 328
chegar@25854 329 ################################################################################
chegar@25854 330
chegar@25854 331 java.xml.ws_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 332 java.xml.ws_COPY := .xml
chegar@25854 333 java.xml.ws_CLEAN := .properties
chegar@25854 334
chegar@25854 335 ################################################################################
chegar@25854 336
darcy@29313 337 java.naming_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
chegar@25854 338 java.naming_CLEAN := jndiprovider.properties
chegar@25854 339
chegar@25854 340 ################################################################################
chegar@25854 341
darcy@29313 342 java.security.saaj_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
chegar@25854 343 java.security.saaj_CLEAN := .properties
chegar@25854 344
chegar@25854 345 ################################################################################
chegar@25854 346
darcy@29863 347 java.security.jgss_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
darcy@29863 348
darcy@29863 349 ################################################################################
darcy@29863 350
darcy@29863 351 java.smartcardio_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
darcy@29863 352
darcy@29863 353 ################################################################################
darcy@29863 354
darcy@29313 355 java.xml.crypto_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
chegar@25854 356 java.xml.crypto_COPY := .dtd .xml
chegar@25854 357 java.xml.crypto_CLEAN := .properties
chegar@25854 358
chegar@25854 359 ################################################################################
chegar@25854 360
chegar@25854 361 jdk.charsets_COPY := .dat
chegar@25854 362
chegar@25854 363 ################################################################################
chegar@25854 364
alanb@36506 365 jdk.compiler_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:-com.sun.tools.*' \
alanb@36506 366 -XDstringConcat=inline
chegar@27560 367 jdk.compiler_CLEAN_FILES := $(wildcard \
chegar@27560 368 $(patsubst %, $(JDK_TOPDIR)/src/jdk.compiler/share/classes/%/*.properties, \
chegar@27560 369 sun/tools/serialver/resources))
chegar@25854 370
chegar@25854 371 ################################################################################
chegar@25854 372
erikj@34116 373 jdk.hotspot.agent_ADD_JAVAC_FLAGS := $(DISABLE_WARNINGS),-overrides
ysuenaga@36290 374 jdk.hotspot.agent_COPY := .gif .png sa.js .properties
erikj@34116 375
erikj@34116 376 ################################################################################
erikj@34116 377
jlahoda@31512 378 jdk.internal.le_COPY := .properties
jlahoda@31512 379
jlahoda@31512 380 ################################################################################
jlahoda@31512 381
ihse@27595 382 jdk.jcmd_COPY := _options
chegar@25854 383
chegar@25854 384 ################################################################################
chegar@25854 385
attila@34099 386 jdk.dynalink_CLEAN := .properties
attila@34099 387
attila@34099 388 ################################################################################
attila@34099 389
bpatel@33723 390 jdk.javadoc_COPY := .xml .css .js .png
chegar@25854 391
chegar@25854 392 ################################################################################
chegar@25854 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@30742 430 jdk.jdeps_CLEAN_FILES := $(wildcard \
mchung@30742 431 $(JDK_TOPDIR)/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/*.properties \
mchung@30742 432 $(JDK_TOPDIR)/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/*.properties)
mchung@30742 433
mchung@30742 434 ################################################################################
mchung@30742 435
rriggs@27397 436 jdk.jdi_EXCLUDES += \
chegar@25854 437 com/sun/tools/example/debug/bdi \
chegar@25854 438 com/sun/tools/example/debug/event \
chegar@25854 439 com/sun/tools/example/debug/gui \
chegar@25854 440 com/sun/jdi/doc-files \
chegar@25854 441 #
chegar@25854 442
chegar@25854 443 jdk.jdi_EXCLUDE_FILES += jdi-overview.html
chegar@25854 444
chegar@25854 445 ################################################################################
chegar@25854 446
chegar@25854 447 jdk.dev_CLEAN_FILES := $(wildcard \
chegar@25854 448 $(patsubst %, $(JDK_TOPDIR)/src/jdk.dev/share/classes/%/*.properties, \
chegar@25854 449 com/sun/tools/script/shell))
chegar@25854 450
chegar@25854 451 jdk.dev_COPY := .js oqlhelp.html .txt
chegar@25854 452
chegar@25854 453 ################################################################################
chegar@25854 454
chegar@25854 455 jdk.jvmstat_COPY := aliasmap
chegar@25854 456
chegar@25854 457 ################################################################################
chegar@25854 458
chegar@25854 459 jdk.xml.bind_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 460 jdk.xml.bind_CLEAN := .properties
chegar@25854 461 jdk.xml.bind_COPY := .xsd JAXBContextFactory.java ZeroOneBooleanAdapter.java
chegar@25854 462
chegar@25854 463 ################################################################################
chegar@25854 464
chegar@25854 465 jdk.xml.ws_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
chegar@25854 466 jdk.xml.ws_CLEAN := .properties
chegar@25854 467
chegar@25854 468 ################################################################################
chegar@25854 469
chegar@25854 470 sun.charsets_COPY := .dat
chegar@25854 471
chegar@25854 472 ################################################################################
chegar@25854 473
chegar@25854 474 jdk.localedata_COPY := _dict _th
chegar@25854 475 # Exclude BreakIterator classes that are just used in compile process to generate
chegar@25854 476 # data files and shouldn't go in the product
rriggs@27397 477 jdk.localedata_EXCLUDE_FILES += sun/text/resources/th/BreakIteratorRules_th.java
chegar@25854 478
chegar@25854 479 ################################################################################
erikj@34102 480 # Setup the compilation for the module
chegar@25854 481 #
chegar@25854 482 # Order src dirs in order of override with the most important first. Generated
chegar@25854 483 # source before static source and platform specific source before shared.
chegar@25854 484 #
chegar@25854 485 GENERATED_SRC_DIRS += \
alanb@36506 486 $(SUPPORT_OUTPUTDIR)/gensrc \
chegar@25854 487 #
chegar@25854 488
alanb@36506 489 TOP_SRC_DIRS += \
alanb@36506 490 $(HOTSPOT_TOPDIR)/src \
alanb@36506 491 $(CORBA_TOPDIR)/src \
alanb@36506 492 $(JDK_TOPDIR)/src \
alanb@36506 493 $(LANGTOOLS_TOPDIR)/src \
alanb@36506 494 $(JAXP_TOPDIR)/src \
alanb@36506 495 $(JAXWS_TOPDIR)/src \
alanb@36506 496 $(NASHORN_TOPDIR)/src \
chegar@25854 497 #
chegar@25854 498
alanb@36506 499 SRC_SUBDIRS += $(OPENJDK_TARGET_OS)/classes
alanb@36506 500 ifneq ($(OPENJDK_TARGET_OS), $(OPENJDK_TARGET_OS_TYPE))
alanb@36506 501 SRC_SUBDIRS += $(OPENJDK_TARGET_OS_TYPE)/classes
alanb@36506 502 endif
alanb@36506 503 SRC_SUBDIRS += share/classes
alanb@36506 504
alanb@36506 505 MODULE_SRC_DIRS := $(strip \
alanb@36506 506 $(addsuffix /$(MODULE), $(GENERATED_SRC_DIRS) $(IMPORT_MODULES_SRC)) \
alanb@36506 507 $(foreach sub, $(SRC_SUBDIRS), $(addsuffix /$(MODULE)/$(sub), $(TOP_SRC_DIRS))))
chegar@25854 508
chegar@25854 509 # The JDK_USER_DEFINED_FILTER is a poor man's incremental build: by specifying
chegar@25854 510 # JDK_FILTER at the make command line, only a subset of the JDK java files will
chegar@25854 511 # be recompiled. If multiple paths are separated by comma, convert that into a
chegar@25854 512 # space separated list.
chegar@25854 513 JDK_USER_DEFINED_FILTER := $(strip $(subst $(COMMA),$(SPACE), $(JDK_FILTER)))
chegar@25854 514
alanb@36506 515 # Rewrite the MODULE_SRC_DIRS with a wildcard for the module so that all module
alanb@36506 516 # source dirs are available on the path.
alanb@36506 517 MODULESOURCEPATH := $(subst $(SPACE),$(PATH_SEP),$(subst $(MODULE),*,$(MODULE_SRC_DIRS)))
alundblad@31014 518
alanb@36506 519 # Add imported modules to the moduleclasspath
alanb@36506 520 MODULECLASSPATH := $(subst $(SPACE),$(PATH_SEP), $(IMPORT_MODULES_CLASSES))
chegar@25854 521
alanb@36506 522 ifeq ($(MODULE), jdk.vm.ci)
alanb@36506 523 ## WORKAROUND jdk.vm.ci source structure issue
alanb@36506 524 JVMCI_MODULESOURCEPATH := $(MODULESOURCEPATH) \
alanb@36506 525 $(subst /$(MODULE)/,/*/, $(filter-out %processor/src, \
alanb@36506 526 $(wildcard $(HOTSPOT_TOPDIR)/src/jdk.vm.ci/share/classes/*/src)))
alanb@36506 527 MODULESOURCEPATH := $(subst $(SPACE),$(PATH_SEP), $(JVMCI_MODULESOURCEPATH))
alanb@36506 528 endif
alanb@36506 529
alanb@36506 530 # Make sure the generated source base dirs exist. Not all modules have generated
alanb@36506 531 # source in all of these directories and because of timing, all of them might not
alanb@36506 532 # exist at the time this makefile gets called. Javac will complain if there are
alanb@36506 533 # missing directories in the moduleclasspath.
alanb@36506 534 $(call MakeDir, $(GENERATED_SRC_DIRS))
chegar@25854 535
erikj@34102 536 $(eval $(call SetupJavaCompilation, $(MODULE), \
erikj@34102 537 SETUP := $(if $($(MODULE)_SETUP), $($(MODULE)_SETUP), GENERATE_JDKBYTECODE), \
alanb@36506 538 MODULE := $(MODULE), \
alanb@36506 539 SRC := $(wildcard $(MODULE_SRC_DIRS)), \
alanb@36506 540 INCLUDES := $(JDK_USER_DEFINED_FILTER),\
alanb@36506 541 BIN := $(if $($(MODULE)_BIN), $($(MODULE)_BIN), $(JDK_OUTPUTDIR)/modules), \
alanb@36506 542 HEADERS := $(SUPPORT_OUTPUTDIR)/headers, \
alanb@36506 543 ADD_JAVAC_FLAGS := \
alanb@36506 544 $($(MODULE)_ADD_JAVAC_FLAGS) \
alanb@36506 545 -modulesourcepath "$(MODULESOURCEPATH)" \
alanb@36506 546 $(if $(MODULECLASSPATH), -modulepath "$(MODULECLASSPATH)") \
alanb@36506 547 -system none, \
erikj@34102 548 ))
alanb@36506 549
erikj@34102 550 TARGETS += $($(MODULE)) $($(MODULE)_COPY_EXTRA)
chegar@25854 551
erikj@34102 552 # Declare dependencies between java compilations of different modules.
erikj@34102 553 # Since the other modules are declared in different invocations of this file,
erikj@34102 554 # use the macro to find the correct target file to depend on.
erikj@34102 555 # Only the javac compilation actually depends on other modules so limit
erikj@34102 556 # dependency declaration to that by using the *_COMPILE_TARGET variable.
alanb@36506 557 $($(MODULE)_COMPILE_TARGET): $(foreach d, $(call FindDepsForModule, $(MODULE)), \
erikj@34102 558 $(call SetupJavaCompilationCompileTarget, $d, \
erikj@34102 559 $(if $($d_BIN), $($d_BIN), $(JDK_OUTPUTDIR)/modules/$d)))
chegar@25854 560
chegar@25854 561 ################################################################################
chegar@25854 562 # Copy zh_HK properties files from zh_TW
chegar@25854 563
chegar@25854 564 $(JDK_OUTPUTDIR)/modules/%_zh_HK.properties: $(JDK_OUTPUTDIR)/modules/%_zh_TW.properties
chegar@25854 565 $(install-file)
chegar@25854 566
erikj@34102 567 CreateHkTargets = \
erikj@34102 568 $(patsubst $(JDK_TOPDIR)/src/%, $(JDK_OUTPUTDIR)/modules/%, \
erikj@34102 569 $(subst /share/classes,, \
erikj@34102 570 $(subst _zh_TW,_zh_HK, $(filter %_zh_TW.properties, $1))))
chegar@25854 571
erikj@34102 572 ifeq ($(MODULE), java.sql.rowset)
erikj@34102 573 TARGETS += $(call CreateHkTargets, $(java.sql.rowset_CLEAN_FILES))
erikj@34102 574 endif
chegar@25854 575
erikj@34102 576 ifeq ($(MODULE), java.rmi)
erikj@34102 577 TARGETS += $(call CreateHkTargets, $(java.rmi_CLEAN_FILES))
erikj@34102 578 endif
chegar@25854 579
erikj@34102 580 ################################################################################
alanb@36506 581 # If this is an imported module, copy the pre built classes and resources into
alanb@36506 582 # the modules output dir
alanb@36506 583
alanb@36506 584 ifneq ($(wildcard $(IMPORT_MODULES_CLASSES)/$(MODULE)), )
alanb@36506 585 $(JDK_OUTPUTDIR)/modules/$(MODULE)/_imported.marker: \
alanb@36506 586 $(call CacheFind, $(IMPORT_MODULES_CLASSES)/$(MODULE))
alanb@36506 587 $(RM) -r $(@D)
alanb@36506 588 $(MKDIR) -p $(@D)
alanb@36506 589 $(CP) -R $(IMPORT_MODULES_CLASSES)/$(MODULE)/* $(@D)/
alanb@36506 590 $(TOUCH) $@
alanb@36506 591
alanb@36506 592 TARGETS += $(JDK_OUTPUTDIR)/modules/$(MODULE)/_imported.marker
alanb@36506 593
alanb@36506 594 # Add this dependency to avoid a race between compiling module-info.java and
alanb@36506 595 # importing the classes.
alanb@36506 596 $($(MODULE)_COMPILE_TARGET): $(JDK_OUTPUTDIR)/modules/$(MODULE)/_imported.marker
alanb@36506 597 endif
alanb@36506 598
alanb@36506 599 ################################################################################
alanb@36506 600
alanb@36506 601 $(eval $(call IncludeCustomExtension, , CompileJavaModules-post.gmk))
alanb@36506 602
alanb@36506 603 ################################################################################
erikj@34102 604
erikj@34102 605 all: $(TARGETS)
erikj@34102 606
erikj@34102 607 .PHONY: all