1 #
2 # Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 #
5 # This code is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License version 2 only, as
7 # published by the Free Software Foundation. Oracle designates this
8 # particular file as subject to the "Classpath" exception as provided
9 # by Oracle in the LICENSE file that accompanied this code.
10 #
11 # This code is distributed in the hope that it will be useful, but WITHOUT
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 # version 2 for more details (a copy is included in the LICENSE file that
15 # accompanied this code).
16 #
17 # You should have received a copy of the GNU General Public License version
18 # 2 along with this work; if not, write to the Free Software Foundation,
19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 #
21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 # or visit www.oracle.com if you need additional information or have any
23 # questions.
24 #
25
26 ################################################################################
27 # This file builds the native component of the JTReg tests for JDK.
28 # It also covers the test-image part, where the built files are copied to the
29 # test image.
30 ################################################################################
31
32 default: all
33
34 include $(SPEC)
35 include MakeBase.gmk
36 include TestFilesCompilation.gmk
37
38 $(eval $(call IncludeCustomExtension, test/JtregNativeJdk.gmk))
39
40 ################################################################################
41 # Targets for building the native tests themselves.
42 ################################################################################
43
44 # This might have been added to by a custom extension.
45 BUILD_JDK_JTREG_NATIVE_SRC += $(TOPDIR)/test/jdk
46
47 BUILD_JDK_JTREG_OUTPUT_DIR := $(OUTPUTDIR)/support/test/jdk/jtreg/native
48
49 BUILD_JDK_JTREG_IMAGE_DIR := $(TEST_IMAGE_DIR)/jdk/jtreg
50
51 # Platform specific setup
52 ifeq ($(OPENJDK_TARGET_OS), windows)
53 BUILD_JDK_JTREG_EXCLUDE += libDirectIO.c libInheritedChannel.c
54
55 WIN_LIB_JAVA := $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib
56 BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := $(WIN_LIB_JAVA)
57 else
58 BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := -ljava
59 BUILD_JDK_JTREG_LIBRARIES_LIBS_libDirectIO := -ljava
60 ifeq ($(OPENJDK_TARGET_OS), linux)
61 BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava
62 BUILD_JDK_JTREG_LIBRARIES_LIBS_libRsocketTest := -ljava -lrdmacm
63 else ifeq ($(OPENJDK_TARGET_OS), solaris)
64 BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava
65 endif
66 endif
67
68 ifeq ($(OPENJDK_TARGET_OS), macosx)
69 BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libTestMainKeyWindow := -ObjC
70 BUILD_JDK_JTREG_LIBRARIES_LIBS_libTestMainKeyWindow := -framework JavaVM \
71 -framework Cocoa -framework JavaNativeFoundation
72 else
73 BUILD_JDK_JTREG_EXCLUDE += libTestMainKeyWindow.c
74 endif
75
76 $(eval $(call SetupTestFilesCompilation, BUILD_JDK_JTREG_LIBRARIES, \
77 TYPE := LIBRARY, \
78 SOURCE_DIRS := $(BUILD_JDK_JTREG_NATIVE_SRC), \
79 OUTPUT_DIR := $(BUILD_JDK_JTREG_OUTPUT_DIR), \
80 EXCLUDE := $(BUILD_JDK_JTREG_EXCLUDE), \
81 ))
82
83 $(eval $(call SetupTestFilesCompilation, BUILD_JDK_JTREG_EXECUTABLES, \
84 TYPE := PROGRAM, \
85 SOURCE_DIRS := $(BUILD_JDK_JTREG_NATIVE_SRC), \
86 OUTPUT_DIR := $(BUILD_JDK_JTREG_OUTPUT_DIR), \
87 EXCLUDE := $(BUILD_JDK_JTREG_EXCLUDE), \
88 ))
89
90 build-test-jdk-jtreg-native: $(BUILD_JDK_JTREG_LIBRARIES) $(BUILD_JDK_JTREG_EXECUTABLES)
91
92 ################################################################################
93 # Targets for building test-image.
94 ################################################################################
95
96 # Copy to jdk jtreg test image
97 $(eval $(call SetupCopyFiles,COPY_JDK_JTREG_NATIVE, \
98 SRC := $(BUILD_JDK_JTREG_OUTPUT_DIR), \
99 DEST := $(TEST_IMAGE_DIR)/jdk/jtreg/native, \
100 FILES := $(BUILD_JDK_JTREG_LIBRARIES) $(BUILD_JDK_JTREG_EXECUTABLES), \
101 FLATTEN := true))
102
103 test-image-jdk-jtreg-native: $(COPY_JDK_JTREG_NATIVE)
104
105 all: build-test-jdk-jtreg-native
106 test-image: test-image-jdk-jtreg-native
107
108 .PHONY: default all build-test-jdk-jtreg-native test-image-jdk-jtreg-native test-image
--- EOF ---