blob: 533c698f2ab074ced34975981a82a245e9344d49 [file] [log] [blame]
ihse0962aa62013-10-16 20:24:46 +02001#
ptbrunet0dc55502014-02-27 16:11:08 -06002# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
ihse0962aa62013-10-16 20:24:46 +02003# 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
26ifeq ($(OPENJDK_TARGET_OS), macosx)
27
28 $(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE, \
29 LIBRARY := AppleScriptEngine, \
30 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
31 SRC := $(JDK_TOPDIR)/src/macosx/native/apple/applescript, \
32 LANG := C, \
33 OPTIMIZATION := LOW, \
34 CFLAGS := $(CFLAGS_JDKLIB) \
35 -I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
36 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
37 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
38 LDFLAGS := $(LDFLAGS_JDKLIB) \
39 $(call SET_SHARED_LIBRARY_ORIGIN), \
40 LDFLAGS_SUFFIX := -framework Cocoa \
41 -framework Carbon \
42 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
43 -framework JavaNativeFoundation \
44 $(LDFLAGS_JDKLIB_SUFFIX), \
45 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libAppleScriptEngine, \
46 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
47
48 $(BUILD_LIBAPPLESCRIPTENGINE): $(BUILD_LIBJAVA)
49
50 BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE)
51
52endif
53
54##########################################################################################
55
56ifeq ($(OPENJDK_TARGET_OS), macosx)
57
58 $(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP, \
59 LIBRARY := osxapp, \
60 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
61 SRC := $(JDK_TOPDIR)/src/macosx/native/sun/osxapp, \
62 LANG := C, \
63 OPTIMIZATION := LOW, \
64 CFLAGS := $(CFLAGS_JDKLIB) \
65 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
66 -I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \
67 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
68 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
69 LDFLAGS := $(LDFLAGS_JDKLIB) \
70 $(call SET_SHARED_LIBRARY_ORIGIN), \
71 LDFLAGS_SUFFIX_macosx := \
72 -framework Accelerate \
73 -framework ApplicationServices \
74 -framework AudioToolbox \
75 -framework Carbon \
76 -framework Cocoa \
77 -framework Security \
78 -framework ExceptionHandling \
79 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
80 -framework JavaNativeFoundation \
81 -framework JavaRuntimeSupport \
82 -framework OpenGL \
83 -framework IOSurface \
84 -framework QuartzCore, \
85 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libosxapp, \
86 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
87
88 BUILD_LIBRARIES += $(BUILD_LIBOSXAPP)
89
90endif
91
92##########################################################################################
93
94ifeq ($(OPENJDK_TARGET_OS), macosx)
95
96 LIBOSX_DIRS := \
97 $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
98 $(JDK_TOPDIR)/src/macosx/native/java/util \
99 $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
100 $(JDK_TOPDIR)/src/macosx/native/apple/security \
101 $(JDK_TOPDIR)/src/macosx/native/apple/launcher
102
103 $(eval $(call SetupNativeCompilation,BUILD_LIBOSX, \
104 LIBRARY := osx, \
105 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
106 SRC := $(LIBOSX_DIRS), \
107 LANG := C, \
108 OPTIMIZATION := LOW, \
109 CFLAGS := $(CFLAGS_JDKLIB) \
110 $(foreach dir, $(LIBOSX_DIRS), -I$(dir)) \
111 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
112 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
113 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
114 LDFLAGS := $(LDFLAGS_JDKLIB) \
115 $(call SET_SHARED_LIBRARY_ORIGIN), \
116 LDFLAGS_SUFFIX_macosx := \
117 -losxapp \
118 -framework Cocoa \
119 -framework ApplicationServices \
120 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
121 -framework JavaNativeFoundation \
122 -framework JavaRuntimeSupport \
123 -framework Security \
124 -framework SystemConfiguration \
125 $(LDFLAGS_JDKLIB_SUFFIX), \
126 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libosx, \
127 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
128
129 BUILD_LIBRARIES += $(BUILD_LIBOSX)
130
131 $(BUILD_LIBOSX): $(BUILD_LIBOSXAPP)
132
133 $(BUILD_LIBOSX): $(BUILD_LIBJAVA)
134
135endif
136
137##########################################################################################
138
ihse0962aa62013-10-16 20:24:46 +0200139ifndef OPENJDK
140 ifeq ($(OPENJDK_TARGET_OS), windows)
141
142 ACCESSBRIDGE_SRCDIR := $(JDK_TOPDIR)/src/closed/windows/native/sun/bridge
143
144 define SetupAccessBridge
145 # Parameter 1 Suffix
146 # Parameter 2 Machine
147 # Parameter 3 ACCESSBRIDGE_ARCH_ suffix
148
149 $(call SetupNativeCompilation,BUILD_JAWTACCESSBRIDGE$1, \
150 LIBRARY = JAWTAccessBridge$1, \
151 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
152 SRC := $(ACCESSBRIDGE_SRCDIR), \
153 INCLUDE_FILES := JAWTAccessBridge.cpp, \
154 LANG := C++, \
155 OPTIMIZATION := LOW, \
156 CFLAGS := $(CFLAGS_JDKLIB) \
157 -DACCESSBRIDGE_ARCH_$3, \
158 LDFLAGS := $(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
159 winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib \
160 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
161 -subsystem:windows -machine:$2 \
162 -def:$(ACCESSBRIDGE_SRCDIR)/JAWTAccessBridge.DEF, \
163 VERSIONINFO_RESOURCE := $(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc, \
ptbrunet0dc55502014-02-27 16:11:08 -0600164 RC_FLAGS := $(RC_FLAGS) \
165 -D "JDK_FNAME=JAWTAccessBridge$1.dll" \
166 -D "JDK_INTERNAL_NAME=JAWTAccessBridge$1" \
167 -D "JDK_FTYPE=0x02L", \
ihse0962aa62013-10-16 20:24:46 +0200168 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1, \
169 DEBUG_SYMBOLS := true)
170
171 $$(BUILD_JAWTACCESSBRIDGE$1): $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
172
173 $(call SetupNativeCompilation,BUILD_JAVAACCESSBRIDGE$1, \
174 LIBRARY = JavaAccessBridge$1, \
175 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
176 SRC := $(ACCESSBRIDGE_SRCDIR), \
177 INCLUDE_FILES := AccessBridgeATInstance.cpp AccessBridgeDebug.cpp \
178 AccessBridgeJavaEntryPoints.cpp \
179 AccessBridgeMessages.cpp JavaAccessBridge.cpp, \
180 LANG := C++, \
181 OPTIMIZATION := LOW, \
182 CFLAGS := $(CFLAGS_JDKLIB) \
183 -DACCESSBRIDGE_ARCH_$3, \
184 LDFLAGS := $(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
185 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
186 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
187 -subsystem:windows -machine:$2 \
188 -def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF, \
189 VERSIONINFO_RESOURCE := $(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc, \
ptbrunet0dc55502014-02-27 16:11:08 -0600190 RC_FLAGS := $(RC_FLAGS) \
191 -D "JDK_FNAME=JavaAccessBridge$1.dll" \
192 -D "JDK_INTERNAL_NAME=JavaAccessBridge$1" \
193 -D "JDK_FTYPE=0x02L", \
ihse0962aa62013-10-16 20:24:46 +0200194 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1, \
195 DEBUG_SYMBOLS := true)
196
197 $(call SetupNativeCompilation,BUILD_WINDOWSACCESSBRIDGE$1, \
198 LIBRARY = WindowsAccessBridge$1, \
199 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
200 SRC := $(ACCESSBRIDGE_SRCDIR), \
201 INCLUDE_FILES := AccessBridgeJavaVMInstance.cpp AccessBridgeMessageQueue.cpp \
202 AccessBridgeMessages.cpp AccessBridgeWindowsEntryPoints.cpp \
203 WinAccessBridge.cpp AccessBridgeDebug.cpp \
204 AccessBridgeEventHandler.cpp, \
205 LANG := C++, \
206 OPTIMIZATION := LOW, \
207 CFLAGS := $(filter-out -MD, $(CFLAGS_JDKLIB)) -MT \
208 -DACCESSBRIDGE_ARCH_$3, \
209 LDFLAGS := $(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
210 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
211 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
212 -subsystem:windows -machine:$2 \
213 -def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF, \
214 VERSIONINFO_RESOURCE := $(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc, \
ptbrunet0dc55502014-02-27 16:11:08 -0600215 RC_FLAGS := $(RC_FLAGS) \
216 -D "JDK_FNAME=WindowsAccessBridge$1.dll" \
217 -D "JDK_INTERNAL_NAME=WindowsAccessBridge$1" \
218 -D "JDK_FTYPE=0x02L", \
ihse0962aa62013-10-16 20:24:46 +0200219 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1, \
220 DEBUG_SYMBOLS := true)
221
222 BUILD_LIBRARIES += $$(BUILD_JAWTACCESSBRIDGE$1) $$(BUILD_JAVAACCESSBRIDGE$1) \
223 $$(BUILD_WINDOWSACCESSBRIDGE$1)
224
225 endef
226
227 ifeq ($(OPENJDK_TARGET_CPU_BITS), 32)
228 $(eval $(call SetupAccessBridge,-32,I386,32))
229 $(eval $(call SetupAccessBridge,,I386,LEGACY))
230 else
231 $(eval $(call SetupAccessBridge,-64,X64,64))
232 endif
233 endif
234endif