make/copy/Copy-java.desktop.gmk
changeset 47216 71c04702a3d5
parent 45533 e6707cd51e28
child 47217 72e3ae9a25eb
equal deleted inserted replaced
47215:4ebc2e2fb97c 47216:71c04702a3d5
       
     1 #
       
     2 # Copyright (c) 2014, 2016, 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 CopyCommon.gmk
       
    27 
       
    28 $(eval $(call IncludeCustomExtension, jdk, copy/Copy-java.desktop.gmk))
       
    29 
       
    30 ################################################################################
       
    31 
       
    32 TARGETS += \
       
    33     $(INCLUDE_DST_DIR)/jawt.h \
       
    34     $(INCLUDE_DST_OS_DIR)/jawt_md.h \
       
    35     #
       
    36 
       
    37 $(INCLUDE_DST_DIR)/%.h: $(JDK_TOPDIR)/src/java.desktop/share/native/include/%.h
       
    38 	$(call install-file)
       
    39 
       
    40 $(INCLUDE_DST_OS_DIR)/%.h: \
       
    41     $(JDK_TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_EXPORT_DIR)/native/include/%.h
       
    42 	$(call install-file)
       
    43 
       
    44 ################################################################################
       
    45 
       
    46 ifneq ($(FREETYPE_BUNDLE_LIB_PATH), )
       
    47   # We need to bundle the freetype library, so it will be available at runtime as well as link time.
       
    48   #
       
    49   # NB: Default freetype build system uses -h linker option and
       
    50   # result .so contains hardcoded library name that is later
       
    51   # used for adding dependencies to other objects
       
    52   # (e.g. libfontmanager.so).
       
    53   #
       
    54   # It is not obvious how to extract that hardcoded name (libfreetype.so.6)
       
    55   # without overcomplicating logic here.
       
    56   # To workaround this we hardcode .6 suffix for now.
       
    57   #
       
    58   # Note that .so.6 library will not be found by System.loadLibrary()
       
    59   # but fortunately we need to load FreeType library explicitly
       
    60   # on windows only
       
    61   #
       
    62   #TODO: rework this to avoid hardcoding library name in the makefile
       
    63   #
       
    64   ifeq ($(OPENJDK_TARGET_OS), windows)
       
    65     FREETYPE_TARGET_LIB := $(LIB_DST_DIR)/$(call SHARED_LIBRARY,freetype)
       
    66   else
       
    67     FREETYPE_TARGET_LIB := $(LIB_DST_DIR)/$(call SHARED_LIBRARY,freetype).6
       
    68   endif
       
    69 
       
    70   # We can't use $(install-file) in this rule because it preserves symbolic links and
       
    71   # libfreetype.so is usually a symbolic link to something like libfreetype.so.6 on Unix.
       
    72   $(FREETYPE_TARGET_LIB): $(FREETYPE_BUNDLE_LIB_PATH)/$(call SHARED_LIBRARY,freetype)
       
    73 	$(MKDIR) -p $(@D)
       
    74 	$(CP) $< $@
       
    75         ifeq ($(OPENJDK_BUILD_OS), windows)
       
    76 	  $(CHMOD) +rx $@
       
    77         endif
       
    78 
       
    79   TARGETS += $(FREETYPE_TARGET_LIB)
       
    80 
       
    81   $(eval $(call SetupCopyFiles, COPY_FREETYPE_LICENSE, \
       
    82       FILES := $(FREETYPE_LICENSE), \
       
    83       DEST := $(LEGAL_DST_DIR), \
       
    84   ))
       
    85 
       
    86   TARGETS += $(COPY_FREETYPE_LICENSE)
       
    87 endif
       
    88 
       
    89 ################################################################################
       
    90 
       
    91 $(CONF_DST_DIR)/sound.properties: $(JDK_TOPDIR)/src/java.desktop/share/conf/sound.properties
       
    92 	$(call install-file)
       
    93 
       
    94 TARGETS += $(CONF_DST_DIR)/sound.properties
       
    95 
       
    96 ################################################################################
       
    97 #
       
    98 # Copy property files from sun/print to LIB_DST_DIR
       
    99 #
       
   100 PSFONTPROPFILE_SRC_DIR := $(JDK_TOPDIR)/src/java.desktop/share/conf
       
   101 PSFONTPROPFILE_SRCS := $(wildcard $(PSFONTPROPFILE_SRC_DIR)/psfont*.properties*)
       
   102 PSFONTPROPFILE_TARGET_FILES := $(subst $(PSFONTPROPFILE_SRC_DIR),$(LIB_DST_DIR),$(PSFONTPROPFILE_SRCS))
       
   103 
       
   104 $(LIB_DST_DIR)/%: $(PSFONTPROPFILE_SRC_DIR)/%
       
   105 	$(call install-file)
       
   106 
       
   107 TARGETS += $(PSFONTPROPFILE_TARGET_FILES)
       
   108 
       
   109 ################################################################################