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