CompileJavaModules.gmk revision 2315:e41be20156e6
1274116Sdteske#
2274116Sdteske# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
3274116Sdteske# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4274116Sdteske#
5274116Sdteske# This code is free software; you can redistribute it and/or modify it
6274116Sdteske# under the terms of the GNU General Public License version 2 only, as
7274116Sdteske# published by the Free Software Foundation.  Oracle designates this
8274116Sdteske# particular file as subject to the "Classpath" exception as provided
9274116Sdteske# by Oracle in the LICENSE file that accompanied this code.
10274116Sdteske#
11274116Sdteske# This code is distributed in the hope that it will be useful, but WITHOUT
12274116Sdteske# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13274116Sdteske# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14274116Sdteske# version 2 for more details (a copy is included in the LICENSE file that
15274116Sdteske# accompanied this code).
16274116Sdteske#
17274116Sdteske# You should have received a copy of the GNU General Public License version
18274116Sdteske# 2 along with this work; if not, write to the Free Software Foundation,
19274116Sdteske# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20274116Sdteske#
21274116Sdteske# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22274116Sdteske# or visit www.oracle.com if you need additional information or have any
23274116Sdteske# questions.
24274116Sdteske#
25274116Sdteske
26274116Sdteske# This must be the first rule
27274116Sdteskedefault: all
28274116Sdteske
29274116Sdteskeinclude $(SPEC)
30274116Sdteskeinclude MakeBase.gmk
31274116Sdteskeinclude Modules.gmk
32274116Sdteskeinclude JavaCompilation.gmk
33274116Sdteskeinclude SetupJavaCompilers.gmk
34274116Sdteske
35274116Sdteske# Hook to include the corresponding custom file, if present.
36274116Sdteske$(eval $(call IncludeCustomExtension, , CompileJavaModules.gmk))
37274116Sdteske
38274116Sdteske################################################################################
39274116Sdteske# Module specific build settings
40274116Sdteske
41274116Sdteskejava.activation_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
42274116Sdteske
43274116Sdteske################################################################################
44274116Sdteske
45274116Sdteskejava.base_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*' -XDstringConcat=inline
46274116Sdteskejava.base_COPY := .icu .dat .spp content-types.properties hijrah-config-islamic-umalqura.properties
47274116Sdteskejava.base_CLEAN := intrinsic.properties
48274116Sdteske
49274116Sdteskejava.base_EXCLUDE_FILES += \
50274116Sdteske  $(JDK_TOPDIR)/src/java.base/share/classes/jdk/internal/module/ModuleLoaderMap.java
51274116Sdteske
52274116Sdteskejava.base_EXCLUDES += java/lang/doc-files
53274116Sdteske
54274116Sdteske# Exclude BreakIterator classes that are just used in compile process to generate
55274116Sdteske# data files and shouldn't go in the product
56274116Sdteskejava.base_EXCLUDE_FILES += sun/text/resources/BreakIteratorRules.java
57274116Sdteske
58274116Sdteskeifneq ($(filter solaris macosx linux windows,$(OPENJDK_TARGET_OS)), )
59274116Sdteske  java.base_EXCLUDE_FILES += \
60274116Sdteske      sun/nio/ch/AbstractPollSelectorImpl.java \
61274116Sdteske      sun/nio/ch/PollSelectorImpl.java \
62274116Sdteske      sun/nio/ch/PollSelectorProvider.java \
63274116Sdteske      #
64274116Sdteskeendif
65275040Sdteske
66274116Sdteskeifneq ($(OPENJDK_TARGET_OS), solaris)
67274116Sdteske  java.base_EXCLUDE_FILES += \
68274116Sdteske      SolarisLoginModule.java \
69274116Sdteske      SolarisSystem.java \
70274116Sdteske      #
71274116Sdteskeendif
72274116Sdteske
73274116Sdteskeifeq ($(filter $(OPENJDK_TARGET_OS), solaris macosx aix), )
74274116Sdteske  #
75274116Sdteske  # only solaris, macosx and aix
76274116Sdteske  #
77274116Sdteske  java.base_EXCLUDE_FILES += sun/nio/fs/PollingWatchService.java
78274116Sdteskeendif
79274116Sdteske
80274116Sdteskeifeq ($(OPENJDK_TARGET_OS), windows)
81274116Sdteske  java.base_EXCLUDE_FILES += \
82274116Sdteske      sun/nio/ch/SimpleAsynchronousFileChannelImpl.java \
83274116Sdteske      #
84274116Sdteskeendif
85274116Sdteske
86274116Sdteske################################################################################
87274116Sdteske
88274116Sdteskejava.compiler_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
89274116Sdteske
90274116Sdteske################################################################################
91274116Sdteske
92274116Sdteskejava.datatransfer_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
93274116Sdteskejava.datatransfer_COPY := flavormap.properties
94274116Sdteske
95274116Sdteske################################################################################
96274116Sdteske
97274116Sdteskejava.desktop_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference \
98274116Sdteske    '-Xdoclint/package:java.*,javax.*' -Xlint:-deprecation,exports
99274116Sdteskejava.desktop_COPY := .gif .png .wav .txt .xml .css .pf
100274116Sdteskejava.desktop_CLEAN := iio-plugin.properties cursors.properties
101274116Sdteske
102274116Sdteskejava.desktop_EXCLUDES += \
103274116Sdteske    java/awt/doc-files \
104274116Sdteske    javax/swing/doc-files \
105274116Sdteske    javax/swing/text/doc-files \
106274116Sdteske    javax/swing/plaf/synth/doc-files \
107274116Sdteske    javax/swing/undo/doc-files \
108274116Sdteske    sun/awt/X11/doc-files \
109274116Sdteske    #
110274116Sdteske
111274116Sdteskejava.desktop_EXCLUDE_FILES += \
112274116Sdteske    javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \
113274116Sdteske    javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \
114274116Sdteske    javax/swing/plaf/nimbus/ScrollBarPainter.java \
115274116Sdteske    javax/swing/plaf/nimbus/SliderPainter.java \
116274116Sdteske    javax/swing/plaf/nimbus/SpinnerPainter.java \
117274116Sdteske    javax/swing/plaf/nimbus/SplitPanePainter.java \
118274116Sdteske    javax/swing/plaf/nimbus/TabbedPanePainter.java \
119274116Sdteske    sun/awt/resources/security-icon-bw16.png \
120274116Sdteske    sun/awt/resources/security-icon-bw24.png \
121274116Sdteske    sun/awt/resources/security-icon-bw32.png \
122274116Sdteske    sun/awt/resources/security-icon-bw48.png \
123274116Sdteske    sun/awt/resources/security-icon-interim16.png \
124274116Sdteske    sun/awt/resources/security-icon-interim24.png \
125274116Sdteske    sun/awt/resources/security-icon-interim32.png \
126274116Sdteske    sun/awt/resources/security-icon-interim48.png \
127274116Sdteske    sun/awt/resources/security-icon-yellow16.png \
128274116Sdteske    sun/awt/resources/security-icon-yellow24.png \
129274116Sdteske    sun/awt/resources/security-icon-yellow32.png \
130274116Sdteske    sun/awt/resources/security-icon-yellow48.png \
131274116Sdteske    sun/awt/X11/java-icon16.png \
132274116Sdteske    sun/awt/X11/java-icon24.png \
133274116Sdteske    sun/awt/X11/java-icon32.png \
134274116Sdteske    sun/awt/X11/java-icon48.png \
135274116Sdteske    .template \
136274116Sdteske    #
137274116Sdteske
138274116Sdteskeifeq ($(OPENJDK_TARGET_OS), macosx)
139274116Sdteske  # exclude all X11 on Mac.
140274116Sdteske  java.desktop_EXCLUDES += \
141274116Sdteske      sun/awt/X11 \
142274116Sdteske      sun/java2d/x11 \
143274116Sdteske      sun/java2d/jules \
144274116Sdteske      sun/java2d/xr \
145274116Sdteske      com/sun/java/swing/plaf/gtk \
146274116Sdteske      #
147274116Sdteske  java.desktop_EXCLUDE_FILES += \
148274116Sdteske      $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/java2d/*.java) \
149274116Sdteske      $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/java2d/opengl/*.java) \
150274116Sdteske      $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/awt/*.java) \
151274116Sdteske      $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/font/*.java) \
152274116Sdteske      #
153274116Sdteskeelse
154274116Sdteske  # TBD: figure out how to eliminate this long list
155274116Sdteske  java.desktop_EXCLUDE_FILES += \
156274116Sdteske      sun/awt/X11/ScreenFormat.java \
157274116Sdteske      sun/awt/X11/XArc.java \
158274116Sdteske      sun/awt/X11/XChar2b.java \
159274116Sdteske      sun/awt/X11/XCharStruct.java \
160274116Sdteske      sun/awt/X11/XClassHint.java \
161274116Sdteske      sun/awt/X11/XComposeStatus.java \
162274116Sdteske      sun/awt/X11/XExtCodes.java \
163274116Sdteske      sun/awt/X11/XFontProp.java \
164274116Sdteske      sun/awt/X11/XFontSetExtents.java \
165274116Sdteske      sun/awt/X11/XFontStruct.java \
166274116Sdteske      sun/awt/X11/XGCValues.java \
167274116Sdteske      sun/awt/X11/XHostAddress.java \
168274116Sdteske      sun/awt/X11/XIMCallback.java \
169274116Sdteske      sun/awt/X11/XIMHotKeyTrigger.java \
170274116Sdteske      sun/awt/X11/XIMHotKeyTriggers.java \
171274116Sdteske      sun/awt/X11/XIMPreeditCaretCallbackStruct.java \
172274116Sdteske      sun/awt/X11/XIMPreeditDrawCallbackStruct.java \
173274116Sdteske      sun/awt/X11/XIMPreeditStateNotifyCallbackStruct.java \
174274116Sdteske      sun/awt/X11/XIMStatusDrawCallbackStruct.java \
175274116Sdteske      sun/awt/X11/XIMStringConversionCallbackStruct.java \
176274116Sdteske      sun/awt/X11/XIMStringConversionText.java \
177274116Sdteske      sun/awt/X11/XIMStyles.java \
178274116Sdteske      sun/awt/X11/XIMText.java \
179274116Sdteske      sun/awt/X11/XIMValuesList.java \
180274116Sdteske      sun/awt/X11/XImage.java \
181274116Sdteske      sun/awt/X11/XKeyboardControl.java \
182274116Sdteske      sun/awt/X11/XKeyboardState.java \
183274116Sdteske      sun/awt/X11/XOMCharSetList.java \
184274116Sdteske      sun/awt/X11/XOMFontInfo.java \
185274116Sdteske      sun/awt/X11/XOMOrientation.java \
186274116Sdteske      sun/awt/X11/XPoint.java \
187274116Sdteske      sun/awt/X11/XRectangle.java \
188274116Sdteske      sun/awt/X11/XSegment.java \
189274116Sdteske      sun/awt/X11/XStandardColormap.java \
190274116Sdteske      sun/awt/X11/XTextItem.java \
191274116Sdteske      sun/awt/X11/XTextItem16.java \
192274116Sdteske      sun/awt/X11/XTextProperty.java \
193274116Sdteske      sun/awt/X11/XTimeCoord.java \
194274116Sdteske      sun/awt/X11/XWindowChanges.java \
195274116Sdteske      sun/awt/X11/XdbeSwapInfo.java \
196274116Sdteske      sun/awt/X11/XmbTextItem.java \
197274116Sdteske      sun/awt/X11/XwcTextItem.java
198274116Sdteskeendif
199274116Sdteske
200274116Sdteskeifeq ($(OPENJDK_TARGET_OS), windows)
201274116Sdteske  java.desktop_EXCLUDES += com/sun/java/swing/plaf/gtk
202274116Sdteskeendif
203274116Sdteske
204274116Sdteskeifdef BUILD_HEADLESS_ONLY
205274116Sdteske  java.desktop_EXCLUDES += sun/applet
206274116Sdteskeendif
207274116Sdteske
208274116Sdteske# Used on windows and macosx
209274116Sdteskeifeq ($(filter $(OPENJDK_TARGET_OS), windows macosx), )
210274116Sdteske  java.desktop_EXCLUDE_FILES += sun/awt/AWTCharset.java
211274116Sdteskeendif
212274116Sdteske
213274116Sdteske# These files do not appear in the build result of the old build. This
214274116Sdteske# is because they are generated sources, but the AUTO_JAVA_FILES won't
215274116Sdteske# pick them up since they aren't generated when the source dirs are
216274116Sdteske# searched and they aren't referenced by any other classes so they won't
217274116Sdteske# be picked up by implicit compilation. On a rebuild, they are picked up
218274116Sdteske# and compiled. Exclude them here to produce the same rt.jar as the old
219274116Sdteske# build does when building just once.
220274116Sdteskejava.desktop_EXCLUDE_FILES += \
221274116Sdteske    javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \
222274116Sdteske    javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \
223274116Sdteske    javax/swing/plaf/nimbus/ScrollBarPainter.java \
224274116Sdteske    javax/swing/plaf/nimbus/SliderPainter.java \
225274116Sdteske    javax/swing/plaf/nimbus/SpinnerPainter.java \
226274116Sdteske    javax/swing/plaf/nimbus/SplitPanePainter.java \
227274116Sdteske    javax/swing/plaf/nimbus/TabbedPanePainter.java \
228274116Sdteske    #
229274116Sdteske
230274116Sdteske################################################################################
231274116Sdteske
232274116Sdteskejava.scripting_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
233274116Sdteskejava.scripting_COPY := .js
234274116Sdteskejava.scripting_CLEAN := .properties
235274116Sdteske
236274116Sdteske################################################################################
237274116Sdteske
238274116Sdteskejava.instrument_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
239274116Sdteske
240274116Sdteske################################################################################
241274116Sdteske
242274116Sdteskejava.logging_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
243274116Sdteske
244274116Sdteske################################################################################
245274116Sdteske
246274116Sdteskejava.management_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
247274116Sdteske
248274116Sdteske################################################################################
249274116Sdteske
250274116Sdteskejava.prefs_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
251274116Sdteske
252274116Sdteske################################################################################
253274116Sdteske
254274116Sdteskejava.transaction_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
255274116Sdteske
256274116Sdteske################################################################################
257274116Sdteske
258274116Sdteskejava.sql_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
259274116Sdteskejava.sql_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
260274116Sdteske
261274116Sdteske################################################################################
262274116Sdteske
263274116Sdteskejava.sql.rowset_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
264274116Sdteskejava.sql.rowset_CLEAN_FILES := $(wildcard \
265274116Sdteske    $(JDK_TOPDIR)/src/java.sql.rowset/share/classes/com/sun/rowset/*.properties \
266274116Sdteske    $(JDK_TOPDIR)/src/java.sql.rowset/share/classes/javax/sql/rowset/*.properties)
267274116Sdteske
268274116Sdteske################################################################################
269274116Sdteske
270274116Sdteskejava.rmi_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
271274116Sdteskejava.rmi_CLEAN_FILES := $(wildcard \
272274116Sdteske    $(JDK_TOPDIR)/src/java.rmi/share/classes/sun/rmi/registry/resources/*.properties \
273274116Sdteske    $(JDK_TOPDIR)/src/java.rmi/share/classes/sun/rmi/server/resources/*.properties)
274274116Sdteske
275274116Sdteske################################################################################
276274116Sdteske
277274116Sdteskejava.corba_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
278274116Sdteske
279274116Sdteskejava.corba_COPY := .prp
280274116Sdteskejava.corba_CLEAN := .properties
281274116Sdteske
282274116Sdteskejava.corba_EXCLUDES += \
283274116Sdteske    com/sun/corba/se/PortableActivationIDL \
284274116Sdteske    com/sun/tools/corba/se/logutil \
285274116Sdteske    #
286274116Sdteskejava.corba_EXCLUDE_FILES += \
287274116Sdteske    com/sun/corba/se/impl/presentation/rmi/JNDIStateFactoryImpl.java \
288274116Sdteske    com/sun/corba/se/spi/presentation/rmi/StubWrapper.java \
289274116Sdteske    com/sun/org/omg/CORBA/IDLTypeOperations.java \
290274116Sdteske    com/sun/org/omg/CORBA/IRObjectOperations.java \
291274116Sdteske    org/omg/PortableInterceptor/UNKNOWN.java \
292274116Sdteske    com/sun/tools/corba/se/idl/ResourceBundleUtil.java \
293274116Sdteske    com/sun/corba/se/impl/presentation/rmi/jndi.properties \
294274116Sdteske    #
295274116Sdteske
296274116Sdteske################################################################################
297274116Sdteske
298274116Sdteskejava.xml_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
299274116Sdteskejava.xml_CLEAN := .properties
300274116Sdteske
301274116Sdteske################################################################################
302274116Sdteske
303274116Sdteskejava.xml.bind_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
304274116Sdteskejava.xml.bind_CLEAN := .properties
305274116Sdteske
306274116Sdteske################################################################################
307274116Sdteske
308274116Sdteskejava.xml.soap_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
309274116Sdteskejava.xml.soap_CLEAN := .properties
310274116Sdteske
311274116Sdteske################################################################################
312274116Sdteske
313274116Sdteskejava.xml.ws_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
314274116Sdteskejava.xml.ws_COPY := .xml
315274116Sdteskejava.xml.ws_CLEAN := .properties
316274116Sdteske
317274116Sdteske################################################################################
318274116Sdteske
319274116Sdteskejava.naming_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' -Xlint:-exports
320274116Sdteskejava.naming_CLEAN := jndiprovider.properties
321274116Sdteske
322274116Sdteske################################################################################
323274116Sdteske
324274116Sdteskejava.security.saaj_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
325274116Sdteskejava.security.saaj_CLEAN := .properties
326274116Sdteske
327274116Sdteske################################################################################
328274116Sdteske
329274116Sdteskejava.security.jgss_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
330274116Sdteske
331274116Sdteske################################################################################
332274116Sdteske
333274116Sdteskejava.smartcardio_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
334274116Sdteske
335274116Sdteske################################################################################
336274116Sdteske
337274116Sdteskejava.xml.crypto_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
338274116Sdteskejava.xml.crypto_COPY := .dtd .xml
339274116Sdteskejava.xml.crypto_CLEAN := .properties
340274116Sdteske
341274116Sdteske################################################################################
342274116Sdteske
343274116Sdteskejdk.charsets_COPY := .dat
344274116Sdteske
345274116Sdteske################################################################################
346274116Sdteske
347274116Sdteskejdk.accessibility_ADD_JAVAC_FLAGS := -Xlint:-exports
348274116Sdteske
349274116Sdteske################################################################################
350274116Sdteske
351274116Sdteskejdk.compiler_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:-com.sun.tools.*,-jdk.internal.*' \
352274116Sdteske    -XDstringConcat=inline
353274116Sdteskejdk.compiler_CLEAN_FILES := $(wildcard \
354274116Sdteske    $(patsubst %, $(JDK_TOPDIR)/src/jdk.compiler/share/classes/%/*.properties, \
355274116Sdteske        sun/tools/serialver/resources))
356274116Sdteske
357274116Sdteske################################################################################
358274116Sdteske
359274116Sdteskejdk.jshell_ADD_JAVAC_FLAGS := -Xlint:-exports
360274116Sdteske
361274116Sdteske################################################################################
362274116Sdteske
363274116Sdteskejdk.hotspot.agent_ADD_JAVAC_FLAGS := $(DISABLE_WARNINGS),-overrides
364274116Sdteskejdk.hotspot.agent_COPY := .gif .png sa.js .properties
365274116Sdteske
366274116Sdteske################################################################################
367274116Sdteske
368274116Sdteskejdk.editpad_COPY := .properties
369274116Sdteske
370274116Sdteske################################################################################
371274116Sdteske
372274116Sdteskejdk.internal.le_COPY := .properties
373274116Sdteske
374274116Sdteske################################################################################
375274116Sdteske
376274116Sdteskejdk.jcmd_COPY := _options
377274116Sdteske
378274116Sdteske################################################################################
379274116Sdteske
380274116Sdteskejdk.dynalink_CLEAN := .properties
381274116Sdteske
382274116Sdteske################################################################################
383274116Sdteske
384274116Sdteskejdk.javadoc_COPY := .xml .css .js .png
385274116Sdteske
386274116Sdteske################################################################################
387274116Sdteske
388274116Sdteskejdk.rmic_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
389274116Sdteskejdk.rmic_CLEAN := .properties
390274116Sdteske
391274116Sdteske################################################################################
392274116Sdteske
393274116Sdteske# No SCTP implementation on Mac OS X or AIX. These classes should be excluded.
394274116SdteskeSCTP_IMPL_CLASSES = \
395274116Sdteske    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/AssociationChange.java \
396274116Sdteske    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/AssociationImpl.java \
397274116Sdteske    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/PeerAddrChange.java \
398274116Sdteske    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/ResultContainer.java \
399274116Sdteske    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpChannelImpl.java \
400274116Sdteske    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java \
401274116Sdteske    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNet.java \
402274116Sdteske    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpNotification.java \
403274116Sdteske    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java \
404274116Sdteske    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SendFailed.java \
405274116Sdteske    $(JDK_TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/Shutdown.java
406274116Sdteske
407274116Sdteskeifeq ($(OPENJDK_TARGET_OS), macosx)
408274116Sdteske  jdk.sctp_EXCLUDE_FILES += $(SCTP_IMPL_CLASSES)
409274116Sdteskeendif
410274116Sdteske
411274116Sdteskeifeq ($(OPENJDK_TARGET_OS),aix)
412274116Sdteske  jdk.sctp_EXCLUDE_FILES += $(SCTP_IMPL_CLASSES)
413274116Sdteskeendif
414274116Sdteske
415274116Sdteske################################################################################
416274116Sdteske
417274116Sdteskejdk.jconsole_COPY := .gif .png
418274116Sdteske
419274116Sdteskejdk.jconsole_CLEAN_FILES := $(wildcard \
420274116Sdteske    $(JDK_TOPDIR)/src/jdk.jconsole/share/classes/sun/tools/jconsole/resources/*.properties)
421274116Sdteske
422274116Sdteske################################################################################
423274116Sdteske
424274116Sdteskejdk.jdeps_COPY := .txt
425274116Sdteske
426274116Sdteskejdk.jdeps_CLEAN_FILES := $(wildcard \
427274116Sdteske    $(JDK_TOPDIR)/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/*.properties \
428274116Sdteske    $(JDK_TOPDIR)/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/*.properties)
429274116Sdteske
430274116Sdteske################################################################################
431274116Sdteske
432274116Sdteskejdk.jdi_EXCLUDES += \
433274116Sdteske    com/sun/tools/example/debug/bdi \
434274116Sdteske    com/sun/tools/example/debug/event \
435274116Sdteske    com/sun/tools/example/debug/gui \
436274116Sdteske    com/sun/jdi/doc-files \
437274116Sdteske    #
438274116Sdteske
439274116Sdteskejdk.jdi_EXCLUDE_FILES += jdi-overview.html
440274116Sdteske
441274116Sdteske################################################################################
442274116Sdteske
443274116Sdteskejdk.dev_CLEAN_FILES := $(wildcard \
444274116Sdteske    $(patsubst %, $(JDK_TOPDIR)/src/jdk.dev/share/classes/%/*.properties, \
445274116Sdteske        com/sun/tools/script/shell))
446274116Sdteske
447274116Sdteskejdk.dev_COPY := .js oqlhelp.html .txt
448274116Sdteske
449274116Sdteske################################################################################
450274116Sdteske
451274116Sdteskejdk.jvmstat_COPY := aliasmap
452274116Sdteske
453274116Sdteske################################################################################
454274116Sdteske
455274116Sdteskejdk.vm.ci_ADD_JAVAC_FLAGS := -Xlint:-exports
456274116Sdteske
457274116Sdteske################################################################################
458274116Sdteske
459274116Sdteskejdk.xml.bind_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
460274116Sdteskejdk.xml.bind_CLEAN := .properties
461274116Sdteskejdk.xml.bind_COPY := .xsd JAXBContextFactory.java ZeroOneBooleanAdapter.java
462274116Sdteske
463274116Sdteske################################################################################
464274116Sdteske
465274116Sdteskejdk.xml.ws_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
466274116Sdteskejdk.xml.ws_CLEAN := .properties
467274116Sdteske
468274116Sdteske################################################################################
469274116Sdteske
470274116Sdteskesun.charsets_COPY := .dat
471274116Sdteske
472274116Sdteske################################################################################
473274116Sdteske
474274116Sdteskejdk.localedata_COPY := _dict _th
475274116Sdteske# Exclude BreakIterator classes that are just used in compile process to generate
476274116Sdteske# data files and shouldn't go in the product
477274116Sdteskejdk.localedata_EXCLUDE_FILES += sun/text/resources/ext/BreakIteratorRules_th.java
478274116Sdteske
479274116Sdteske################################################################################
480274116Sdteske# If this is an imported module that has prebuilt classes, only compile
481274116Sdteske# module-info.java.
482274116Sdteskeifneq ($(wildcard $(IMPORT_MODULES_CLASSES)/$(MODULE)), )
483274116Sdteske  $(MODULE)_INCLUDE_FILES := module-info.java
484274116Sdteskeendif
485274116Sdteske
486274116Sdteske################################################################################
487274116Sdteske# Setup the compilation for the module
488274116Sdteske#
489274116SdteskeMODULE_SRC_DIRS := $(call FindModuleSrcDirs, $(MODULE))
490274116Sdteske
491274116Sdteske# The JDK_USER_DEFINED_FILTER is a poor man's incremental build: by specifying
492274116Sdteske# JDK_FILTER at the make command line, only a subset of the JDK java files will
493274116Sdteske# be recompiled. If multiple paths are separated by comma, convert that into a
494274116Sdteske# space separated list.
495274116SdteskeJDK_USER_DEFINED_FILTER := $(strip $(subst $(COMMA),$(SPACE), $(JDK_FILTER)))
496274116Sdteskeifeq ($(JDK_FILTER), )
497274116Sdteske  FAIL_NO_SRC := true
498274116Sdteskeelse
499274116Sdteske  # When using JDK_FILTER, most module java compilations will end up finding
500274116Sdteske  # no source files. Don't let that fail the build.
501274116Sdteske  FAIL_NO_SRC := false
502274116Sdteskeendif
503274116Sdteske
504274116Sdteske# Get the complete module source path.
505274116SdteskeMODULESOURCEPATH := $(call GetModuleSrcPath)
506274116Sdteske
507274116Sdteske# Add imported modules to the modulepath
508274116SdteskeMODULEPATH := $(call PathList, $(IMPORT_MODULES_CLASSES))
509274116Sdteske
510274116Sdteskeifeq ($(MODULE), jdk.vm.ci)
511274116Sdteske  ## WORKAROUND jdk.vm.ci source structure issue
512274116Sdteske  JVMCI_MODULESOURCEPATH := $(MODULESOURCEPATH) \
513274116Sdteske      $(subst /$(MODULE)/,/*/, $(filter-out %processor/src, \
514274116Sdteske          $(wildcard $(HOTSPOT_TOPDIR)/src/jdk.vm.ci/share/classes/*/src)))
515274116Sdteske  MODULESOURCEPATH := $(call PathList, $(JVMCI_MODULESOURCEPATH))
516274116Sdteskeendif
517274116Sdteske
518274116Sdteske$(eval $(call SetupJavaCompilation, $(MODULE), \
519274116Sdteske    SETUP := $(if $($(MODULE)_SETUP), $($(MODULE)_SETUP), GENERATE_JDKBYTECODE), \
520274116Sdteske    MODULE := $(MODULE), \
521274116Sdteske    SRC := $(wildcard $(MODULE_SRC_DIRS)), \
522274116Sdteske    INCLUDES := $(JDK_USER_DEFINED_FILTER), \
523274116Sdteske    FAIL_NO_SRC := $(FAIL_NO_SRC), \
524274116Sdteske    BIN := $(if $($(MODULE)_BIN), $($(MODULE)_BIN), $(JDK_OUTPUTDIR)/modules), \
525274116Sdteske    HEADERS := $(SUPPORT_OUTPUTDIR)/headers, \
526274116Sdteske    ADD_JAVAC_FLAGS := \
527274116Sdteske        $($(MODULE)_ADD_JAVAC_FLAGS) \
528274116Sdteske        --module-source-path $(MODULESOURCEPATH) \
529274116Sdteske        --module-path $(MODULEPATH) \
530274116Sdteske        --system none, \
531274116Sdteske))
532274116Sdteske
533274116SdteskeTARGETS += $($(MODULE)) $($(MODULE)_COPY_EXTRA)
534274116Sdteske
535274116Sdteske# Declare dependencies between java compilations of different modules.
536274116Sdteske# Since the other modules are declared in different invocations of this file,
537274116Sdteske# use the macro to find the correct target file to depend on.
538274116Sdteske# Only the javac compilation actually depends on other modules so limit
539274116Sdteske# dependency declaration to that by using the *_COMPILE_TARGET variable.
540274116Sdteske$($(MODULE)_COMPILE_TARGET): $(foreach d, $(call FindDepsForModule, $(MODULE)), \
541274116Sdteske    $(call SetupJavaCompilationCompileTarget, $d, \
542274116Sdteske        $(if $($d_BIN), $($d_BIN), $(JDK_OUTPUTDIR)/modules/$d)))
543274116Sdteske
544274116Sdteske################################################################################
545274116Sdteske# Copy zh_HK properties files from zh_TW
546274116Sdteske
547274116Sdteske$(JDK_OUTPUTDIR)/modules/%_zh_HK.properties: $(JDK_OUTPUTDIR)/modules/%_zh_TW.properties
548274116Sdteske	$(install-file)
549274116Sdteske
550274116SdteskeCreateHkTargets = \
551274116Sdteske    $(patsubst $(JDK_TOPDIR)/src/%, $(JDK_OUTPUTDIR)/modules/%, \
552274116Sdteske      $(subst /share/classes,, \
553274116Sdteske        $(subst _zh_TW,_zh_HK, $(filter %_zh_TW.properties, $1))))
554274116Sdteske
555274116Sdteskeifeq ($(MODULE), java.sql.rowset)
556274116Sdteske  TARGETS += $(call CreateHkTargets, $(java.sql.rowset_CLEAN_FILES))
557274116Sdteskeendif
558274116Sdteske
559274116Sdteskeifeq ($(MODULE), java.rmi)
560274116Sdteske  TARGETS += $(call CreateHkTargets, $(java.rmi_CLEAN_FILES))
561274116Sdteskeendif
562274116Sdteske
563274116Sdteske################################################################################
564274116Sdteske# If this is an imported module, copy the pre built classes and resources into
565274116Sdteske# the modules output dir
566274116Sdteske
567274116Sdteskeifneq ($(wildcard $(IMPORT_MODULES_CLASSES)/$(MODULE)), )
568274116Sdteske  $(JDK_OUTPUTDIR)/modules/$(MODULE)/_imported.marker: \
569274116Sdteske      $(call CacheFind, $(IMPORT_MODULES_CLASSES)/$(MODULE))
570274116Sdteske	$(call MakeDir, $(@D))
571274116Sdteske        # Do not delete marker and build meta data files
572274116Sdteske	$(RM) -r $(filter-out $(@D)/_%, $(wildcard $(@D)/*))
573274116Sdteske	$(CP) -R $(IMPORT_MODULES_CLASSES)/$(MODULE)/* $(@D)/
574274116Sdteske	$(TOUCH) $@
575274116Sdteske
576274116Sdteske  TARGETS += $(JDK_OUTPUTDIR)/modules/$(MODULE)/_imported.marker
577274116Sdteske
578274116Sdteske  # Add this dependency to avoid a race between compiling module-info.java and
579274116Sdteske  # importing the classes.
580274116Sdteske  $($(MODULE)_COMPILE_TARGET): $(JDK_OUTPUTDIR)/modules/$(MODULE)/_imported.marker
581274116Sdteskeendif
582274116Sdteske
583274116Sdteske################################################################################
584274116Sdteske
585274116Sdteske$(eval $(call IncludeCustomExtension, , CompileJavaModules-post.gmk))
586274116Sdteske
587274116Sdteske################################################################################
588274116Sdteske
589274116Sdteskeall: $(TARGETS)
590274116Sdteske
591274116Sdteske.PHONY: all
592274116Sdteske