CompileJavaModules.gmk revision 2476:80194979fde3
11592Srgrimes#
21592Srgrimes# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
31592Srgrimes# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
41592Srgrimes#
51592Srgrimes# This code is free software; you can redistribute it and/or modify it
61592Srgrimes# under the terms of the GNU General Public License version 2 only, as
71592Srgrimes# published by the Free Software Foundation.  Oracle designates this
81592Srgrimes# particular file as subject to the "Classpath" exception as provided
91592Srgrimes# by Oracle in the LICENSE file that accompanied this code.
101592Srgrimes#
111592Srgrimes# This code is distributed in the hope that it will be useful, but WITHOUT
121592Srgrimes# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
131592Srgrimes# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
141592Srgrimes# version 2 for more details (a copy is included in the LICENSE file that
151592Srgrimes# accompanied this code).
161592Srgrimes#
171592Srgrimes# You should have received a copy of the GNU General Public License version
181592Srgrimes# 2 along with this work; if not, write to the Free Software Foundation,
191592Srgrimes# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
201592Srgrimes#
211592Srgrimes# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
221592Srgrimes# or visit www.oracle.com if you need additional information or have any
231592Srgrimes# questions.
241592Srgrimes#
251592Srgrimes
261592Srgrimes# This must be the first rule
271592Srgrimesdefault: all
281592Srgrimes
291592Srgrimesinclude $(SPEC)
301592Srgrimesinclude MakeBase.gmk
311592Srgrimesinclude Modules.gmk
321592Srgrimesinclude JavaCompilation.gmk
331592Srgrimesinclude SetupJavaCompilers.gmk
3417478Smarkm
351592Srgrimes# Hook to include the corresponding custom file, if present.
361592Srgrimes$(eval $(call IncludeCustomExtension, , CompileJavaModules.gmk))
371592Srgrimes
381592Srgrimes################################################################################
391592Srgrimes# Module specific build settings
4017478Smarkm
411592Srgrimesjava.activation_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
4231329Scharnier
4317478Smarkm################################################################################
441592Srgrimes
4531329Scharnierjava.base_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*' -XDstringConcat=inline
4631329Scharnierjava.base_COPY := .icu .dat .spp content-types.properties hijrah-config-islamic-umalqura.properties
4750476Speterjava.base_CLEAN := intrinsic.properties
481592Srgrimes
491592Srgrimesjava.base_EXCLUDE_FILES += \
501592Srgrimes  $(JDK_TOPDIR)/src/java.base/share/classes/jdk/internal/module/ModuleLoaderMap.java
511592Srgrimes
521592Srgrimesjava.base_EXCLUDES += java/lang/doc-files
531592Srgrimes
541592Srgrimes# Exclude BreakIterator classes that are just used in compile process to generate
5566907Swollman# data files and shouldn't go in the product
561592Srgrimesjava.base_EXCLUDE_FILES += sun/text/resources/BreakIteratorRules.java
5766907Swollman
5866907Swollmanifneq ($(filter solaris macosx linux windows,$(OPENJDK_TARGET_OS)), )
591592Srgrimes  java.base_EXCLUDE_FILES += \
601592Srgrimes      sun/nio/ch/AbstractPollSelectorImpl.java \
611592Srgrimes      sun/nio/ch/PollSelectorImpl.java \
621592Srgrimes      sun/nio/ch/PollSelectorProvider.java \
631592Srgrimes      #
648240Swollmanendif
651592Srgrimes
661592Srgrimesifneq ($(OPENJDK_TARGET_OS), solaris)
671592Srgrimes  java.base_EXCLUDE_FILES += \
681592Srgrimes      SolarisLoginModule.java \
691592Srgrimes      SolarisSystem.java \
701592Srgrimes      #
711592Srgrimesendif
721592Srgrimes
731592Srgrimesifeq ($(filter $(OPENJDK_TARGET_OS), solaris macosx aix), )
741592Srgrimes  #
751592Srgrimes  # only solaris, macosx and aix
761592Srgrimes  #
771592Srgrimes  java.base_EXCLUDE_FILES += sun/nio/fs/PollingWatchService.java
781592Srgrimesendif
791592Srgrimes
8025187Sdavidnifeq ($(OPENJDK_TARGET_OS), windows)
811592Srgrimes  java.base_EXCLUDE_FILES += \
821592Srgrimes      sun/nio/ch/SimpleAsynchronousFileChannelImpl.java \
831592Srgrimes      #
841592Srgrimesendif
851592Srgrimes
861592Srgrimes################################################################################
871592Srgrimes
881592Srgrimesjava.compiler_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
8913139Speter
9025101Sdavidn################################################################################
9125101Sdavidn
9225101Sdavidnjava.datatransfer_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
931592Srgrimesjava.datatransfer_COPY := flavormap.properties
943938Spst
953938Spst################################################################################
963938Spst
973938Spstjava.desktop_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference \
9851433Smarkm    '-Xdoclint/package:java.*,javax.*' -Xlint:exports
9951433Smarkmjava.desktop_COPY := .gif .png .wav .txt .xml .css .pf
10051433Smarkmjava.desktop_CLEAN := iio-plugin.properties cursors.properties
10151433Smarkm
1021592Srgrimesjava.desktop_EXCLUDES += \
1031592Srgrimes    java/awt/doc-files \
1041592Srgrimes    javax/swing/doc-files \
1051592Srgrimes    javax/swing/text/doc-files \
1061592Srgrimes    javax/swing/plaf/synth/doc-files \
1071592Srgrimes    javax/swing/undo/doc-files \
1081592Srgrimes    sun/awt/X11/doc-files \
1091592Srgrimes    #
1101592Srgrimes
11125165Sdavidnjava.desktop_EXCLUDE_FILES += \
11225165Sdavidn    javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \
1131592Srgrimes    javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \
11456668Sshin    javax/swing/plaf/nimbus/ScrollBarPainter.java \
11556668Sshin    javax/swing/plaf/nimbus/SliderPainter.java \
11656668Sshin    javax/swing/plaf/nimbus/SpinnerPainter.java \
11756668Sshin    javax/swing/plaf/nimbus/SplitPanePainter.java \
11856668Sshin    javax/swing/plaf/nimbus/TabbedPanePainter.java \
1191592Srgrimes    sun/awt/resources/security-icon-bw16.png \
1201592Srgrimes    sun/awt/resources/security-icon-bw24.png \
1211592Srgrimes    sun/awt/resources/security-icon-bw32.png \
12256668Sshin    sun/awt/resources/security-icon-bw48.png \
12356668Sshin    sun/awt/resources/security-icon-interim16.png \
12456668Sshin    sun/awt/resources/security-icon-interim24.png \
12556668Sshin    sun/awt/resources/security-icon-interim32.png \
12656668Sshin    sun/awt/resources/security-icon-interim48.png \
12756668Sshin    sun/awt/resources/security-icon-yellow16.png \
1281592Srgrimes    sun/awt/resources/security-icon-yellow24.png \
12915196Sdg    sun/awt/resources/security-icon-yellow32.png \
1301592Srgrimes    sun/awt/resources/security-icon-yellow48.png \
1311592Srgrimes    sun/awt/X11/java-icon16.png \
1321592Srgrimes    sun/awt/X11/java-icon24.png \
1331592Srgrimes    sun/awt/X11/java-icon32.png \
1341592Srgrimes    sun/awt/X11/java-icon48.png \
1351592Srgrimes    .template \
1361592Srgrimes    #
1371592Srgrimes
1389933Spstifeq ($(OPENJDK_TARGET_OS), macosx)
13917435Spst  # exclude all X11 on Mac.
14020042Storstenb  java.desktop_EXCLUDES += \
1411592Srgrimes      sun/awt/X11 \
14217435Spst      sun/java2d/x11 \
1436740Sguido      sun/java2d/jules \
1446740Sguido      sun/java2d/xr \
1451592Srgrimes      com/sun/java/swing/plaf/gtk \
1461592Srgrimes      #
1471592Srgrimes  java.desktop_EXCLUDE_FILES += \
1481592Srgrimes      $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/java2d/*.java) \
1491592Srgrimes      $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/java2d/opengl/*.java) \
1501592Srgrimes      $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/awt/*.java) \
15170102Sphk      $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/font/*.java) \
15270102Sphk      #
1531592Srgrimeselse
1541592Srgrimes  # TBD: figure out how to eliminate this long list
1551592Srgrimes  java.desktop_EXCLUDE_FILES += \
1561592Srgrimes      sun/awt/X11/ScreenFormat.java \
1571592Srgrimes      sun/awt/X11/XArc.java \
1581592Srgrimes      sun/awt/X11/XChar2b.java \
1591592Srgrimes      sun/awt/X11/XCharStruct.java \
1601592Srgrimes      sun/awt/X11/XClassHint.java \
1611592Srgrimes      sun/awt/X11/XComposeStatus.java \
16227650Sdavidn      sun/awt/X11/XExtCodes.java \
16325283Sdavidn      sun/awt/X11/XFontProp.java \
16425283Sdavidn      sun/awt/X11/XFontSetExtents.java \
16525283Sdavidn      sun/awt/X11/XFontStruct.java \
16656668Sshin      sun/awt/X11/XGCValues.java \
16756668Sshin      sun/awt/X11/XHostAddress.java \
16825283Sdavidn      sun/awt/X11/XIMCallback.java \
16925283Sdavidn      sun/awt/X11/XIMHotKeyTrigger.java \
17057124Sshin      sun/awt/X11/XIMHotKeyTriggers.java \
17125283Sdavidn      sun/awt/X11/XIMPreeditCaretCallbackStruct.java \
17225283Sdavidn      sun/awt/X11/XIMPreeditDrawCallbackStruct.java \
17325283Sdavidn      sun/awt/X11/XIMPreeditStateNotifyCallbackStruct.java \
17425283Sdavidn      sun/awt/X11/XIMStatusDrawCallbackStruct.java \
17525283Sdavidn      sun/awt/X11/XIMStringConversionCallbackStruct.java \
17625283Sdavidn      sun/awt/X11/XIMStringConversionText.java \
17725283Sdavidn      sun/awt/X11/XIMStyles.java \
17825283Sdavidn      sun/awt/X11/XIMText.java \
17945422Sbrian      sun/awt/X11/XIMValuesList.java \
1806740Sguido      sun/awt/X11/XImage.java \
18117435Spst      sun/awt/X11/XKeyboardControl.java \
18217435Spst      sun/awt/X11/XKeyboardState.java \
18317435Spst      sun/awt/X11/XOMCharSetList.java \
18417435Spst      sun/awt/X11/XOMFontInfo.java \
18551433Smarkm      sun/awt/X11/XOMOrientation.java \
18651433Smarkm      sun/awt/X11/XPoint.java \
18717478Smarkm      sun/awt/X11/XRectangle.java \
18817478Smarkm      sun/awt/X11/XSegment.java \
18917483Sjulian      sun/awt/X11/XStandardColormap.java \
19017483Sjulian      sun/awt/X11/XTextItem.java \
1911592Srgrimes      sun/awt/X11/XTextItem16.java \
1921592Srgrimes      sun/awt/X11/XTextProperty.java \
1931592Srgrimes      sun/awt/X11/XTimeCoord.java \
1941592Srgrimes      sun/awt/X11/XWindowChanges.java \
1951592Srgrimes      sun/awt/X11/XdbeSwapInfo.java \
1961592Srgrimes      sun/awt/X11/XmbTextItem.java \
1971592Srgrimes      sun/awt/X11/XwcTextItem.java
1981592Srgrimesendif
1991592Srgrimes
2001592Srgrimesifeq ($(OPENJDK_TARGET_OS), windows)
2011592Srgrimes  java.desktop_EXCLUDES += com/sun/java/swing/plaf/gtk
2021592Srgrimesendif
20313139Speter
2041592Srgrimesifdef BUILD_HEADLESS_ONLY
2051592Srgrimes  java.desktop_EXCLUDES += sun/applet
20613139Speterendif
2071592Srgrimes
2081592Srgrimes# Used on windows and macosx
2091592Srgrimesifeq ($(filter $(OPENJDK_TARGET_OS), windows macosx), )
2102193Sguido  java.desktop_EXCLUDE_FILES += sun/awt/AWTCharset.java
2112193Sguidoendif
2122193Sguido
2132193Sguido# These files do not appear in the build result of the old build. This
2141592Srgrimes# is because they are generated sources, but the AUTO_JAVA_FILES won't
2151592Srgrimes# pick them up since they aren't generated when the source dirs are
2161592Srgrimes# searched and they aren't referenced by any other classes so they won't
2171592Srgrimes# be picked up by implicit compilation. On a rebuild, they are picked up
2181592Srgrimes# and compiled. Exclude them here to produce the same rt.jar as the old
2191592Srgrimes# build does when building just once.
2201592Srgrimesjava.desktop_EXCLUDE_FILES += \
2211592Srgrimes    javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \
2221592Srgrimes    javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \
2231592Srgrimes    javax/swing/plaf/nimbus/ScrollBarPainter.java \
2241592Srgrimes    javax/swing/plaf/nimbus/SliderPainter.java \
2251592Srgrimes    javax/swing/plaf/nimbus/SpinnerPainter.java \
2261592Srgrimes    javax/swing/plaf/nimbus/SplitPanePainter.java \
2271592Srgrimes    javax/swing/plaf/nimbus/TabbedPanePainter.java \
2281592Srgrimes    #
2291592Srgrimes
2301592Srgrimes################################################################################
2311592Srgrimes
2321592Srgrimesjava.scripting_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
23325283Sdavidnjava.scripting_COPY := .js
23425283Sdavidnjava.scripting_CLEAN := .properties
23556668Sshin
23625283Sdavidn################################################################################
2371592Srgrimes
2381592Srgrimesjava.instrument_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
23936349Ssteve
2401592Srgrimes################################################################################
24156668Sshin
2421592Srgrimesjava.logging_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
2431592Srgrimes
2441592Srgrimes################################################################################
2451592Srgrimes
2461592Srgrimesjava.management_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
2471592Srgrimes
2488240Swollman################################################################################
2491592Srgrimes
2501592Srgrimesjava.prefs_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
2511592Srgrimes
25215196Sdg################################################################################
25317433Spst
2541592Srgrimesjava.transaction_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
2551592Srgrimes
2561592Srgrimes################################################################################
2571592Srgrimes
2581592Srgrimesjava.sql_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
2591592Srgrimesjava.sql_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
2601592Srgrimes
2611592Srgrimes################################################################################
2621592Srgrimes
2631592Srgrimesjava.sql.rowset_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
2641592Srgrimesjava.sql.rowset_CLEAN_FILES := $(wildcard \
2651592Srgrimes    $(JDK_TOPDIR)/src/java.sql.rowset/share/classes/com/sun/rowset/*.properties \
2661592Srgrimes    $(JDK_TOPDIR)/src/java.sql.rowset/share/classes/javax/sql/rowset/*.properties)
2671592Srgrimes
2681592Srgrimes################################################################################
2691592Srgrimes
2701592Srgrimesjava.rmi_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
2711592Srgrimesjava.rmi_CLEAN_FILES := $(wildcard \
2721592Srgrimes    $(JDK_TOPDIR)/src/java.rmi/share/classes/sun/rmi/registry/resources/*.properties \
2731592Srgrimes    $(JDK_TOPDIR)/src/java.rmi/share/classes/sun/rmi/server/resources/*.properties)
2741592Srgrimes
2751592Srgrimes################################################################################
2761592Srgrimes
27756668Sshinjava.corba_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
27856668Sshin
27956668Sshinjava.corba_COPY := .prp
28056668Sshinjava.corba_CLEAN := .properties
2811592Srgrimes
28236105Sachejava.corba_EXCLUDES += \
28336105Sache    com/sun/corba/se/PortableActivationIDL \
28413139Speter    com/sun/tools/corba/se/logutil \
2851592Srgrimes    #
2861592Srgrimesjava.corba_EXCLUDE_FILES += \
2871592Srgrimes    com/sun/corba/se/impl/presentation/rmi/JNDIStateFactoryImpl.java \
2881592Srgrimes    com/sun/corba/se/spi/presentation/rmi/StubWrapper.java \
2891592Srgrimes    com/sun/org/omg/CORBA/IDLTypeOperations.java \
2901592Srgrimes    com/sun/org/omg/CORBA/IRObjectOperations.java \
2911592Srgrimes    org/omg/PortableInterceptor/UNKNOWN.java \
29213139Speter    com/sun/tools/corba/se/idl/ResourceBundleUtil.java \
2931592Srgrimes    com/sun/corba/se/impl/presentation/rmi/jndi.properties \
2946740Sguido    #
29570102Sphk
2961592Srgrimes################################################################################
29715196Sdg
29815196Sdgjava.xml_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
29915196Sdgjava.xml_CLEAN := .properties
30015196Sdg
3011592Srgrimes################################################################################
30217435Spst
3031592Srgrimesjava.xml.bind_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
3041592Srgrimesjava.xml.bind_CLEAN := .properties
30570102Sphk
30670102Sphk################################################################################
30770102Sphk
30870102Sphkjava.xml.soap_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
3091592Srgrimesjava.xml.soap_CLEAN := .properties
3101592Srgrimes
3111592Srgrimes################################################################################
3121592Srgrimes
31370102Sphkjava.xml.ws_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
31470102Sphkjava.xml.ws_COPY := .xml
31570102Sphkjava.xml.ws_CLEAN := .properties
31670102Sphk
31717435Spst################################################################################
31817435Spst
3199933Spstjava.naming_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' -Xlint:-exports
3209933Spstjava.naming_CLEAN := jndiprovider.properties
3216740Sguido
32217435Spst################################################################################
3236740Sguido
32417435Spstjava.security.saaj_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
3251592Srgrimesjava.security.saaj_CLEAN := .properties
3261592Srgrimes
3271592Srgrimes################################################################################
3281592Srgrimes
3291592Srgrimesjava.security.jgss_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
3301592Srgrimes
33117435Spst################################################################################
33217435Spst
33317435Spstjava.smartcardio_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
33417435Spst
33517435Spst################################################################################
33617435Spst
33717435Spstjava.xml.crypto_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
33817435Spstjava.xml.crypto_COPY := .dtd .xml
33917435Spstjava.xml.crypto_CLEAN := .properties
34017435Spst
34117483Sjulian################################################################################
34256668Sshin
34317483Sjulianjdk.charsets_COPY := .dat
34417483Sjulian
34517483Sjulian################################################################################
34617483Sjulian
34717483Sjulian################################################################################
34817483Sjulian
3491592Srgrimesjdk.compiler_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:-com.sun.tools.*,-jdk.internal.*' \
3501592Srgrimes    -XDstringConcat=inline
3511592Srgrimesjdk.compiler_CLEAN_FILES := $(wildcard \
3521592Srgrimes    $(patsubst %, $(JDK_TOPDIR)/src/jdk.compiler/share/classes/%/*.properties, \
3531592Srgrimes        sun/tools/serialver/resources))
3541592Srgrimes
3551592Srgrimes################################################################################
3561592Srgrimes
3571592Srgrimesjdk.hotspot.agent_ADD_JAVAC_FLAGS := $(DISABLE_WARNINGS),-overrides
3581592Srgrimesjdk.hotspot.agent_COPY := .gif .png sa.js .properties
3591592Srgrimes
36020042Storstenb################################################################################
36120042Storstenb
36220042Storstenbjdk.editpad_COPY := .properties
3631592Srgrimes
3641592Srgrimes################################################################################
3651592Srgrimes
3661592Srgrimesjdk.jshell_COPY := .jsh .properties
3671592Srgrimes
36856668Sshin################################################################################
36956668Sshin
37056668Sshinjdk.internal.le_COPY := .properties
37156668Sshin
37256668Sshin################################################################################
37356668Sshin
37456668Sshinjdk.jcmd_COPY := _options
37556668Sshin
37656668Sshin################################################################################
37756668Sshin
3781592Srgrimesjdk.dynalink_CLEAN := .properties
3791592Srgrimes
3801592Srgrimes################################################################################
3811592Srgrimes
3821592Srgrimesjdk.javadoc_COPY := .xml .css .js .png
38315196Sdg
38425283Sdavidn################################################################################
38525283Sdavidn
38625283Sdavidnjdk.rmic_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
3871592Srgrimesjdk.rmic_CLEAN := .properties
38815196Sdg
38915196Sdg################################################################################
39015196Sdg
39115196Sdg# No SCTP implementation on Mac OS X or AIX. These classes should be excluded.
39215196SdgSCTP_IMPL_CLASSES = \
39315196Sdg    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/AssociationChange.java \
39415196Sdg    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/AssociationImpl.java \
39515196Sdg    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/PeerAddrChange.java \
39615196Sdg    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/ResultContainer.java \
39756668Sshin    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpChannelImpl.java \
39815196Sdg    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java \
39915196Sdg    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNet.java \
40015196Sdg    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNotification.java \
40115196Sdg    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java \
40215196Sdg    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SendFailed.java \
40315196Sdg    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/Shutdown.java
40415196Sdg
40515196Sdgifeq ($(OPENJDK_TARGET_OS), macosx)
40615196Sdg  jdk.sctp_EXCLUDE_FILES += $(SCTP_IMPL_CLASSES)
40756668Sshinendif
40856668Sshin
40956668Sshinifeq ($(OPENJDK_TARGET_OS),aix)
41056668Sshin  jdk.sctp_EXCLUDE_FILES += $(SCTP_IMPL_CLASSES)
41156668Sshinendif
41256668Sshin
41356668Sshin################################################################################
41456668Sshin
41556668Sshinjdk.jconsole_COPY := .gif .png
41656668Sshin
41756668Sshinjdk.jconsole_CLEAN_FILES := $(wildcard \
41856668Sshin    $(JDK_TOPDIR)/src/jdk.jconsole/share/classes/sun/tools/jconsole/resources/*.properties)
41956668Sshin
42056668Sshin################################################################################
42156668Sshin
42256668Sshinjdk.jdeps_COPY := .txt
42368901Skris
42456668Sshinjdk.jdeps_CLEAN_FILES := $(wildcard \
42568901Skris    $(JDK_TOPDIR)/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/*.properties \
42615196Sdg    $(JDK_TOPDIR)/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/*.properties)
42715196Sdg
42856668Sshin################################################################################
42956668Sshin
43056668Sshinjdk.jdi_EXCLUDES += \
43164699Sru    com/sun/tools/example/debug/bdi \
43264699Sru    com/sun/tools/example/debug/event \
43315196Sdg    com/sun/tools/example/debug/gui \
43415196Sdg    com/sun/jdi/doc-files \
43515196Sdg    #
43615196Sdg
43756668Sshinjdk.jdi_EXCLUDE_FILES += jdi-overview.html
43815196Sdg
43915196Sdg################################################################################
44015196Sdg
44115196Sdgjdk.dev_CLEAN_FILES := $(wildcard \
44215196Sdg    $(patsubst %, $(JDK_TOPDIR)/src/jdk.dev/share/classes/%/*.properties, \
44315196Sdg        com/sun/tools/script/shell))
44456668Sshin
44556668Sshinjdk.dev_COPY := .js oqlhelp.html .txt
44656668Sshin
44756668Sshin################################################################################
44856668Sshin
44956668Sshinjdk.internal.jvmstat_COPY := aliasmap
45056668Sshin
45156668Sshin################################################################################
45256668Sshin
45356668Sshin# -parameters provides method's parameters information in class file,
45456668Sshin# JVMCI compilers make use of that information for various sanity checks.
45556668Sshin# Don't use Indy strings concatenation to have good JVMCI startup performance.
45615196Sdg
45715196Sdgjdk.vm.ci_ADD_JAVAC_FLAGS := -parameters -Xlint:-exports -XDstringConcat=inline
45815196Sdg
45915196Sdg################################################################################
46015196Sdg
46115196Sdgjdk.vm.compiler_ADD_JAVAC_FLAGS := -parameters -XDstringConcat=inline
46215196Sdg
46315196Sdgjdk.vm.compiler_EXCLUDES += \
46417483Sjulian    org.graalvm.compiler.core.match.processor \
46517483Sjulian    org.graalvm.compiler.nodeinfo.processor \
46617483Sjulian    org.graalvm.compiler.options.processor \
46717483Sjulian    org.graalvm.compiler.serviceprovider.processor \
46817483Sjulian    org.graalvm.compiler.replacements.verifier \
46917483Sjulian    org.graalvm.compiler.api.directives.test \
47017483Sjulian    org.graalvm.compiler.api.test \
47117483Sjulian    org.graalvm.compiler.asm.aarch64.test \
47217483Sjulian    org.graalvm.compiler.asm.amd64.test \
47346078Simp    org.graalvm.compiler.asm.sparc.test \
47417483Sjulian    org.graalvm.compiler.asm.test \
47517483Sjulian    org.graalvm.compiler.core.amd64.test \
47617483Sjulian    org.graalvm.compiler.core.sparc.test \
47717483Sjulian    org.graalvm.compiler.core.test \
47846078Simp    org.graalvm.compiler.debug.test \
47917483Sjulian    org.graalvm.compiler.graph.test \
48017483Sjulian    org.graalvm.compiler.hotspot.amd64.test \
48117483Sjulian    org.graalvm.compiler.hotspot.lir.test \
48217483Sjulian    org.graalvm.compiler.hotspot.test \
48317483Sjulian    org.graalvm.compiler.jtt \
48417483Sjulian    org.graalvm.compiler.lir.jtt \
48517483Sjulian    org.graalvm.compiler.lir.test \
48615196Sdg    org.graalvm.compiler.microbenchmarks \
48715196Sdg    org.graalvm.compiler.nodes.test \
48815196Sdg    org.graalvm.compiler.options.test \
48915196Sdg    org.graalvm.compiler.phases.common.test \
49056668Sshin    org.graalvm.compiler.replacements.test \
49115196Sdg    org.graalvm.compiler.test \
49215196Sdg    org.graalvm.compiler.virtual.bench \
49315196Sdg    #
49415196Sdg
49515196Sdg################################################################################
49615196Sdg
49715196Sdgjdk.aot_ADD_JAVAC_FLAGS := -parameters -XDstringConcat=inline
49815196Sdg
49915196Sdg################################################################################
50015196Sdg
50115196Sdgjdk.xml.bind_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
50215196Sdgjdk.xml.bind_CLEAN := .properties
50315196Sdgjdk.xml.bind_COPY := .xsd JAXBContextFactory.java ZeroOneBooleanAdapter.java
50415196Sdg
50515196Sdg################################################################################
50615196Sdg
50715196Sdgjdk.xml.ws_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
50815196Sdgjdk.xml.ws_CLEAN := .properties
50915196Sdg
5101592Srgrimes################################################################################
51136612Sjb
5121592Srgrimessun.charsets_COPY := .dat
5131592Srgrimes
51415196Sdg################################################################################
51515196Sdg
51615196Sdgjdk.localedata_COPY := _dict _th
51715196Sdg# Exclude BreakIterator classes that are just used in compile process to generate
51815196Sdg# data files and shouldn't go in the product
51925283Sdavidnjdk.localedata_EXCLUDE_FILES += sun/text/resources/ext/BreakIteratorRules_th.java
52025283Sdavidn
52156668Sshin################################################################################
52225283Sdavidn# If this is an imported module that has prebuilt classes, only compile
52315196Sdg# module-info.java.
52456668Sshinifneq ($(wildcard $(IMPORT_MODULES_CLASSES)/$(MODULE)), )
52556668Sshin  $(MODULE)_INCLUDE_FILES := module-info.java
52615196Sdgendif
52715196Sdg
52815196Sdg################################################################################
52956668Sshin# Setup the compilation for the module
53015196Sdg#
53135482SdgMODULE_SRC_DIRS := $(call FindModuleSrcDirs, $(MODULE))
53235482Sdg
53335482Sdg# The JDK_USER_DEFINED_FILTER is a poor man's incremental build: by specifying
53435482Sdg# JDK_FILTER at the make command line, only a subset of the JDK java files will
53535482Sdg# be recompiled. If multiple paths are separated by comma, convert that into a
53635482Sdg# space separated list.
53735482SdgJDK_USER_DEFINED_FILTER := $(strip $(subst $(COMMA),$(SPACE), $(JDK_FILTER)))
53856668Sshinifeq ($(JDK_FILTER), )
53915196Sdg  FAIL_NO_SRC := true
54017435Spstelse
54131973Simp  # When using JDK_FILTER, most module java compilations will end up finding
54217435Spst  # no source files. Don't let that fail the build.
5431592Srgrimes  FAIL_NO_SRC := false
5441592Srgrimesendif
5451592Srgrimes
5461592Srgrimes# Get the complete module source path.
5471592SrgrimesMODULESOURCEPATH := $(call GetModuleSrcPath)
5481592Srgrimes
5491592Srgrimes# Add imported modules to the modulepath
5501592SrgrimesMODULEPATH := $(call PathList, $(IMPORT_MODULES_CLASSES))
5511592Srgrimes
5521592Srgrimesifeq ($(MODULE), jdk.vm.ci)
55356668Sshin  ## WORKAROUND jdk.vm.ci source structure issue
5541592Srgrimes  JVMCI_MODULESOURCEPATH := $(MODULESOURCEPATH) \
5551592Srgrimes      $(subst /$(MODULE)/,/*/, $(filter-out %processor/src, \
5561592Srgrimes          $(wildcard $(HOTSPOT_TOPDIR)/src/jdk.vm.ci/share/classes/*/src)))
5571592Srgrimes  MODULESOURCEPATH := $(call PathList, $(JVMCI_MODULESOURCEPATH))
5581592Srgrimesendif
5591592Srgrimes
5601592Srgrimesifeq ($(MODULE), jdk.vm.compiler)
5611592Srgrimes  ## WORKAROUND jdk.vm.compiler source structure issue
5621592Srgrimes  VM_COMPILER_MODULESOURCEPATH := $(MODULESOURCEPATH) \
5631592Srgrimes      $(subst /$(MODULE)/,/*/, $(filter-out %processor/src %test/src %jtt/src %bench/src %microbenchmarks/src, \
5641592Srgrimes          $(wildcard $(HOTSPOT_TOPDIR)/src/$(MODULE)/share/classes/*/src)))
5651592Srgrimes  MODULESOURCEPATH := $(call PathList, $(VM_COMPILER_MODULESOURCEPATH))
5661592Srgrimesendif
5671592Srgrimes
5681592Srgrimesifeq ($(MODULE), jdk.aot)
5691592Srgrimes  ## WORKAROUND jdk.aot source structure issue
5701592Srgrimes  AOT_MODULESOURCEPATH := $(MODULESOURCEPATH) \
5711592Srgrimes      $(subst /$(MODULE)/,/*/, $(filter-out %processor/src, \
5721592Srgrimes          $(wildcard $(HOTSPOT_TOPDIR)/src/$(MODULE)/share/classes/*/src)))
5731592Srgrimes  MODULESOURCEPATH := $(call PathList, $(AOT_MODULESOURCEPATH))
5741592Srgrimesendif
5751592Srgrimes
57625283Sdavidn$(eval $(call SetupJavaCompilation, $(MODULE), \
57725283Sdavidn    SETUP := $(if $($(MODULE)_SETUP), $($(MODULE)_SETUP), GENERATE_JDKBYTECODE), \
57825283Sdavidn    MODULE := $(MODULE), \
5791592Srgrimes    SRC := $(wildcard $(MODULE_SRC_DIRS)), \
58025283Sdavidn    INCLUDES := $(JDK_USER_DEFINED_FILTER), \
5811592Srgrimes    FAIL_NO_SRC := $(FAIL_NO_SRC), \
5821592Srgrimes    BIN := $(if $($(MODULE)_BIN), $($(MODULE)_BIN), $(JDK_OUTPUTDIR)/modules), \
5831592Srgrimes    HEADERS := $(SUPPORT_OUTPUTDIR)/headers, \
5841592Srgrimes    ADD_JAVAC_FLAGS := \
5851592Srgrimes        $($(MODULE)_ADD_JAVAC_FLAGS) \
5861592Srgrimes        --module-source-path $(MODULESOURCEPATH) \
5871592Srgrimes        --module-path $(MODULEPATH) \
5881592Srgrimes        --system none, \
5891592Srgrimes))
59025283Sdavidn
59127650SdavidnTARGETS += $($(MODULE)) $($(MODULE)_COPY_EXTRA)
59227650Sdavidn
59345422Sbrian# Declare dependencies between java compilations of different modules.
59445422Sbrian# Since the other modules are declared in different invocations of this file,
59525283Sdavidn# use the macro to find the correct target file to depend on.
5961592Srgrimes# Only the javac compilation actually depends on other modules so limit
5971592Srgrimes# dependency declaration to that by using the *_COMPILE_TARGET variable.
5981592Srgrimes$($(MODULE)_COMPILE_TARGET): $(foreach d, $(call FindDepsForModule, $(MODULE)), \
5991592Srgrimes    $(call SetupJavaCompilationCompileTarget, $d, \
6001592Srgrimes        $(if $($d_BIN), $($d_BIN), $(JDK_OUTPUTDIR)/modules/$d)))
6011592Srgrimes
6021592Srgrimes################################################################################
6031592Srgrimes# Copy zh_HK properties files from zh_TW
6041592Srgrimes
6051592Srgrimes$(JDK_OUTPUTDIR)/modules/%_zh_HK.properties: $(JDK_OUTPUTDIR)/modules/%_zh_TW.properties
6061592Srgrimes	$(install-file)
6071592Srgrimes
6081592SrgrimesCreateHkTargets = \
6091592Srgrimes    $(patsubst $(JDK_TOPDIR)/src/%, $(JDK_OUTPUTDIR)/modules/%, \
61031329Scharnier      $(subst /share/classes,, \
6111592Srgrimes        $(subst _zh_TW,_zh_HK, $(filter %_zh_TW.properties, $1))))
6121592Srgrimes
61325283Sdavidnifeq ($(MODULE), java.sql.rowset)
6141592Srgrimes  TARGETS += $(call CreateHkTargets, $(java.sql.rowset_CLEAN_FILES))
61525283Sdavidnendif
61625283Sdavidn
61725283Sdavidnifeq ($(MODULE), java.rmi)
61825283Sdavidn  TARGETS += $(call CreateHkTargets, $(java.rmi_CLEAN_FILES))
61925283Sdavidnendif
62025283Sdavidn
62125283Sdavidn################################################################################
62225283Sdavidn# If this is an imported module, copy the pre built classes and resources into
62325283Sdavidn# the modules output dir
62425283Sdavidn
62556668Sshinifneq ($(wildcard $(IMPORT_MODULES_CLASSES)/$(MODULE)), )
62625283Sdavidn  $(JDK_OUTPUTDIR)/modules/$(MODULE)/_imported.marker: \
62725283Sdavidn      $(call CacheFind, $(IMPORT_MODULES_CLASSES)/$(MODULE))
62825283Sdavidn	$(call MakeDir, $(@D))
62925283Sdavidn        # Do not delete marker and build meta data files
63025283Sdavidn	$(RM) -r $(filter-out $(@D)/_%, $(wildcard $(@D)/*))
63125283Sdavidn	$(CP) -R $(IMPORT_MODULES_CLASSES)/$(MODULE)/* $(@D)/
63225283Sdavidn	$(TOUCH) $@
63325283Sdavidn
63425283Sdavidn  TARGETS += $(JDK_OUTPUTDIR)/modules/$(MODULE)/_imported.marker
63557124Sshin
63656668Sshin  # Add this dependency to avoid a race between compiling module-info.java and
63756668Sshin  # importing the classes.
63856668Sshin  $($(MODULE)_COMPILE_TARGET): $(JDK_OUTPUTDIR)/modules/$(MODULE)/_imported.marker
63956668Sshinendif
64056668Sshin
64156668Sshin################################################################################
64257124Sshin
64325283Sdavidn$(eval $(call IncludeCustomExtension, , CompileJavaModules-post.gmk))
64425283Sdavidn
64525283Sdavidn################################################################################
64625283Sdavidn
64725283Sdavidnall: $(TARGETS)
64825283Sdavidn
64925283Sdavidn.PHONY: all
65062100Sdavidn