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