1 #
   2 # Copyright (c) 2011, 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 INCLUDEDIR = $(JDK_OUTPUTDIR)/include
  27 
  28 OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/$(OPENJDK_TARGET_OS)
  29 
  30 ifeq ($(OPENJDK_TARGET_OS), windows)
  31   OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/win32
  32 else ifeq ($(OPENJDK_TARGET_OS), macosx)
  33   OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/darwin
  34 endif
  35 
  36 #
  37 # Copy exported header files to outputdir.
  38 #
  39 H_TARGET_FILES = $(INCLUDEDIR)/jdwpTransport.h \
  40     $(INCLUDEDIR)/jni.h \
  41     $(INCLUDEDIR)/jvmti.h \
  42     $(INCLUDEDIR)/jvmticmlr.h \
  43     $(INCLUDEDIR)/classfile_constants.h \
  44     $(INCLUDEDIR)/jawt.h \
  45     $(OPENJDK_TARGET_OS_INCLUDE)/jni_md.h \
  46     $(OPENJDK_TARGET_OS_INCLUDE)/jawt_md.h
  47 
  48 $(INCLUDEDIR)/%.h: $(JDK_TOPDIR)/src/share/javavm/export/%.h
  49         $(call install-file)
  50 
  51 $(OPENJDK_TARGET_OS_INCLUDE)/%.h: $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_EXPORT_DIR)/javavm/export/%.h
  52         $(call install-file)
  53 
  54 COPY_FILES = $(H_TARGET_FILES)
  55 
  56 ##########################################################################################
  57 
  58   ifeq ($(OPENJDK_TARGET_OS), windows)
  59     COPY_FILES += $(OPENJDK_TARGET_OS_INCLUDE)/bridge/AccessBridgeCallbacks.h \
  60         $(OPENJDK_TARGET_OS_INCLUDE)/bridge/AccessBridgeCalls.h \
  61         $(OPENJDK_TARGET_OS_INCLUDE)/bridge/AccessBridgePackages.h \
  62         $(OPENJDK_TARGET_OS_INCLUDE)/bridge/AccessBridgeCalls.c \
  63         $(JDK_OUTPUTDIR)/lib/accessibility.properties
  64 
  65     $(OPENJDK_TARGET_OS_INCLUDE)/bridge/%: \
  66       $(JDK_TOPDIR)/src/windows/native/sun/bridge/%
  67                 $(install-file)
  68 
  69     $(JDK_OUTPUTDIR)/lib/accessibility.properties: \
  70       $(JDK_TOPDIR)/src/windows/native/sun/bridge/accessibility.properties
  71                 $(install-file)
  72 endif
  73 
  74 ##########################################################################################
  75 
  76 LIBDIR = $(JDK_OUTPUTDIR)/lib
  77 
  78 MGMT_LIBDIR = $(LIBDIR)/management
  79 MGMT_LIB_SRC = $(JDK_TOPDIR)/src/share/lib/management
  80 MGMT_SRC_FILES = $(wildcard $(MGMT_LIB_SRC)/*)
  81 MGMT_TARGET_FILES = $(subst $(MGMT_LIB_SRC),$(MGMT_LIBDIR),$(MGMT_SRC_FILES))
  82 
  83 $(MGMT_LIBDIR)/management.properties: $(MGMT_LIB_SRC)/management.properties
  84         $(call install-file)
  85         $(CHMOD) 644 $@
  86 
  87 # this file has different permissions...don't know why...
  88 $(MGMT_LIBDIR)/jmxremote.access: $(MGMT_LIB_SRC)/jmxremote.access
  89         $(call install-file)
  90         $(CHMOD) 644 $@
  91 
  92 $(MGMT_LIBDIR)/%: $(MGMT_LIB_SRC)/%
  93         $(call install-file)
  94         $(CHMOD) 444 $@
  95 
  96 COPY_FILES += $(MGMT_TARGET_FILES)
  97 
  98 ##########################################################################################
  99 
 100 LOGGING_LIB_SRC = $(JDK_TOPDIR)/src/share/lib
 101 
 102 $(LIBDIR)/logging.properties: $(LOGGING_LIB_SRC)/logging.properties
 103         $(call install-file)
 104 
 105 COPY_FILES += $(LIBDIR)/logging.properties
 106 
 107 ##########################################################################################
 108 #
 109 # Copy property files from sun/print to LIBDIR
 110 #
 111 PSFONTPROPFILE_SRC_DIR = $(JDK_TOPDIR)/src/share/classes/sun/print
 112 PSFONTPROPFILE_SRCS = $(wildcard $(PSFONTPROPFILE_SRC_DIR)/*.properties*)
 113 PSFONTPROPFILE_TARGET_FILES = $(subst $(PSFONTPROPFILE_SRC_DIR),$(LIBDIR),$(PSFONTPROPFILE_SRCS))
 114 
 115 $(LIBDIR)/%: $(PSFONTPROPFILE_SRC_DIR)/%
 116         $(call install-file)
 117 
 118 COPY_FILES += $(PSFONTPROPFILE_TARGET_FILES)
 119 
 120 ##########################################################################################
 121 #
 122 # Copy flavormap.properties, cursor.properties and cursors gif files to LIBDIR
 123 #
 124 ifneq ($(OPENJDK_TARGET_OS), macosx)
 125   OPENJDK_TARGET_OS_LIB_SRC = $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/lib
 126 else
 127   OPENJDK_TARGET_OS_LIB_SRC = $(JDK_TOPDIR)/src/macosx/lib
 128 endif
 129 
 130 $(LIBDIR)/flavormap.properties: $(OPENJDK_TARGET_OS_LIB_SRC)/flavormap.properties
 131         $(call install-file)
 132 
 133 COPY_FILES += $(LIBDIR)/flavormap.properties
 134 
 135 CURSORS_DEST_DIR = $(LIBDIR)/images/cursors
 136 CURSORS_OPENJDK_TARGET_OS_LIB_SRC = $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/lib/images/cursors
 137 
 138 $(CURSORS_DEST_DIR)/cursors.properties: $(CURSORS_OPENJDK_TARGET_OS_LIB_SRC)/cursors.properties
 139         $(call install-file)
 140 
 141 COPY_FILES += $(CURSORS_DEST_DIR)/cursors.properties
 142 
 143 CURSORS_LIB_SRC = $(JDK_TOPDIR)/src/share/lib/images/cursors
 144 ifeq ($(OPENJDK_TARGET_OS), windows)
 145   CURSORS_SRC_FILES = $(CURSORS_LIB_SRC)/invalid32x32.gif $(wildcard $(CURSORS_LIB_SRC)/win32_*.gif)
 146 else # OPENJDK_TARGET_OS
 147   CURSORS_SRC_FILES = $(CURSORS_LIB_SRC)/invalid32x32.gif $(wildcard $(CURSORS_LIB_SRC)/motif_*.gif)
 148 endif # OPENJDK_TARGET_OS
 149 CURSORS_TARGET_FILES = $(subst $(CURSORS_LIB_SRC),$(CURSORS_DEST_DIR),$(CURSORS_SRC_FILES))
 150 
 151 $(CURSORS_DEST_DIR)/%: $(CURSORS_LIB_SRC)/%
 152         $(call install-file)
 153 
 154 COPY_FILES += $(CURSORS_TARGET_FILES)
 155 
 156 ##########################################################################################
 157 
 158 CONTENT_TYPES_SRC = $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/lib
 159 
 160 $(LIBDIR)/content-types.properties: $(CONTENT_TYPES_SRC)/content-types.properties
 161         $(call install-file)
 162 
 163 COPY_FILES += $(LIBDIR)/content-types.properties
 164 
 165 ##########################################################################################
 166 
 167 CALENDARS_SRC := $(JDK_TOPDIR)/src/share/lib
 168 
 169 $(LIBDIR)/calendars.properties: $(CALENDARS_SRC)/calendars.properties
 170         $(call install-file)
 171 
 172 COPY_FILES += $(LIBDIR)/calendars.properties
 173 
 174 $(LIBDIR)/hijrah-config-umalqura.properties: $(CALENDARS_SRC)/hijrah-config-umalqura.properties
 175         $(MKDIR) -p $(@D)
 176         $(RM) $@
 177         $(CP) $< $@
 178 
 179 COPY_FILES += $(LIBDIR)/hijrah-config-umalqura.properties
 180 
 181 ##########################################################################################
 182 
 183 ifneq ($(findstring $(OPENJDK_TARGET_OS), windows aix),)
 184 
 185   TZMAPPINGS_SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS)/lib
 186 
 187   $(LIBDIR)/tzmappings: $(TZMAPPINGS_SRC)/tzmappings
 188         $(call install-file)
 189 
 190   COPY_FILES += $(LIBDIR)/tzmappings
 191 
 192 endif
 193 
 194 ##########################################################################################
 195 
 196 ICCPROFILE_DEST_DIR := $(LIBDIR)/cmm
 197 
 198 ifdef OPENJDK
 199   ICCPROFILE_SRC_DIR := $(JDK_TOPDIR)/src/share/lib/cmm/lcms
 200 else
 201   ICCPROFILE_SRC_DIR := $(JDK_TOPDIR)/src/closed/share/lib/cmm/kcms
 202 endif
 203 
 204 ICCPROFILE_SRCS := $(wildcard $(ICCPROFILE_SRC_DIR)/*.pf)
 205 ICCPROFILE_TARGET_FILES := $(subst $(ICCPROFILE_SRC_DIR),$(ICCPROFILE_DEST_DIR),$(ICCPROFILE_SRCS))
 206 
 207 $(ICCPROFILE_DEST_DIR)%.pf: $(ICCPROFILE_SRC_DIR)%.pf
 208         $(call install-file)
 209         $(CHMOD) 444 $@
 210 
 211 COPY_FILES += $(ICCPROFILE_TARGET_FILES)
 212 
 213 ##########################################################################################
 214 
 215 ifneq ($(FREETYPE_BUNDLE_LIB_PATH), )
 216   # We need to bundle the freetype library, so it will be available at runtime as well as link time.
 217   #
 218   # NB: Default freetype build system uses -h linker option and
 219   # result .so contains hardcoded library name that is later
 220   # used for adding dependencies to other objects
 221   # (e.g. libfontmanager.so).
 222   #
 223   # It is not obvious how to extract that hardcoded name (libfreetype.so.6)
 224   # without overcomplicating logic here.
 225   # To workaround this we hardcode .6 suffix for now.
 226   #
 227   # Note that .so.6 library will not be found by System.loadLibrary()
 228   # but fortunately we need to load FreeType library explicitly
 229   # on windows only
 230   #
 231   #TODO: rework this to avoid hardcoding library name in the makefile
 232   #
 233   ifeq ($(OPENJDK_TARGET_OS), windows)
 234     FREETYPE_TARGET_LIB = $(JDK_OUTPUTDIR)/bin/$(call SHARED_LIBRARY,freetype)
 235   else
 236     FREETYPE_TARGET_LIB = $(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/$(call SHARED_LIBRARY,freetype).6
 237   endif
 238 
 239   $(FREETYPE_TARGET_LIB): $(FREETYPE_BUNDLE_LIB_PATH)/$(call SHARED_LIBRARY,freetype)
 240         $(CP) $(FREETYPE_BUNDLE_LIB_PATH)/$(call SHARED_LIBRARY,freetype) $@
 241         ifeq ($(OPENJDK_BUILD_OS), windows)
 242           $(CHMOD) +rx $@
 243         endif
 244 
 245   COPY_FILES += $(FREETYPE_TARGET_LIB)
 246 endif
 247 
 248 ##########################################################################################
 249 
 250 # Copy the microsoft runtime libraries on windows
 251 ifeq ($(OPENJDK_TARGET_OS), windows)
 252 
 253   # Chmod to avoid permission issues if bundles are unpacked on unix platforms.
 254   define copy-and-chmod
 255         $(install-file)
 256         $(CHMOD) a+rx $@
 257   endef
 258 
 259   # Use separate macro calls in case the source files are not in the same
 260   # directory.
 261   $(eval $(call SetupCopyFiles,COPY_MSVCR, \
 262       DEST := $(JDK_OUTPUTDIR)/bin, \
 263       FILES := $(MSVCR_DLL), \
 264       MACRO := copy-and-chmod))
 265 
 266   $(eval $(call SetupCopyFiles,COPY_MSVCP, \
 267       DEST := $(JDK_OUTPUTDIR)/bin, \
 268       FILES := $(MSVCP_DLL), \
 269       MACRO := copy-and-chmod))
 270 
 271   COPY_FILES += $(COPY_MSVCR) $(COPY_MSVCP)
 272 
 273   ifneq ($(UCRT_DLL_DIR), )
 274     $(eval $(call SetupCopyFiles,COPY_UCRT_DLLS, \
 275         DEST := $(JDK_OUTPUTDIR)/bin, \
 276         FILES := $(wildcard $(UCRT_DLL_DIR)/*.dll), \
 277         MACRO := copy-and-chmod \
 278     ))
 279     COPY_FILES += $(COPY_UCRT_DLLS)
 280   endif
 281 endif
 282 
 283 ##########################################################################################
 284 
 285 HPROF_SRC = $(JDK_TOPDIR)/src/share/demo/jvmti/hprof/jvm.hprof.txt
 286 
 287 $(LIBDIR)/jvm.hprof.txt: $(HPROF_SRC)
 288         $(call install-file)
 289 
 290 COPY_FILES += $(LIBDIR)/jvm.hprof.txt
 291 
 292 ##########################################################################################
 293 
 294 #
 295 # How to install jvm.cfg.
 296 #
 297 ifeq ($(JVM_VARIANT_ZERO), true)
 298   JVMCFG_ARCH := zero
 299 else
 300   JVMCFG_ARCH := $(OPENJDK_TARGET_CPU_LEGACY)
 301 endif
 302 
 303 ifeq ($(OPENJDK_TARGET_OS), macosx)
 304   JVMCFG_SRC := $(JDK_TOPDIR)/src/macosx/bin/$(JVMCFG_ARCH)/jvm.cfg
 305 else
 306   JVMCFG_BASE := $(OPENJDK_TARGET_OS_API_DIR)/bin/$(JVMCFG_ARCH)/jvm.cfg
 307   ALT_JVMCFG_SRC := $(JDK_TOPDIR)/src/closed/$(JVMCFG_BASE)
 308   # Use the ALT file if it exists
 309   JVMCFG_SRC := $(if $(wildcard $(ALT_JVMCFG_SRC)),$(ALT_JVMCFG_SRC),$(JDK_TOPDIR)/src/$(JVMCFG_BASE))
 310 endif
 311 JVMCFG_DIR := $(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)
 312 JVMCFG := $(JVMCFG_DIR)/jvm.cfg
 313 
 314 # To do: should this also support -zeroshark?
 315 
 316 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
 317   COPY_JVM_CFG_FILE := true
 318 else
 319   # On 32-bit machines we have three potential VMs: client, server and minimal.
 320   # Historically we usually have both client and server and so that is what the
 321   # committed jvm.cfg expects (including platform specific ergonomics switches
 322   # to decide whether to use client or server by default). So when we have anything
 323   # other than client and server we need to define a new jvm.cfg file.
 324   # The main problem is deciding whether to use aliases for the VMs that are not
 325   # present and the current position is that we add aliases for client and server, but
 326   # not for minimal.
 327   CLIENT_AND_SERVER := $(and $(findstring true, $(JVM_VARIANT_SERVER)), $(findstring true, $(JVM_VARIANT_CLIENT)))
 328   ifeq ($(CLIENT_AND_SERVER), true)
 329     COPY_JVM_CFG_FILE := true
 330   else
 331     # For zero, the default jvm.cfg file is sufficient
 332     ifeq ($(JVM_VARIANT_ZERO), true)
 333       COPY_JVM_CFG_FILE := true
 334     endif
 335   endif
 336 endif
 337 
 338 ifeq ($(COPY_JVM_CFG_FILE), true)
 339   $(JVMCFG): $(JVMCFG_SRC)
 340         $(call install-file)
 341 else
 342   $(JVMCFG):
 343         $(MKDIR) -p $(@D)
 344         $(RM) $(@)
 345         # Now check for other permutations
 346         ifeq ($(JVM_VARIANT_SERVER), true)
 347           $(PRINTF) "-server KNOWN\n">>$(@)
 348           $(PRINTF) "-client ALIASED_TO -server\n">>$(@)
 349           ifeq ($(JVM_VARIANT_MINIMAL1), true)
 350             $(PRINTF) "-minimal KNOWN\n">>$(@)
 351           endif
 352         else
 353           ifeq ($(JVM_VARIANT_CLIENT), true)
 354             $(PRINTF) "-client KNOWN\n">>$(@)
 355             $(PRINTF) "-server ALIASED_TO -client\n">>$(@)
 356             ifeq ($(JVM_VARIANT_MINIMAL1), true)
 357               $(PRINTF) "-minimal KNOWN\n">>$(@)
 358             endif
 359           else
 360             ifeq ($(JVM_VARIANT_MINIMAL1), true)
 361               $(PRINTF) "-minimal KNOWN\n">>$(@)
 362               $(PRINTF) "-server ALIASED_TO -minimal\n">>$(@)
 363               $(PRINTF) "-client ALIASED_TO -minimal\n">>$(@)
 364             endif
 365           endif
 366         endif
 367 endif
 368 
 369 COPY_FILES += $(JVMCFG)
 370 
 371 ##########################################################################################
 372 
 373 PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security-$(OPENJDK_TARGET_OS)
 374 PROPS_DST := $(JDK_OUTPUTDIR)/lib/security/java.security
 375 
 376 ifndef OPENJDK
 377 
 378 RESTRICTED_PKGS_SRC := $(JDK_TOPDIR)/src/closed/share/lib/security/restricted.pkgs
 379 RESTRICTED_PKGS := $(shell $(CAT) $(RESTRICTED_PKGS_SRC) | $(TR) "\n" " ")
 380 
 381 endif
 382 
 383 $(PROPS_DST): $(PROPS_SRC)
 384         $(MKDIR) -p $(@D)
 385         ifndef OPENJDK
 386           $(TOOL_ADDTORESTRICTEDPKGS) $^ $@.tmp $(RESTRICTED_PKGS)
 387         else
 388           $(CP) $^ $@.tmp
 389         endif
 390         ifeq ($(UNLIMITED_CRYPTO), true)
 391           $(TOOL_CRYPTOLEVEL) $@.tmp $@.tmp2 unlimited
 392           $(MV) $@.tmp2 $@.tmp
 393         endif
 394         $(MV) $@.tmp $@
 395 
 396 COPY_FILES += $(PROPS_DST)
 397 
 398 ##########################################################################################
 399 
 400 POLICY_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.policy
 401 POLICY_DST := $(JDK_OUTPUTDIR)/lib/security/java.policy
 402 
 403 $(POLICY_DST): $(POLICY_SRC)
 404         $(call install-file)
 405 
 406 COPY_FILES += $(POLICY_DST)
 407 
 408 ##########################################################################################
 409 
 410 CACERTS_SRC := $(CACERTS_FILE)
 411 CACERTS_DST := $(JDK_OUTPUTDIR)/lib/security/cacerts
 412 
 413 $(CACERTS_DST): $(CACERTS_SRC)
 414         $(call install-file)
 415 
 416 COPY_FILES += $(CACERTS_DST)
 417 
 418 ##########################################################################################
 419 
 420 BLACKLISTED_CERTS_SRC := $(JDK_TOPDIR)/src/share/lib/security/blacklisted.certs
 421 BLACKLISTED_CERTS_DST := $(JDK_OUTPUTDIR)/lib/security/blacklisted.certs
 422 
 423 ifndef OPENJDK
 424 
 425   BLACKLIST_SRC := $(JDK_TOPDIR)/src/closed/share/lib/security/blacklist
 426   BLACKLIST_DST := $(JDK_OUTPUTDIR)/lib/security/blacklist
 427 
 428   BLACKLISTED_CERTS_SRC += $(wildcard $(JDK_TOPDIR)/src/closed/share/lib/security/blacklisted.certs)
 429 
 430   TRUSTEDLIBS_SRC := $(JDK_TOPDIR)/src/closed/share/lib/security/trusted.libraries
 431   TRUSTEDLIBS_DST := $(JDK_OUTPUTDIR)/lib/security/trusted.libraries
 432 
 433   $(BLACKLIST_DST): $(BLACKLIST_SRC)
 434         $(call install-file)
 435 
 436   COPY_FILES += $(BLACKLIST_DST)
 437 
 438   $(TRUSTEDLIBS_DST): $(TRUSTEDLIBS_SRC)
 439         $(call install-file)
 440 
 441   COPY_FILES += $(TRUSTEDLIBS_DST)
 442 
 443 endif
 444 
 445 $(BLACKLISTED_CERTS_DST): $(BLACKLISTED_CERTS_SRC)
 446         $(MKDIR) -p $(@D)
 447         $(CAT) $^ | $(SED) '/^$$/d' | $(SORT) | $(UNIQ) > $@.tmp
 448         $(GREP) -i Algorithm $@.tmp > $@
 449         if [ `$(SED) -n -e "$$=" $@` != 1 ]; then \
 450            $(ECHO) "Different algorithms defined in $^"; \
 451            $(RM) $@ $@.tmp; \
 452            false; \
 453         fi
 454         $(GREP) -iv Algorithm $@.tmp >> $@
 455         $(RM) $@.tmp
 456 
 457 COPY_FILES += $(BLACKLISTED_CERTS_DST)
 458 
 459 ##########################################################################################
 460 
 461 ifndef OPENJDK
 462 
 463   SHARED_FONTS_SRC_DIR := $(JDK_TOPDIR)/src/closed/share/lib/fonts
 464   SHARED_FONTS_DST_DIR := $(JDK_OUTPUTDIR)/lib/fonts
 465   SHARED_FONTS_FILES := \
 466       LucidaTypewriterRegular.ttf \
 467       LucidaTypewriterBold.ttf \
 468       LucidaBrightRegular.ttf \
 469       LucidaBrightDemiBold.ttf \
 470       LucidaBrightItalic.ttf \
 471       LucidaBrightDemiItalic.ttf \
 472       LucidaSansRegular.ttf \
 473       LucidaSansDemiBold.ttf \
 474 
 475   SHARED_FONTS_SRC := $(foreach F, $(SHARED_FONTS_FILES), $(SHARED_FONTS_SRC_DIR)/$(F))
 476   SHARED_FONTS_DST := $(foreach F, $(SHARED_FONTS_FILES), $(SHARED_FONTS_DST_DIR)/$(F))
 477 
 478   $(SHARED_FONTS_DST_DIR)/%.ttf: $(SHARED_FONTS_SRC_DIR)/%.ttf
 479         $(call install-file)
 480 
 481   $(SHARED_FONTS_DST_DIR)/fonts.dir: $(JDK_TOPDIR)/src/solaris/classes/sun/awt/motif/java.fonts.dir
 482         $(call install-file)
 483 
 484   COPY_FILES += $(SHARED_FONTS_DST)
 485 
 486   ifneq ($(OPENJDK_TARGET_OS), windows)
 487     COPY_FILES += $(SHARED_FONTS_DST_DIR)/fonts.dir
 488   endif
 489 
 490   ifeq ($(OPENJDK_TARGET_OS), linux)
 491 
 492   # The oblique fonts are only needed/wanted on Linux.
 493 
 494     OBL_FONTS_SRC_DIR := $(JDK_TOPDIR)/src/closed/share/lib/fonts/oblique
 495     OBL_FONTS_DST_DIR := $(JDK_OUTPUTDIR)/lib/oblique-fonts
 496     OBL_FONTS_FILES := LucidaTypewriterOblique.ttf LucidaTypewriterBoldOblique.ttf \
 497         LucidaSansOblique.ttf LucidaSansDemiOblique.ttf
 498 
 499     OBL_FONTS_SRC := $(foreach F, $(OBL_FONTS_FILES), $(OBL_FONTS_SRC_DIR)/$(F))
 500     OBL_FONTS_DST := $(foreach F, $(OBL_FONTS_FILES), $(OBL_FONTS_DST_DIR)/$(F))
 501 
 502     $(OBL_FONTS_DST_DIR)/%.ttf: $(OBL_FONTS_SRC_DIR)/%.ttf
 503         $(call install-file)
 504 
 505     $(OBL_FONTS_DST_DIR)/fonts.dir: $(JDK_TOPDIR)/src/solaris/classes/sun/awt/motif/java.oblique-fonts.dir
 506         $(call install-file)
 507 
 508     COPY_FILES += $(OBL_FONTS_DST) $(OBL_FONTS_DST_DIR)/fonts.dir
 509 
 510   endif # linux
 511 endif # OPENJDK
 512 
 513 ##########################################################################################
 514 
 515 ifndef OPENJDK
 516 
 517   #
 518   # Solaris X11 Direct Graphics Access library
 519   #
 520 
 521   _DGALIBS_sparc = \
 522       libxinerama.so \
 523       libjdgaSUNWcg6.so \
 524       libjdgaSUNWffb.so \
 525       libjdgaSUNWm64.so \
 526       libjdgaSUNWafb.so
 527 
 528   _DGALIBS_sparcv9 = \
 529       libxinerama.so \
 530       libjdgaSUNWcg6.so \
 531       libjdgaSUNWffb.so \
 532       libjdgaSUNWm64.so \
 533       libjdgaSUNWafb.so
 534 
 535   _DGALIBS_i586 = # no i586 library yet
 536 
 537   _DGALIBS_amd64 = # no amd64 library yet
 538 
 539   DGALIBS = $(_DGALIBS_$(OPENJDK_TARGET_CPU_LEGACY):%=$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/%)
 540 
 541   $(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libxinerama.so: $(JDK_TOPDIR)/src/closed/solaris/lib/$(OPENJDK_TARGET_CPU_LEGACY)/libxinerama.so
 542         $(call install-file)
 543         $(CHMOD) 755 $@
 544 
 545   $(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjdgaSUNW%.so: $(JDK_TOPDIR)/src/closed/solaris/lib/$(OPENJDK_TARGET_CPU_LEGACY)/libjdgaSUNW%.so
 546         $(call install-file)
 547         $(CHMOD) 755 $@
 548 
 549   $(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjdgaSUNWafb.so: $(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjdgaSUNWffb.so
 550         $(MKDIR) -p $(@D)
 551         $(RM) $@
 552         $(LN) -s $(<F) $@
 553 
 554   COPY_FILES += $(DGALIBS)
 555 
 556 endif
 557 
 558 ##########################################################################################
 559 
 560 ifeq ($(OPENJDK_TARGET_OS), solaris)
 561 
 562   SUNPKCS11_CFG_SRC := $(JDK_TOPDIR)/src/share/lib/security/sunpkcs11-solaris.cfg
 563   SUNPKCS11_CFG_DST := $(JDK_OUTPUTDIR)/lib/security/sunpkcs11-solaris.cfg
 564 
 565   $(SUNPKCS11_CFG_DST): $(SUNPKCS11_CFG_SRC)
 566         $(call install-file)
 567 
 568   COPY_FILES += $(SUNPKCS11_CFG_DST)
 569 
 570 endif
 571 
 572 ##########################################################################################
 573 
 574 ifndef OPENJDK
 575   ifeq ($(OPENJDK_TARGET_OS), solaris)
 576 
 577     UCRYPTO_CFG_SRC := $(JDK_TOPDIR)/src/closed/share/lib/security/ucrypto-solaris.cfg
 578     UCRYPTO_CFG_DST := $(JDK_OUTPUTDIR)/lib/security/ucrypto-solaris.cfg
 579 
 580     $(UCRYPTO_CFG_DST): $(UCRYPTO_CFG_SRC)
 581         $(call install-file)
 582 
 583     COPY_FILES += $(UCRYPTO_CFG_DST)
 584 
 585   endif
 586 endif
 587 
 588 ##########################################################################################
 589 
 590 $(JDK_OUTPUTDIR)/lib/sound.properties: $(JDK_TOPDIR)/src/share/lib/sound.properties
 591         $(call install-file)
 592 
 593 COPY_FILES += $(JDK_OUTPUTDIR)/lib/sound.properties
 594 
 595 ##########################################################################################
 596 
 597 -include $(CUSTOM_MAKE_DIR)/CopyFiles.gmk