1 # 2 # Copyright (c) 2011, 2013, 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/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 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/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 135 endif 136 137 ########################################################################################## 138 139 ifndef 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, \ 164 RC_FLAGS := $(RC_FLAGS), \ 165 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1, \ 166 DEBUG_SYMBOLS := true) 167 168 $$(BUILD_JAWTACCESSBRIDGE$1): $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) 169 170 $(call SetupNativeCompilation,BUILD_JAVAACCESSBRIDGE$1, \ 171 LIBRARY = JavaAccessBridge$1, \ 172 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 173 SRC := $(ACCESSBRIDGE_SRCDIR), \ 174 INCLUDE_FILES := AccessBridgeATInstance.cpp AccessBridgeDebug.cpp \ 175 AccessBridgeJavaEntryPoints.cpp \ 176 AccessBridgeMessages.cpp JavaAccessBridge.cpp, \ 177 LANG := C++, \ 178 OPTIMIZATION := LOW, \ 179 CFLAGS := $(CFLAGS_JDKLIB) \ 180 -DACCESSBRIDGE_ARCH_$3, \ 181 LDFLAGS := $(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \ 182 winspool.lib comdlg32.lib advapi32.lib shell32.lib \ 183 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \ 184 -subsystem:windows -machine:$2 \ 185 -def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF, \ 186 VERSIONINFO_RESOURCE := $(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc, \ 187 RC_FLAGS := $(RC_FLAGS), \ 188 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1, \ 189 DEBUG_SYMBOLS := true) 190 191 $(call SetupNativeCompilation,BUILD_WINDOWSACCESSBRIDGE$1, \ 192 LIBRARY = WindowsAccessBridge$1, \ 193 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 194 SRC := $(ACCESSBRIDGE_SRCDIR), \ 195 INCLUDE_FILES := AccessBridgeJavaVMInstance.cpp AccessBridgeMessageQueue.cpp \ 196 AccessBridgeMessages.cpp AccessBridgeWindowsEntryPoints.cpp \ 197 WinAccessBridge.cpp AccessBridgeDebug.cpp \ 198 AccessBridgeEventHandler.cpp, \ 199 LANG := C++, \ 200 OPTIMIZATION := LOW, \ 201 CFLAGS := $(filter-out -MD, $(CFLAGS_JDKLIB)) -MT \ 202 -DACCESSBRIDGE_ARCH_$3, \ 203 LDFLAGS := $(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \ 204 winspool.lib comdlg32.lib advapi32.lib shell32.lib \ 205 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \ 206 -subsystem:windows -machine:$2 \ 207 -def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF, \ 208 VERSIONINFO_RESOURCE := $(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc, \ 209 RC_FLAGS := $(RC_FLAGS), \ 210 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1, \ 211 DEBUG_SYMBOLS := true) 212 213 BUILD_LIBRARIES += $$(BUILD_JAWTACCESSBRIDGE$1) $$(BUILD_JAVAACCESSBRIDGE$1) \ 214 $$(BUILD_WINDOWSACCESSBRIDGE$1) 215 216 endef 217 218 ifeq ($(OPENJDK_TARGET_CPU_BITS), 32) 219 $(eval $(call SetupAccessBridge,-32,I386,32)) 220 $(eval $(call SetupAccessBridge,,I386,LEGACY)) 221 else 222 $(eval $(call SetupAccessBridge,-64,X64,64)) 223 endif 224 endif 225 endif