59 ifndef OPENJDK |
59 ifndef OPENJDK |
60 # There exists two versions of this file... |
60 # There exists two versions of this file... |
61 EXFILES := $(JDK_TOPDIR)/src/share/classes/javax/crypto/JarVerifier.java |
61 EXFILES := $(JDK_TOPDIR)/src/share/classes/javax/crypto/JarVerifier.java |
62 endif |
62 endif |
63 |
63 |
64 ifneq ($(PLATFORM),solaris) |
64 ifneq ($(OPENJDK_TARGET_OS),solaris) |
65 # Exclude Solaris nio and two security related files in src/share/classes |
65 # Exclude Solaris nio and two security related files in src/share/classes |
66 EXFILES += SolarisAclFileAttributeView.java \ |
66 EXFILES += SolarisAclFileAttributeView.java \ |
67 SolarisFileStore.java \ |
67 SolarisFileStore.java \ |
68 SolarisFileSystem.java \ |
68 SolarisFileSystem.java \ |
69 SolarisFileSystemProvider.java \ |
69 SolarisFileSystemProvider.java \ |
70 SolarisNativeDispatcher.java \ |
70 SolarisNativeDispatcher.java \ |
71 SolarisUserDefinedFileAttributeView.java \ |
71 SolarisUserDefinedFileAttributeView.java \ |
72 SolarisWatchService.java \ |
72 SolarisWatchService.java \ |
73 SolarisAclFileAttributeView.java \ |
73 SolarisAclFileAttributeView.java \ |
74 SolarisFileStore.java \ |
|
75 SolarisFileSystem.java \ |
|
76 SolarisFileSystemProvider.java \ |
|
77 SolarisUserDefinedFileAttributeView.java \ |
|
78 SolarisNativeDispatcher.java \ |
|
79 SolarisWatchService.java \ |
|
80 SolarisLoginModule.java \ |
74 SolarisLoginModule.java \ |
81 SolarisSystem.java \ |
75 SolarisSystem.java \ |
|
76 sun/nio/ch/EventPortSelectorImpl.java \ |
|
77 sun/nio/ch/EventPortSelectorProvider.java \ |
|
78 sun/nio/ch/EventPortWrapper.java \ |
82 sun/tools/attach/SolarisAttachProvider.java \ |
79 sun/tools/attach/SolarisAttachProvider.java \ |
83 sun/tools/attach/SolarisVirtualMachine.java |
80 sun/tools/attach/SolarisVirtualMachine.java |
84 endif |
81 endif |
85 |
82 |
86 # In the old build, this isn't excluded on macosx, even though it probably |
83 # In the old build, this isn't excluded on macosx, even though it probably |
87 # should be. |
84 # should be. |
88 ifneq ($(PLATFORM),macosx) |
85 ifneq ($(OPENJDK_TARGET_OS),macosx) |
89 EXFILES+=WrapperGenerator.java |
86 EXFILES+=WrapperGenerator.java |
90 endif |
87 endif |
91 |
88 |
92 ifneq ($(PLATFORM),windows) |
89 ifneq ($(OPENJDK_TARGET_OS),windows) |
93 # Exclude Window security related files in src/share/classes |
90 # Exclude Window security related files in src/share/classes |
94 EXFILES+=NTLoginModule.java \ |
91 EXFILES+=NTLoginModule.java \ |
95 NTSystem.java |
92 NTSystem.java |
96 |
93 |
97 endif |
94 endif |
98 |
95 |
99 ifeq ($(PLATFORM),windows) |
96 ifeq ($(OPENJDK_TARGET_OS),windows) |
100 # Don't build GTK L&F on Windows |
97 # Don't build GTK L&F on Windows |
101 EXCLUDES+= com/sun/java/swing/plaf/gtk |
98 EXCLUDES+= com/sun/java/swing/plaf/gtk |
102 endif |
99 endif |
103 |
100 |
104 ifneq ($(PLATFORM),linux) |
101 ifneq ($(OPENJDK_TARGET_OS),linux) |
105 EXFILES+=sun/tools/attach/LinuxAttachProvider.java \ |
102 EXFILES+=sun/tools/attach/LinuxAttachProvider.java \ |
106 sun/tools/attach/LinuxVirtualMachine.java \ |
103 sun/tools/attach/LinuxVirtualMachine.java \ |
107 sun/nio/fs/LinuxDosFileAttributeView.java \ |
104 sun/nio/fs/LinuxDosFileAttributeView.java \ |
108 sun/nio/fs/LinuxFileStore.java \ |
105 sun/nio/fs/LinuxFileStore.java \ |
109 sun/nio/fs/LinuxFileSystem.java \ |
106 sun/nio/fs/LinuxFileSystem.java \ |
111 sun/nio/fs/LinuxNativeDispatcher.java \ |
108 sun/nio/fs/LinuxNativeDispatcher.java \ |
112 sun/nio/fs/LinuxUserDefinedFileAttributeView.java \ |
109 sun/nio/fs/LinuxUserDefinedFileAttributeView.java \ |
113 sun/nio/fs/LinuxWatchService.java |
110 sun/nio/fs/LinuxWatchService.java |
114 endif |
111 endif |
115 |
112 |
116 ifneq ($(PLATFORM),macosx) |
113 ifneq ($(OPENJDK_TARGET_OS),macosx) |
117 EXFILES+=sun/nio/fs/BsdFileStore.java \ |
114 EXFILES+=sun/nio/fs/BsdFileStore.java \ |
118 sun/nio/fs/BsdFileSystem.java \ |
115 sun/nio/fs/BsdFileSystem.java \ |
119 sun/nio/fs/BsdFileSystemProvider.java \ |
116 sun/nio/fs/BsdFileSystemProvider.java \ |
120 sun/nio/fs/BsdNativeDispatcher.java \ |
117 sun/nio/fs/BsdNativeDispatcher.java \ |
121 sun/tools/attach/BsdAttachProvider.java \ |
118 sun/tools/attach/BsdAttachProvider.java \ |
135 ifdef OPENJDK |
132 ifdef OPENJDK |
136 EXCLUDES+=sun/java2d/cmm/kcms |
133 EXCLUDES+=sun/java2d/cmm/kcms |
137 endif |
134 endif |
138 |
135 |
139 # Used on windows and macosx |
136 # Used on windows and macosx |
140 ifeq (,$(filter $(PLATFORM), windows macosx)) |
137 ifeq (,$(filter $(OPENJDK_TARGET_OS), windows macosx)) |
141 EXFILES+=sun/awt/AWTCharset.java |
138 EXFILES+=sun/awt/AWTCharset.java |
142 endif |
139 endif |
143 |
140 |
144 ifneq ($(PLATFORM), macosx) |
141 ifneq ($(OPENJDK_TARGET_OS), macosx) |
145 # |
142 # |
146 # Not in rt.jar on solaris and linux...(windows not checked) |
143 # Not in rt.jar on solaris and linux...(windows not checked) |
147 # in rt.jar on macosx ?? |
144 # in rt.jar on macosx ?? |
148 EXFILES+=sun/awt/X11/ScreenFormat.java \ |
145 EXFILES+=sun/awt/X11/ScreenFormat.java \ |
149 sun/awt/X11/XArc.java \ |
146 sun/awt/X11/XArc.java \ |
203 # Exclude *-linux-arm.java and *-linux-ppc.java from closed. |
200 # Exclude *-linux-arm.java and *-linux-ppc.java from closed. |
204 EXFILES+=-linux-arm.java \ |
201 EXFILES+=-linux-arm.java \ |
205 -linux-ppc.java |
202 -linux-ppc.java |
206 |
203 |
207 # TODO: Is this necessary? |
204 # TODO: Is this necessary? |
208 ifeq ($(PLATFORM), windows) |
205 ifeq ($(OPENJDK_TARGET_OS), windows) |
209 EXFILES+=sun/nio/ch/AbstractPollSelectorImpl.java \ |
206 EXFILES+=sun/nio/ch/AbstractPollSelectorImpl.java \ |
210 sun/nio/ch/DevPollArrayWrapper.java \ |
207 sun/nio/ch/DevPollArrayWrapper.java \ |
211 sun/nio/ch/DevPollSelectorImpl.java \ |
208 sun/nio/ch/DevPollSelectorImpl.java \ |
212 sun/nio/ch/DevPollSelectorProvider.java \ |
209 sun/nio/ch/DevPollSelectorProvider.java \ |
213 sun/nio/ch/InheritedChannel.java \ |
210 sun/nio/ch/InheritedChannel.java \ |
246 include CopyIntoClasses.gmk |
243 include CopyIntoClasses.gmk |
247 # Now we have COPY_PATTERNS, COPY_FILES and COPY_EXTRA |
244 # Now we have COPY_PATTERNS, COPY_FILES and COPY_EXTRA |
248 |
245 |
249 ifndef OPENJDK |
246 ifndef OPENJDK |
250 CLOSED_SRC_DIRS:=$(JDK_TOPDIR)/src/closed/share/classes \ |
247 CLOSED_SRC_DIRS:=$(JDK_TOPDIR)/src/closed/share/classes \ |
251 $(JDK_TOPDIR)/src/closed/$(LEGACY_HOST_OS_API)/classes |
248 $(JDK_TOPDIR)/src/closed/$(LEGACY_OPENJDK_TARGET_OS_API)/classes |
252 endif |
249 endif |
253 |
250 |
254 MACOSX_SRC_DIRS := |
251 MACOSX_SRC_DIRS := |
255 ifeq ($(PLATFORM),macosx) |
252 ifeq ($(OPENJDK_TARGET_OS),macosx) |
256 MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/classes |
253 MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/classes |
257 |
254 |
258 # this files are duplicated in MACOSX_SRC_DIRS |
255 # this files are duplicated in MACOSX_SRC_DIRS |
259 EXFILES+= $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java \ |
256 EXFILES+= $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java \ |
260 $(JDK_TOPDIR)/src/solaris/classes/sun/java2d/BackBufferCapsProvider.java \ |
257 $(JDK_TOPDIR)/src/solaris/classes/sun/java2d/BackBufferCapsProvider.java \ |
261 $(JDK_TOPDIR)/src/solaris/classes/java/net/DefaultInterface.java \ |
258 $(JDK_TOPDIR)/src/solaris/classes/java/net/DefaultInterface.java \ |
262 $(JDK_TOPDIR)/src/solaris/classes/java/lang/ClassLoaderHelper.java |
259 $(JDK_TOPDIR)/src/solaris/classes/java/lang/ClassLoaderHelper.java |
|
260 |
|
261 # JObjC.jar contains 1.5 byte-code...so skip it here :-( |
|
262 # MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/jobjc/src |
|
263 # EXCLUDES+= tests/java/com/apple/jobjc |
|
264 |
|
265 EXCLUDES+= com/apple/jobjc |
263 endif |
266 endif |
264 |
267 |
265 # The exception handling of swing beaninfo |
268 # The exception handling of swing beaninfo |
266 # These resources violates the convention of having code and resources together under |
269 # These resources violates the convention of having code and resources together under |
267 # $(JDK_TOPDIR)/src/.../classes directories |
270 # $(JDK_TOPDIR)/src/.../classes directories |
270 $(CP) $< $@ |
273 $(CP) $< $@ |
271 |
274 |
272 $(eval $(call SetupJavaCompilation,BUILD_JDK,\ |
275 $(eval $(call SetupJavaCompilation,BUILD_JDK,\ |
273 SETUP:=GENERATE_JDKBYTECODE,\ |
276 SETUP:=GENERATE_JDKBYTECODE,\ |
274 SRC:=$(JDK_TOPDIR)/src/share/classes \ |
277 SRC:=$(JDK_TOPDIR)/src/share/classes \ |
275 $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes \ |
278 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes \ |
276 $(MACOSX_SRC_DIRS) \ |
279 $(MACOSX_SRC_DIRS) \ |
277 $(JDK_OUTPUTDIR)/gensrc \ |
280 $(JDK_OUTPUTDIR)/gensrc \ |
278 $(JDK_OUTPUTDIR)/gensrc_swing/javax/swing/beaninfo \ |
281 $(JDK_OUTPUTDIR)/gensrc_swing/javax/swing/beaninfo \ |
279 $(CLOSED_SRC_DIRS),\ |
282 $(CLOSED_SRC_DIRS),\ |
280 EXCLUDES:=$(EXCLUDES),\ |
283 EXCLUDES:=$(EXCLUDES),\ |
295 sun.nio.ch.IOStatus |
298 sun.nio.ch.IOStatus |
296 |
299 |
297 JDK_BASE_HEADER_JAVA_FILES:=$(patsubst %,$(JDK_TOPDIR)/src/share/classes/%.java,\ |
300 JDK_BASE_HEADER_JAVA_FILES:=$(patsubst %,$(JDK_TOPDIR)/src/share/classes/%.java,\ |
298 $(subst .,/,$(JDK_BASE_HEADER_CLASSES))) |
301 $(subst .,/,$(JDK_BASE_HEADER_CLASSES))) |
299 |
302 |
300 ifeq ($(PLATFORM),windows) |
303 ifeq ($(OPENJDK_TARGET_OS),windows) |
301 JDK_BASE_HEADER_CLASSES_WINDOWS:=sun.nio.ch.PollArrayWrapper |
304 JDK_BASE_HEADER_CLASSES_WINDOWS:=sun.nio.ch.PollArrayWrapper |
302 JDK_BASE_HEADER_CLASSES+=$(JDK_BASE_HEADER_CLASSES_WINDOWS) |
305 JDK_BASE_HEADER_CLASSES+=$(JDK_BASE_HEADER_CLASSES_WINDOWS) |
303 JDK_BASE_HEADER_JAVA_FILES+=$(patsubst %,$(JDK_TOPDIR)/src/windows/classes/%.java,\ |
306 JDK_BASE_HEADER_JAVA_FILES+=$(patsubst %,$(JDK_TOPDIR)/src/windows/classes/%.java,\ |
304 $(subst .,/,$(JDK_BASE_HEADER_CLASSES_WINDOWS))) |
307 $(subst .,/,$(JDK_BASE_HEADER_CLASSES_WINDOWS))) |
305 endif |
308 endif |
346 $(MKDIR) -p $(@D) |
349 $(MKDIR) -p $(@D) |
347 $(TOUCH) $@ |
350 $(TOUCH) $@ |
348 |
351 |
349 ########################################################################################## |
352 ########################################################################################## |
350 |
353 |
|
354 ifeq ($(OPENJDK_TARGET_OS),macosx) |
|
355 # |
|
356 # JObjC.jar is compiled with BOOT_JAVAC which (may) not support the "-h" flag. |
|
357 # so we first compile classes with BOOT_JAVAC and then with JDK_JAVAC :-( |
|
358 # |
|
359 $(eval $(call SetupJavaCompiler,GENERATE_15BYTECODE,\ |
|
360 JAVAC:=$(JAVAC),\ |
|
361 FLAGS:=-source 1.5 -target 1.5 -g -bootclasspath $(BOOT_RTJAR) -cp $(JDK_OUTPUTDIR)/../langtools/dist/lib/classes.jar $(DISABLE_WARNINGS),\ |
|
362 SERVER_DIR:=$(JAVAC_SERVERS),\ |
|
363 SERVER_JVM:=$(SERVER_JAVA),\ |
|
364 MODE:=$(JAVAC_USE_MODE),\ |
|
365 USE_DEPS:=$(JAVAC_USE_DEPS))) |
|
366 |
|
367 $(eval $(call SetupJavaCompilation,BUILD_JOBJC_JAR,\ |
|
368 SETUP:=GENERATE_15BYTECODE,\ |
|
369 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/java \ |
|
370 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/java \ |
|
371 $(JDK_OUTPUTDIR)/gensrc, \ |
|
372 INCLUDES := com/apple/jobjc,\ |
|
373 EXCLUDES := tests/java/com/apple/jobjc,\ |
|
374 BIN:=$(JDK_OUTPUTDIR)/jobjc_classes,\ |
|
375 JAR:=$(JDK_OUTPUTDIR)/lib/JObjC.jar, \ |
|
376 JARINDEX := true)) |
|
377 |
|
378 $(BUILD_JOBJC_JAR) : $(BUILD_JDK) |
|
379 |
|
380 JARS += $(JDK_OUTPUTDIR)/lib/JObjC.jar |
|
381 |
|
382 $(eval $(call SetupJavaCompilation,BUILD_JOBJC_HEADERS_JAR,\ |
|
383 SETUP:=GENERATE_JDKBYTECODE,\ |
|
384 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/java \ |
|
385 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/java \ |
|
386 $(JDK_OUTPUTDIR)/gensrc, \ |
|
387 INCLUDES := com/apple/jobjc,\ |
|
388 EXCLUDES := tests/java/com/apple/jobjc,\ |
|
389 BIN:=$(JDK_OUTPUTDIR)/jobjc_classes_headers,\ |
|
390 JAR:=$(JDK_OUTPUTDIR)/jobjc_classes_headers/dummy.jar, \ |
|
391 HEADERS:=$(JDK_OUTPUTDIR)/gensrc_headers)) |
|
392 |
|
393 $(BUILD_JOBJC_HEADERS_JAR) : $(BUILD_JDK) |
|
394 |
|
395 JARS += $(JDK_OUTPUTDIR)/jobjc_classes_headers/dummy.jar |
|
396 |
|
397 endif |
|
398 |
|
399 ########################################################################################## |
|
400 |
351 # copy with -a to preserve timestamps so dependencies down the line aren't messed up |
401 # copy with -a to preserve timestamps so dependencies down the line aren't messed up |
352 all: $(BUILD_JDK) $(JARS) $(COPY_EXTRA) $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin \ |
402 all: $(BUILD_JDK) $(JARS) $(COPY_EXTRA) $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin \ |
353 $(JDK_OUTPUTDIR)/classes/_the.jdk.base.headers |
403 $(JDK_OUTPUTDIR)/classes/_the.jdk.base.headers |
354 |
404 |
355 .PHONY: all |
405 .PHONY: all |