1 # 2 # Copyright (c) 2011, 2014, 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 ifeq ($(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 52 endif 53 54 ########################################################################################## 55 56 ifeq ($(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_headers_icons \ 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 90 endif 91 92 ########################################################################################## 93 94 ifeq ($(OPENJDK_TARGET_OS), macosx) 95 96 LIBOSX_DIRS := \ 97 $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \ 98 $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \ 99 $(JDK_TOPDIR)/src/macosx/native/apple/security \ 100 $(JDK_TOPDIR)/src/macosx/native/apple/launcher 101 102 $(eval $(call SetupNativeCompilation,BUILD_LIBOSX, \ 103 LIBRARY := osx, \ 104 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 105 SRC := $(LIBOSX_DIRS), \ 106 LANG := C, \ 107 OPTIMIZATION := LOW, \ 108 CFLAGS := $(CFLAGS_JDKLIB) \ 109 $(foreach dir, $(LIBOSX_DIRS), -I$(dir)) \ 110 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \ 111 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 112 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \ 113 LDFLAGS := $(LDFLAGS_JDKLIB) \ 114 $(call SET_SHARED_LIBRARY_ORIGIN), \ 115 LDFLAGS_SUFFIX_macosx := \ 116 -losxapp \ 117 -framework Cocoa \ 118 -framework ApplicationServices \ 119 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 120 -framework JavaNativeFoundation \ 121 -framework JavaRuntimeSupport \ 122 -framework Security \ 123 -framework SystemConfiguration \ 124 $(LDFLAGS_JDKLIB_SUFFIX), \ 125 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libosx, \ 126 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) 127 128 BUILD_LIBRARIES += $(BUILD_LIBOSX) 129 130 $(BUILD_LIBOSX): $(BUILD_LIBOSXAPP) 131 132 $(BUILD_LIBOSX): $(BUILD_LIBJAVA) 133 134 endif 135 136 ########################################################################################## 137 138 ifndef OPENJDK 139 ifeq ($(OPENJDK_TARGET_OS), windows) 140 141 ACCESSBRIDGE_SRCDIR := $(JDK_TOPDIR)/src/closed/windows/native/sun/bridge 142 143 define SetupAccessBridge 144 # Parameter 1 Suffix 145 # Parameter 2 Machine 146 # Parameter 3 ACCESSBRIDGE_ARCH_ suffix and name of directory where gensrc headers 147 # are found. 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 -I$(JDK_OUTPUTDIR)/gensrc_headers_ab/$3, \ 159 LDFLAGS := $(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \ 160 winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib \ 161 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \ 162 -subsystem:windows -machine:$2 \ 163 -def:$(ACCESSBRIDGE_SRCDIR)/JAWTAccessBridge.DEF, \ 164 VERSIONINFO_RESOURCE := $(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc, \ 165 RC_FLAGS := $(RC_FLAGS) \ 166 -D "JDK_FNAME=JAWTAccessBridge$1.dll" \ 167 -D "JDK_INTERNAL_NAME=JAWTAccessBridge$1" \ 168 -D "JDK_FTYPE=0x02L", \ 169 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1, \ 170 DEBUG_SYMBOLS := true) 171 172 $$(BUILD_JAWTACCESSBRIDGE$1): $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) 173 174 $(call SetupNativeCompilation,BUILD_JAVAACCESSBRIDGE$1, \ 175 LIBRARY = JavaAccessBridge$1, \ 176 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 177 SRC := $(ACCESSBRIDGE_SRCDIR), \ 178 INCLUDE_FILES := AccessBridgeATInstance.cpp AccessBridgeDebug.cpp \ 179 AccessBridgeJavaEntryPoints.cpp \ 180 AccessBridgeMessages.cpp JavaAccessBridge.cpp, \ 181 LANG := C++, \ 182 OPTIMIZATION := LOW, \ 183 CFLAGS := $(CFLAGS_JDKLIB) \ 184 -DACCESSBRIDGE_ARCH_$3 \ 185 -I$(JDK_OUTPUTDIR)/gensrc_headers_ab/$3, \ 186 LDFLAGS := $(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \ 187 winspool.lib comdlg32.lib advapi32.lib shell32.lib \ 188 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \ 189 -subsystem:windows -machine:$2 \ 190 -def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF, \ 191 VERSIONINFO_RESOURCE := $(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc, \ 192 RC_FLAGS := $(RC_FLAGS) \ 193 -D "JDK_FNAME=JavaAccessBridge$1.dll" \ 194 -D "JDK_INTERNAL_NAME=JavaAccessBridge$1" \ 195 -D "JDK_FTYPE=0x02L", \ 196 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1, \ 197 DEBUG_SYMBOLS := true) 198 199 $(call SetupNativeCompilation,BUILD_WINDOWSACCESSBRIDGE$1, \ 200 LIBRARY = WindowsAccessBridge$1, \ 201 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 202 SRC := $(ACCESSBRIDGE_SRCDIR), \ 203 INCLUDE_FILES := AccessBridgeJavaVMInstance.cpp AccessBridgeMessageQueue.cpp \ 204 AccessBridgeMessages.cpp AccessBridgeWindowsEntryPoints.cpp \ 205 WinAccessBridge.cpp AccessBridgeDebug.cpp \ 206 AccessBridgeEventHandler.cpp, \ 207 LANG := C++, \ 208 OPTIMIZATION := LOW, \ 209 CFLAGS := $(filter-out -MD, $(CFLAGS_JDKLIB)) -MT \ 210 -DACCESSBRIDGE_ARCH_$3 \ 211 -I$(JDK_OUTPUTDIR)/gensrc_headers_ab/$3, \ 212 LDFLAGS := $(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \ 213 winspool.lib comdlg32.lib advapi32.lib shell32.lib \ 214 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \ 215 -subsystem:windows -machine:$2 \ 216 -def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF, \ 217 VERSIONINFO_RESOURCE := $(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc, \ 218 RC_FLAGS := $(RC_FLAGS) \ 219 -D "JDK_FNAME=WindowsAccessBridge$1.dll" \ 220 -D "JDK_INTERNAL_NAME=WindowsAccessBridge$1" \ 221 -D "JDK_FTYPE=0x02L", \ 222 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1, \ 223 DEBUG_SYMBOLS := true) 224 225 BUILD_LIBRARIES += $$(BUILD_JAWTACCESSBRIDGE$1) $$(BUILD_JAVAACCESSBRIDGE$1) \ 226 $$(BUILD_WINDOWSACCESSBRIDGE$1) 227 228 endef 229 230 ifeq ($(OPENJDK_TARGET_CPU_BITS), 32) 231 $(eval $(call SetupAccessBridge,-32,I386,32)) 232 $(eval $(call SetupAccessBridge,,I386,legacy)) 233 else 234 $(eval $(call SetupAccessBridge,-64,X64,64)) 235 endif 236 endif 237 endif