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 endif
 273 
 274 ##########################################################################################
 275 
 276 HPROF_SRC = $(JDK_TOPDIR)/src/share/demo/jvmti/hprof/jvm.hprof.txt
 277 
 278 $(LIBDIR)/jvm.hprof.txt: $(HPROF_SRC)
 279         $(call install-file)
 280 
 281 COPY_FILES += $(LIBDIR)/jvm.hprof.txt
 282 
 283 ##########################################################################################
 284 
 285 #
 286 # How to install jvm.cfg.
 287 #
 288 ifeq ($(JVM_VARIANT_ZERO), true)
 289   JVMCFG_ARCH := zero
 290 else
 291   JVMCFG_ARCH := $(OPENJDK_TARGET_CPU_LEGACY)
 292 endif
 293 
 294 ifeq ($(OPENJDK_TARGET_OS), macosx)
 295   JVMCFG_SRC := $(JDK_TOPDIR)/src/macosx/bin/$(JVMCFG_ARCH)/jvm.cfg
 296 else
 297   JVMCFG_BASE := $(OPENJDK_TARGET_OS_API_DIR)/bin/$(JVMCFG_ARCH)/jvm.cfg
 298   ALT_JVMCFG_SRC := $(JDK_TOPDIR)/src/closed/$(JVMCFG_BASE)
 299   # Use the ALT file if it exists
 300   JVMCFG_SRC := $(if $(wildcard $(ALT_JVMCFG_SRC)),$(ALT_JVMCFG_SRC),$(JDK_TOPDIR)/src/$(JVMCFG_BASE))
 301 endif
 302 JVMCFG_DIR := $(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)
 303 JVMCFG := $(JVMCFG_DIR)/jvm.cfg
 304 
 305 # To do: should this also support -zeroshark?
 306 
 307 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
 308   COPY_JVM_CFG_FILE := true
 309 else
 310   # On 32-bit machines we have three potential VMs: client, server and minimal.
 311   # Historically we usually have both client and server and so that is what the
 312   # committed jvm.cfg expects (including platform specific ergonomics switches
 313   # to decide whether to use client or server by default). So when we have anything
 314   # other than client and server we need to define a new jvm.cfg file.
 315   # The main problem is deciding whether to use aliases for the VMs that are not
 316   # present and the current position is that we add aliases for client and server, but
 317   # not for minimal.
 318   CLIENT_AND_SERVER := $(and $(findstring true, $(JVM_VARIANT_SERVER)), $(findstring true, $(JVM_VARIANT_CLIENT)))
 319   ifeq ($(CLIENT_AND_SERVER), true)
 320     COPY_JVM_CFG_FILE := true
 321   else
 322     # For zero, the default jvm.cfg file is sufficient
 323     ifeq ($(JVM_VARIANT_ZERO), true)
 324       COPY_JVM_CFG_FILE := true
 325     endif
 326   endif
 327 endif
 328 
 329 ifeq ($(COPY_JVM_CFG_FILE), true)
 330   $(JVMCFG): $(JVMCFG_SRC)
 331         $(call install-file)
 332 else
 333   $(JVMCFG):
 334         $(MKDIR) -p $(@D)
 335         $(RM) $(@)
 336         # Now check for other permutations
 337         ifeq ($(JVM_VARIANT_SERVER), true)
 338           $(PRINTF) "-server KNOWN\n">>$(@)
 339           $(PRINTF) "-client ALIASED_TO -server\n">>$(@)
 340           ifeq ($(JVM_VARIANT_MINIMAL1), true)
 341             $(PRINTF) "-minimal KNOWN\n">>$(@)
 342           endif
 343         else
 344           ifeq ($(JVM_VARIANT_CLIENT), true)
 345             $(PRINTF) "-client KNOWN\n">>$(@)
 346             $(PRINTF) "-server ALIASED_TO -client\n">>$(@)
 347             ifeq ($(JVM_VARIANT_MINIMAL1), true)
 348               $(PRINTF) "-minimal KNOWN\n">>$(@)
 349             endif
 350           else
 351             ifeq ($(JVM_VARIANT_MINIMAL1), true)
 352               $(PRINTF) "-minimal KNOWN\n">>$(@)
 353               $(PRINTF) "-server ALIASED_TO -minimal\n">>$(@)
 354               $(PRINTF) "-client ALIASED_TO -minimal\n">>$(@)
 355             endif
 356           endif
 357         endif
 358 endif
 359 
 360 COPY_FILES += $(JVMCFG)
 361 
 362 ##########################################################################################
 363 
 364 PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security-$(OPENJDK_TARGET_OS)
 365 PROPS_DST := $(JDK_OUTPUTDIR)/lib/security/java.security
 366 
 367 ifndef OPENJDK
 368 
 369 RESTRICTED_PKGS_SRC := $(JDK_TOPDIR)/src/closed/share/lib/security/restricted.pkgs
 370 RESTRICTED_PKGS := $(shell $(CAT) $(RESTRICTED_PKGS_SRC) | $(TR) "\n" " ")
 371 
 372 endif
 373 
 374 $(PROPS_DST): $(PROPS_SRC)
 375         $(MKDIR) -p $(@D)
 376         ifndef OPENJDK
 377           $(TOOL_ADDTORESTRICTEDPKGS) $^ $@.tmp $(RESTRICTED_PKGS)
 378         else
 379           $(CP) $^ $@.tmp
 380         endif
 381         ifeq ($(UNLIMITED_CRYPTO), true)
 382           $(TOOL_CRYPTOLEVEL) $@.tmp $@.tmp2 unlimited
 383           $(MV) $@.tmp2 $@.tmp
 384         endif
 385         $(MV) $@.tmp $@
 386 
 387 COPY_FILES += $(PROPS_DST)
 388 
 389 ##########################################################################################
 390 
 391 POLICY_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.policy
 392 POLICY_DST := $(JDK_OUTPUTDIR)/lib/security/java.policy
 393 
 394 $(POLICY_DST): $(POLICY_SRC)
 395         $(call install-file)
 396 
 397 COPY_FILES += $(POLICY_DST)
 398 
 399 ##########################################################################################
 400 
 401 CACERTS_SRC := $(CACERTS_FILE)
 402 CACERTS_DST := $(JDK_OUTPUTDIR)/lib/security/cacerts
 403 
 404 $(CACERTS_DST): $(CACERTS_SRC)
 405         $(call install-file)
 406 
 407 COPY_FILES += $(CACERTS_DST)
 408 
 409 ##########################################################################################
 410 
 411 BLACKLISTED_CERTS_SRC := $(JDK_TOPDIR)/src/share/lib/security/blacklisted.certs
 412 BLACKLISTED_CERTS_DST := $(JDK_OUTPUTDIR)/lib/security/blacklisted.certs
 413 
 414 ifndef OPENJDK
 415 
 416   BLACKLIST_SRC := $(JDK_TOPDIR)/src/closed/share/lib/security/blacklist
 417   BLACKLIST_DST := $(JDK_OUTPUTDIR)/lib/security/blacklist
 418 
 419   BLACKLISTED_CERTS_SRC += $(wildcard $(JDK_TOPDIR)/src/closed/share/lib/security/blacklisted.certs)
 420 
 421   TRUSTEDLIBS_SRC := $(JDK_TOPDIR)/src/closed/share/lib/security/trusted.libraries
 422   TRUSTEDLIBS_DST := $(JDK_OUTPUTDIR)/lib/security/trusted.libraries
 423 
 424   $(BLACKLIST_DST): $(BLACKLIST_SRC)
 425         $(call install-file)
 426 
 427   COPY_FILES += $(BLACKLIST_DST)
 428 
 429   $(TRUSTEDLIBS_DST): $(TRUSTEDLIBS_SRC)
 430         $(call install-file)
 431 
 432   COPY_FILES += $(TRUSTEDLIBS_DST)
 433 
 434 endif
 435 
 436 $(BLACKLISTED_CERTS_DST): $(BLACKLISTED_CERTS_SRC)
 437         $(MKDIR) -p $(@D)
 438         $(CAT) $^ | $(SED) '/^$$/d' | $(SORT) | $(UNIQ) > $@.tmp
 439         $(GREP) -i Algorithm $@.tmp > $@
 440         if [ `$(SED) -n -e "$$=" $@` != 1 ]; then \
 441            $(ECHO) "Different algorithms defined in $^"; \
 442            $(RM) $@ $@.tmp; \
 443            false; \
 444         fi
 445         $(GREP) -iv Algorithm $@.tmp >> $@
 446         $(RM) $@.tmp
 447 
 448 COPY_FILES += $(BLACKLISTED_CERTS_DST)
 449 
 450 ##########################################################################################
 451 
 452 ifndef OPENJDK
 453 
 454   SHARED_FONTS_SRC_DIR := $(JDK_TOPDIR)/src/closed/share/lib/fonts
 455   SHARED_FONTS_DST_DIR := $(JDK_OUTPUTDIR)/lib/fonts
 456   SHARED_FONTS_FILES := \
 457       LucidaTypewriterRegular.ttf \
 458       LucidaTypewriterBold.ttf \
 459       LucidaBrightRegular.ttf \
 460       LucidaBrightDemiBold.ttf \
 461       LucidaBrightItalic.ttf \
 462       LucidaBrightDemiItalic.ttf \
 463       LucidaSansRegular.ttf \
 464       LucidaSansDemiBold.ttf \
 465 
 466   SHARED_FONTS_SRC := $(foreach F, $(SHARED_FONTS_FILES), $(SHARED_FONTS_SRC_DIR)/$(F))
 467   SHARED_FONTS_DST := $(foreach F, $(SHARED_FONTS_FILES), $(SHARED_FONTS_DST_DIR)/$(F))
 468 
 469   $(SHARED_FONTS_DST_DIR)/%.ttf: $(SHARED_FONTS_SRC_DIR)/%.ttf
 470         $(call install-file)
 471 
 472   $(SHARED_FONTS_DST_DIR)/fonts.dir: $(JDK_TOPDIR)/src/solaris/classes/sun/awt/motif/java.fonts.dir
 473         $(call install-file)
 474 
 475   COPY_FILES += $(SHARED_FONTS_DST)
 476 
 477   ifneq ($(OPENJDK_TARGET_OS), windows)
 478     COPY_FILES += $(SHARED_FONTS_DST_DIR)/fonts.dir
 479   endif
 480 
 481   ifeq ($(OPENJDK_TARGET_OS), linux)
 482 
 483   # The oblique fonts are only needed/wanted on Linux.
 484 
 485     OBL_FONTS_SRC_DIR := $(JDK_TOPDIR)/src/closed/share/lib/fonts/oblique
 486     OBL_FONTS_DST_DIR := $(JDK_OUTPUTDIR)/lib/oblique-fonts
 487     OBL_FONTS_FILES := LucidaTypewriterOblique.ttf LucidaTypewriterBoldOblique.ttf \
 488         LucidaSansOblique.ttf LucidaSansDemiOblique.ttf
 489 
 490     OBL_FONTS_SRC := $(foreach F, $(OBL_FONTS_FILES), $(OBL_FONTS_SRC_DIR)/$(F))
 491     OBL_FONTS_DST := $(foreach F, $(OBL_FONTS_FILES), $(OBL_FONTS_DST_DIR)/$(F))
 492 
 493     $(OBL_FONTS_DST_DIR)/%.ttf: $(OBL_FONTS_SRC_DIR)/%.ttf
 494         $(call install-file)
 495 
 496     $(OBL_FONTS_DST_DIR)/fonts.dir: $(JDK_TOPDIR)/src/solaris/classes/sun/awt/motif/java.oblique-fonts.dir
 497         $(call install-file)
 498 
 499     COPY_FILES += $(OBL_FONTS_DST) $(OBL_FONTS_DST_DIR)/fonts.dir
 500 
 501   endif # linux
 502 endif # OPENJDK
 503 
 504 ##########################################################################################
 505 
 506 ifndef OPENJDK
 507 
 508   #
 509   # Solaris X11 Direct Graphics Access library
 510   #
 511 
 512   _DGALIBS_sparc = \
 513       libxinerama.so \
 514       libjdgaSUNWcg6.so \
 515       libjdgaSUNWffb.so \
 516       libjdgaSUNWm64.so \
 517       libjdgaSUNWafb.so
 518 
 519   _DGALIBS_sparcv9 = \
 520       libxinerama.so \
 521       libjdgaSUNWcg6.so \
 522       libjdgaSUNWffb.so \
 523       libjdgaSUNWm64.so \
 524       libjdgaSUNWafb.so
 525 
 526   _DGALIBS_i586 = # no i586 library yet
 527 
 528   _DGALIBS_amd64 = # no amd64 library yet
 529 
 530   DGALIBS = $(_DGALIBS_$(OPENJDK_TARGET_CPU_LEGACY):%=$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/%)
 531 
 532   $(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libxinerama.so: $(JDK_TOPDIR)/src/closed/solaris/lib/$(OPENJDK_TARGET_CPU_LEGACY)/libxinerama.so
 533         $(call install-file)
 534         $(CHMOD) 755 $@
 535 
 536   $(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjdgaSUNW%.so: $(JDK_TOPDIR)/src/closed/solaris/lib/$(OPENJDK_TARGET_CPU_LEGACY)/libjdgaSUNW%.so
 537         $(call install-file)
 538         $(CHMOD) 755 $@
 539 
 540   $(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjdgaSUNWafb.so: $(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjdgaSUNWffb.so
 541         $(MKDIR) -p $(@D)
 542         $(RM) $@
 543         $(LN) -s $(<F) $@
 544 
 545   COPY_FILES += $(DGALIBS)
 546 
 547 endif
 548 
 549 ##########################################################################################
 550 
 551 ifeq ($(OPENJDK_TARGET_OS), solaris)
 552 
 553   SUNPKCS11_CFG_SRC := $(JDK_TOPDIR)/src/share/lib/security/sunpkcs11-solaris.cfg
 554   SUNPKCS11_CFG_DST := $(JDK_OUTPUTDIR)/lib/security/sunpkcs11-solaris.cfg
 555 
 556   $(SUNPKCS11_CFG_DST): $(SUNPKCS11_CFG_SRC)
 557         $(call install-file)
 558 
 559   COPY_FILES += $(SUNPKCS11_CFG_DST)
 560 
 561 endif
 562 
 563 ##########################################################################################
 564 
 565 ifndef OPENJDK
 566   ifeq ($(OPENJDK_TARGET_OS), solaris)
 567 
 568     UCRYPTO_CFG_SRC := $(JDK_TOPDIR)/src/closed/share/lib/security/ucrypto-solaris.cfg
 569     UCRYPTO_CFG_DST := $(JDK_OUTPUTDIR)/lib/security/ucrypto-solaris.cfg
 570 
 571     $(UCRYPTO_CFG_DST): $(UCRYPTO_CFG_SRC)
 572         $(call install-file)
 573 
 574     COPY_FILES += $(UCRYPTO_CFG_DST)
 575 
 576   endif
 577 endif
 578 
 579 ##########################################################################################
 580 
 581 $(JDK_OUTPUTDIR)/lib/sound.properties: $(JDK_TOPDIR)/src/share/lib/sound.properties
 582         $(call install-file)
 583 
 584 COPY_FILES += $(JDK_OUTPUTDIR)/lib/sound.properties
 585 
 586 ##########################################################################################
 587 
 588 -include $(CUSTOM_MAKE_DIR)/CopyFiles.gmk