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 include $(SPEC) 27 include MakeBase.gmk 28 include NativeCompilation.gmk 29 30 # Build tools 31 include Tools.gmk 32 33 GLOBAL_VERSION_INFO_RESOURCE := $(JDK_TOPDIR)/src/java.base/windows/native/common/version.rc 34 35 # Absolute paths to lib files on windows for use in LDFLAGS. Should figure out a more 36 # elegant solution to this. 37 WIN_JAVA_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib 38 39 ifdef OPENJDK 40 # Build everything with debugging on OpenJDK 41 DEBUG_ALL_BINARIES := true 42 else 43 # Use this variable to set DEBUG_SYMBOLS true on windows for all libraries, but 44 # not on other platforms. 45 ifeq ($(OPENJDK_TARGET_OS), windows) 46 DEBUG_ALL_BINARIES := true 47 else 48 DEBUG_ALL_BINARIES := false 49 endif 50 endif 51 52 ################################################################################ 53 # Find the default set of src dirs for a native library. 54 # Param 1 - module name 55 # Param 2 - library name 56 define FindSrcDirsForLib 57 $(call uniq, $(wildcard \ 58 $(JDK_TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS)/native/lib$(strip $2) \ 59 $(JDK_TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS_TYPE)/native/lib$(strip $2) \ 60 $(JDK_TOPDIR)/src/$(strip $1)/share/native/lib$(strip $2))) 61 endef 62 63 ################################################################################ 64 # Find lib dir for module 65 # Param 1 - module name 66 ifeq ($(OPENJDK_TARGET_OS_TYPE), unix) 67 define FindLibDirForModule 68 $(SUPPORT_OUTPUTDIR)/modules_libs/$(strip $1)$(OPENJDK_TARGET_CPU_LIBDIR) 69 endef 70 else 71 define FindLibDirForModule 72 $(SUPPORT_OUTPUTDIR)/modules_libs/$(strip $1) 73 endef 74 endif 75 76 ################################################################################ 77 # Find a library 78 # Param 1 - module name 79 # Param 2 - library name 80 # Param 3 - subdir for library 81 define FindLib 82 $(strip \ 83 $(call FindLibDirForModule, $(strip $1))$(strip $3)/$(LIBRARY_PREFIX)$(strip $2)$(SHARED_LIBRARY_SUFFIX) \ 84 ) 85 endef 86 87 ################################################################################ 88 # Define the header include flags needed to compile against it. 89 LIBJAVA_HEADER_FLAGS := $(addprefix -I, $(call FindSrcDirsForLib, java.base, java)) 90 91 # Put the libraries here. 92 INSTALL_LIBRARIES_HERE := $(call FindLibDirForModule, $(MODULE)) 93 94 ################################################################################ 95 96 # Define it here since there are multiple uses. 97 ifeq ($(USE_EXTERNAL_LIBZ), true) 98 LIBZ := -lz 99 else 100 ZLIB_CPPFLAGS := -I$(JDK_TOPDIR)/src/java.base/share/native/libzip/zlib-1.2.8 101 endif