10Sstevel@tonic-gate# 20Sstevel@tonic-gate# CDDL HEADER START 30Sstevel@tonic-gate# 40Sstevel@tonic-gate# The contents of this file are subject to the terms of the 53446Smrj# Common Development and Distribution License (the "License"). 63446Smrj# You may not use this file except in compliance with the License. 70Sstevel@tonic-gate# 80Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 90Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 100Sstevel@tonic-gate# See the License for the specific language governing permissions 110Sstevel@tonic-gate# and limitations under the License. 120Sstevel@tonic-gate# 130Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 140Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 150Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 160Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 170Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 180Sstevel@tonic-gate# 190Sstevel@tonic-gate# CDDL HEADER END 200Sstevel@tonic-gate# 210Sstevel@tonic-gate# 22*10207SJames.McPherson@Sun.COM# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 230Sstevel@tonic-gate# Use is subject to license terms. 240Sstevel@tonic-gate# 250Sstevel@tonic-gate# usr/src/Makefile.psm 260Sstevel@tonic-gate# 270Sstevel@tonic-gate# Makefile.psm, global definitions for platform specific modules 280Sstevel@tonic-gate 290Sstevel@tonic-gate 300Sstevel@tonic-gateROOT_PLAT_DIR = $(ROOT)/platform 310Sstevel@tonic-gate 320Sstevel@tonic-gateROOT_PSM_DIR = $(ROOT_PLAT_DIR)/$(PLATFORM) 330Sstevel@tonic-gate 340Sstevel@tonic-gateROOT_PSM_MOD_DIR = $(ROOT_PSM_DIR)/kernel 350Sstevel@tonic-gateROOT_PSM_LIB_DIR = $(ROOT_PSM_DIR)/lib 360Sstevel@tonic-gateROOT_PSM_LIB64_DIR = $(ROOT_PSM_LIB_DIR)/$(MACH64) 370Sstevel@tonic-gateROOT_PSM_SBIN_DIR = $(ROOT_PSM_DIR)/sbin 380Sstevel@tonic-gate 390Sstevel@tonic-gateROOT_PSM_KERN_DIR_32 = $(ROOT_PSM_MOD_DIR) 400Sstevel@tonic-gateROOT_PSM_DRV_DIR_32 = $(ROOT_PSM_MOD_DIR)/drv 410Sstevel@tonic-gateROOT_PSM_EXEC_DIR_32 = $(ROOT_PSM_MOD_DIR)/exec 420Sstevel@tonic-gateROOT_PSM_FS_DIR_32 = $(ROOT_PSM_MOD_DIR)/fs 430Sstevel@tonic-gateROOT_PSM_SCHED_DIR_32 = $(ROOT_PSM_MOD_DIR)/sched 440Sstevel@tonic-gateROOT_PSM_STRMOD_DIR_32 = $(ROOT_PSM_MOD_DIR)/strmod 450Sstevel@tonic-gateROOT_PSM_SYS_DIR_32 = $(ROOT_PSM_MOD_DIR)/sys 460Sstevel@tonic-gateROOT_PSM_MISC_DIR_32 = $(ROOT_PSM_MOD_DIR)/misc 470Sstevel@tonic-gateROOT_PSM_KGSS_DIR_32 = $(ROOT_PSM_MOD_DIR)/misc/kgss 480Sstevel@tonic-gateROOT_PSM_MACH_DIR_32 = $(ROOT_PSM_MOD_DIR)/mach 490Sstevel@tonic-gateROOT_PSM_CPU_DIR_32 = $(ROOT_PSM_MOD_DIR)/cpu 500Sstevel@tonic-gateROOT_PSM_PLAT_DIR_32 = $(ROOT_PSM_MOD_DIR)/misc 510Sstevel@tonic-gateROOT_PSM_TOD_DIR_32 = $(ROOT_PSM_MOD_DIR)/tod 520Sstevel@tonic-gateROOT_PSM_MMU_DIR_32 = $(ROOT_PSM_MOD_DIR)/mmu 530Sstevel@tonic-gateROOT_PSM_DACF_DIR_32 = $(ROOT_PSM_MOD_DIR)/dacf 540Sstevel@tonic-gateROOT_PSM_CRYPTO_DIR_32 = $(ROOT_PSM_MOD_DIR)/crypto 5578Sae112802ROOT_PSM_PCBE_DIR_32 = $(ROOT_PSM_MOD_DIR)/pcbe 564127SedpROOT_PSM_BRAND_DIR_32 = $(ROOT_PSM_MOD_DIR)/brand 570Sstevel@tonic-gate 580Sstevel@tonic-gateROOT_PSM_KERN_DIR_64 = $(ROOT_PSM_MOD_DIR)/$(SUBDIR64) 590Sstevel@tonic-gateROOT_PSM_DRV_DIR_64 = $(ROOT_PSM_MOD_DIR)/drv/$(SUBDIR64) 600Sstevel@tonic-gateROOT_PSM_EXEC_DIR_64 = $(ROOT_PSM_MOD_DIR)/exec/$(SUBDIR64) 610Sstevel@tonic-gateROOT_PSM_FS_DIR_64 = $(ROOT_PSM_MOD_DIR)/fs/$(SUBDIR64) 620Sstevel@tonic-gateROOT_PSM_SCHED_DIR_64 = $(ROOT_PSM_MOD_DIR)/sched/$(SUBDIR64) 630Sstevel@tonic-gateROOT_PSM_STRMOD_DIR_64 = $(ROOT_PSM_MOD_DIR)/strmod/$(SUBDIR64) 640Sstevel@tonic-gateROOT_PSM_SYS_DIR_64 = $(ROOT_PSM_MOD_DIR)/sys/$(SUBDIR64) 650Sstevel@tonic-gateROOT_PSM_MISC_DIR_64 = $(ROOT_PSM_MOD_DIR)/misc/$(SUBDIR64) 660Sstevel@tonic-gateROOT_PSM_KGSS_DIR_64 = $(ROOT_PSM_MOD_DIR)/misc/kgss/$(SUBDIR64) 670Sstevel@tonic-gateROOT_PSM_MACH_DIR_64 = $(ROOT_PSM_MOD_DIR)/mach/$(SUBDIR64) 680Sstevel@tonic-gateROOT_PSM_CPU_DIR_64 = $(ROOT_PSM_MOD_DIR)/cpu/$(SUBDIR64) 690Sstevel@tonic-gateROOT_PSM_PLAT_DIR_64 = $(ROOT_PSM_MOD_DIR)/misc/$(SUBDIR64) 700Sstevel@tonic-gateROOT_PSM_TOD_DIR_64 = $(ROOT_PSM_MOD_DIR)/tod/$(SUBDIR64) 710Sstevel@tonic-gateROOT_PSM_MMU_DIR_64 = $(ROOT_PSM_MOD_DIR)/mmu/$(SUBDIR64) 720Sstevel@tonic-gateROOT_PSM_DACF_DIR_64 = $(ROOT_PSM_MOD_DIR)/dacf/$(SUBDIR64) 730Sstevel@tonic-gateROOT_PSM_CRYPTO_DIR_64 = $(ROOT_PSM_MOD_DIR)/crypto/$(SUBDIR64) 7478Sae112802ROOT_PSM_PCBE_DIR_64 = $(ROOT_PSM_MOD_DIR)/pcbe/$(SUBDIR64) 754127SedpROOT_PSM_BRAND_DIR_64 = $(ROOT_PSM_MOD_DIR)/brand/$(SUBDIR64) 760Sstevel@tonic-gate 770Sstevel@tonic-gateROOT_PSM_KERN_DIR = $(ROOT_PSM_KERN_DIR_$(CLASS)) 780Sstevel@tonic-gateROOT_PSM_DRV_DIR = $(ROOT_PSM_DRV_DIR_$(CLASS)) 790Sstevel@tonic-gateROOT_PSM_EXEC_DIR = $(ROOT_PSM_EXEC_DIR_$(CLASS)) 800Sstevel@tonic-gateROOT_PSM_FS_DIR = $(ROOT_PSM_FS_DIR_$(CLASS)) 810Sstevel@tonic-gateROOT_PSM_SCHED_DIR = $(ROOT_PSM_SCHED_DIR_$(CLASS)) 820Sstevel@tonic-gateROOT_PSM_STRMOD_DIR = $(ROOT_PSM_STRMOD_DIR_$(CLASS)) 830Sstevel@tonic-gateROOT_PSM_SYS_DIR = $(ROOT_PSM_SYS_DIR_$(CLASS)) 840Sstevel@tonic-gateROOT_PSM_MISC_DIR = $(ROOT_PSM_MISC_DIR_$(CLASS)) 850Sstevel@tonic-gateROOT_PSM_KGSS_DIR = $(ROOT_PSM_KGSS_DIR_$(CLASS)) 860Sstevel@tonic-gateROOT_PSM_MACH_DIR = $(ROOT_PSM_MACH_DIR_$(CLASS)) 870Sstevel@tonic-gateROOT_PSM_CPU_DIR = $(ROOT_PSM_CPU_DIR_$(CLASS)) 880Sstevel@tonic-gateROOT_PSM_PLAT_DIR = $(ROOT_PSM_PLAT_DIR_$(CLASS)) 890Sstevel@tonic-gateROOT_PSM_TOD_DIR = $(ROOT_PSM_TOD_DIR_$(CLASS)) 900Sstevel@tonic-gateROOT_PSM_MMU_DIR = $(ROOT_PSM_MMU_DIR_$(CLASS)) 910Sstevel@tonic-gateROOT_PSM_DACF_DIR = $(ROOT_PSM_DACF_DIR_$(CLASS)) 920Sstevel@tonic-gateROOT_PSM_CRYPTO_DIR = $(ROOT_PSM_CRYPTO_DIR_$(CLASS)) 9378Sae112802ROOT_PSM_PCBE_DIR = $(ROOT_PSM_PCBE_DIR_$(CLASS)) 944127SedpROOT_PSM_BRAND_DIR = $(ROOT_PSM_BRAND_DIR_$(CLASS)) 950Sstevel@tonic-gate 960Sstevel@tonic-gateROOT_PSM_MOD_DIRS_32 = $(ROOT_PSM_DRV_DIR_32) 970Sstevel@tonic-gateROOT_PSM_MOD_DIRS_32 += $(ROOT_PSM_EXEC_DIR_32) $(ROOT_PSM_FS_DIR_32) 980Sstevel@tonic-gateROOT_PSM_MOD_DIRS_32 += $(ROOT_PSM_SCHED_DIR_32) $(ROOT_PSM_STRMOD_DIR_32) 990Sstevel@tonic-gateROOT_PSM_MOD_DIRS_32 += $(ROOT_PSM_SYS_DIR_32) $(ROOT_PSM_MISC_DIR_32) 1000Sstevel@tonic-gateROOT_PSM_MOD_DIRS_32 += $(ROOT_PSM_KGSS_DIR_32) 1010Sstevel@tonic-gateROOT_PSM_MOD_DIRS_32 += $(ROOT_PSM_MACH_DIR_32) $(ROOT_PSM_CPU_DIR_32) 1020Sstevel@tonic-gateROOT_PSM_MOD_DIRS_32 += $(ROOT_PSM_TOD_DIR_32) 1030Sstevel@tonic-gateROOT_PSM_MOD_DIRS_32 += $(ROOT_PSM_MMU_DIR_32) 1040Sstevel@tonic-gateROOT_PSM_MOD_DIRS_32 += $(ROOT_PSM_DACF_DIR_32) 1050Sstevel@tonic-gateROOT_PSM_MOD_DIRS_32 += $(ROOT_PSM_CRYPTO_DIR_32) 10678Sae112802ROOT_PSM_MOD_DIRS_32 += $(ROOT_PSM_PCBE_DIR_32) 1074127SedpROOT_PSM_MOD_DIRS_32 += $(ROOT_PSM_BRAND_DIR_32) 1080Sstevel@tonic-gate 1096319SjgROOT_PSM_LIB_FS_DIR = $(ROOT_PSM_LIB_DIR)/fs 1106319SjgROOT_PSM_LIB_UFS_DIR = $(ROOT_PSM_LIB_FS_DIR)/ufs 1116319SjgROOT_PSM_LIB_NFS_DIR = $(ROOT_PSM_LIB_FS_DIR)/nfs 1126319SjgROOT_PSM_LIB_HSFS_DIR = $(ROOT_PSM_LIB_FS_DIR)/hsfs 1136319SjgROOT_PSM_LIB_ZFS_DIR = $(ROOT_PSM_LIB_FS_DIR)/zfs 1146319Sjg 1150Sstevel@tonic-gateUSR_PLAT_DIR = $(ROOT)/usr/platform 1160Sstevel@tonic-gate 1170Sstevel@tonic-gateUSR_PSM_DIR = $(USR_PLAT_DIR)/$(PLATFORM) 1180Sstevel@tonic-gate 1190Sstevel@tonic-gateUSR_PSM_MOD_DIR = $(USR_PSM_DIR)/kernel 1200Sstevel@tonic-gateUSR_PSM_INCL_DIR = $(USR_PSM_DIR)/include 1210Sstevel@tonic-gateUSR_PSM_LIB_DIR = $(USR_PSM_DIR)/lib 1220Sstevel@tonic-gateUSR_PSM_LIB64_DIR = $(USR_PSM_LIB_DIR)/$(MACH64) 1230Sstevel@tonic-gateUSR_PSM_SBIN_DIR = $(USR_PSM_DIR)/sbin 1240Sstevel@tonic-gate 1250Sstevel@tonic-gateUSR_PSM_ISYS_DIR = $(USR_PSM_INCL_DIR)/sys 1260Sstevel@tonic-gateUSR_PSM_IVM_DIR = $(USR_PSM_INCL_DIR)/vm 1270Sstevel@tonic-gate 1280Sstevel@tonic-gateUSR_PSM_LIB_ABI_DIR = $(USR_PSM_LIB_DIR)/abi 1290Sstevel@tonic-gateUSR_PSM_LIB_ABI_DIR_64 = $(USR_PSM_LIB_ABI_DIR)/$(MACH64) 1300Sstevel@tonic-gate 1310Sstevel@tonic-gateUSR_PSM_LIB_FS_DIR = $(USR_PSM_LIB_DIR)/fs 1320Sstevel@tonic-gateUSR_PSM_LIB_UFS_DIR = $(USR_PSM_LIB_FS_DIR)/ufs 1330Sstevel@tonic-gateUSR_PSM_LIB_NFS_DIR = $(USR_PSM_LIB_FS_DIR)/nfs 1340Sstevel@tonic-gateUSR_PSM_LIB_HSFS_DIR = $(USR_PSM_LIB_FS_DIR)/hsfs 1355648SsetjeUSR_PSM_LIB_ZFS_DIR = $(USR_PSM_LIB_FS_DIR)/zfs 1360Sstevel@tonic-gate 1370Sstevel@tonic-gateUSR_PSM_DRV_DIR_32 = $(USR_PSM_MOD_DIR)/drv 1380Sstevel@tonic-gateUSR_PSM_EXEC_DIR_32 = $(USR_PSM_MOD_DIR)/exec 1390Sstevel@tonic-gateUSR_PSM_FS_DIR_32 = $(USR_PSM_MOD_DIR)/fs 1400Sstevel@tonic-gateUSR_PSM_SCHED_DIR_32 = $(USR_PSM_MOD_DIR)/sched 1410Sstevel@tonic-gateUSR_PSM_STRMOD_DIR_32 = $(USR_PSM_MOD_DIR)/strmod 1420Sstevel@tonic-gateUSR_PSM_SYS_DIR_32 = $(USR_PSM_MOD_DIR)/sys 1430Sstevel@tonic-gateUSR_PSM_MISC_DIR_32 = $(USR_PSM_MOD_DIR)/misc 1440Sstevel@tonic-gateUSR_PSM_DACF_DIR_32 = $(USR_PSM_MOD_DIR)/dacf 1450Sstevel@tonic-gate 1460Sstevel@tonic-gateUSR_PSM_DRV_DIR_64 = $(USR_PSM_MOD_DIR)/drv/$(SUBDIR64) 1470Sstevel@tonic-gateUSR_PSM_EXEC_DIR_64 = $(USR_PSM_MOD_DIR)/exec/$(SUBDIR64) 1480Sstevel@tonic-gateUSR_PSM_FS_DIR_64 = $(USR_PSM_MOD_DIR)/fs/$(SUBDIR64) 1490Sstevel@tonic-gateUSR_PSM_SCHED_DIR_64 = $(USR_PSM_MOD_DIR)/sched/$(SUBDIR64) 1500Sstevel@tonic-gateUSR_PSM_STRMOD_DIR_64 = $(USR_PSM_MOD_DIR)/strmod/$(SUBDIR64) 1510Sstevel@tonic-gateUSR_PSM_SYS_DIR_64 = $(USR_PSM_MOD_DIR)/sys/$(SUBDIR64) 1520Sstevel@tonic-gateUSR_PSM_MISC_DIR_64 = $(USR_PSM_MOD_DIR)/misc/$(SUBDIR64) 1530Sstevel@tonic-gateUSR_PSM_DACF_DIR_64 = $(USR_PSM_MOD_DIR)/dacf/$(SUBDIR64) 1540Sstevel@tonic-gate 1550Sstevel@tonic-gateUSR_PSM_DRV_DIR = $(USR_PSM_DRV_DIR_$(CLASS)) 1560Sstevel@tonic-gateUSR_PSM_EXEC_DIR = $(USR_PSM_EXEC_DIR_$(CLASS)) 1570Sstevel@tonic-gateUSR_PSM_FS_DIR = $(USR_PSM_FS_DIR_$(CLASS)) 1580Sstevel@tonic-gateUSR_PSM_SCHED_DIR = $(USR_PSM_SCHED_DIR_$(CLASS)) 1590Sstevel@tonic-gateUSR_PSM_STRMOD_DIR = $(USR_PSM_STRMOD_DIR_$(CLASS)) 1600Sstevel@tonic-gateUSR_PSM_SYS_DIR = $(USR_PSM_SYS_DIR_$(CLASS)) 1610Sstevel@tonic-gateUSR_PSM_MISC_DIR = $(USR_PSM_MISC_DIR_$(CLASS)) 1620Sstevel@tonic-gateUSR_PSM_DACF_DIR = $(USR_PSM_DACF_DIR_$(CLASS)) 1630Sstevel@tonic-gate 1640Sstevel@tonic-gateUSR_PSM_MOD_DIRS_32 = $(USR_PSM_DRV_DIR_32) 1650Sstevel@tonic-gateUSR_PSM_MOD_DIRS_32 += $(USR_PSM_EXEC_DIR_32) $(USR_PSM_FS_DIR_32) 1660Sstevel@tonic-gateUSR_PSM_MOD_DIRS_32 += $(USR_PSM_SCHED_DIR_32) $(USR_PSM_STRMOD_DIR_32) 1670Sstevel@tonic-gateUSR_PSM_MOD_DIRS_32 += $(USR_PSM_SYS_DIR_32) $(USR_PSM_MISC_DIR_32) 1680Sstevel@tonic-gateUSR_PSM_MOD_DIRS_32 += $(USR_PSM_DACF_DIR_32) 1690Sstevel@tonic-gate 1700Sstevel@tonic-gate# 1710Sstevel@tonic-gate# UltraSparc III crypto modules 1720Sstevel@tonic-gate# 1730Sstevel@tonic-gateROOT_US3_DIR = $(ROOT_PLAT_DIR)/sun4u-us3 1740Sstevel@tonic-gateROOT_US3_MOD_DIR = $(ROOT_US3_DIR)/kernel 1750Sstevel@tonic-gateROOT_US3_CRYPTO_DIR_32 = $(ROOT_US3_MOD_DIR)/crypto 1760Sstevel@tonic-gateROOT_US3_CRYPTO_DIR_64 = $(ROOT_US3_MOD_DIR)/crypto/$(SUBDIR64) 1770Sstevel@tonic-gateROOT_US3_CRYPTO_DIR = $(ROOT_US3_CRYPTO_DIR_$(CLASS)) 1780Sstevel@tonic-gateROOT_US3_CRYPTO_LINK = $(ROOT_US3_CRYPTO_DIR_64:$(ROOT_PLAT_DIR)%=../../../..%) 1790Sstevel@tonic-gate 1803446SmrjROOT_BOOT_PSM_KERN_DIR = $(ROOT)/boot/platform/$(PLATFORM)/kernel 1813446Smrj 1820Sstevel@tonic-gate# 1830Sstevel@tonic-gate# The following are for the installation of objects in PSM directories. 1840Sstevel@tonic-gate# 1850Sstevel@tonic-gateROOT_PSM_PROG= $(PROG:%=$(ROOT_PSM_DIR)/%) 1860Sstevel@tonic-gateUSR_PSM_PROG= $(PROG:%=$(USR_PSM_DIR)/%) 1870Sstevel@tonic-gate 1880Sstevel@tonic-gateROOT_PSM_SBIN_PROG= $(PROG:%=$(ROOT_PSM_SBIN_DIR)/%) 1890Sstevel@tonic-gateUSR_PSM_SBIN_PROG= $(PROG:%=$(USR_PSM_SBIN_DIR)/%) 1900Sstevel@tonic-gate 1910Sstevel@tonic-gateROOT_PSM_LIBS= $(LIBS:%=$(ROOT_PSM_LIB_DIR)/%) 1920Sstevel@tonic-gateUSR_PSM_LIBS= $(LIBS:%=$(USR_PSM_LIB_DIR)/%) 1938119SAnthony.Scarpino@Sun.COMUSR_PSM_LIBS64= $(LIBS:%=$(USR_PSM_LIB64_DIR)/%) 1940Sstevel@tonic-gate$(ROOT_PSM_LIB_DIR)/$(DYNLIB) := FILEMODE= 755 1950Sstevel@tonic-gate$(ROOT_PSM_LIB64_DIR)/$(DYNLIB) := FILEMODE= 755 1960Sstevel@tonic-gate$(USR_PSM_LIB_DIR)/$(DYNLIB) := FILEMODE= 755 1970Sstevel@tonic-gate$(USR_PSM_LIB64_DIR)/$(DYNLIB) := FILEMODE= 755 1980Sstevel@tonic-gate 1990Sstevel@tonic-gate# 2000Sstevel@tonic-gate# The following are used to link objects between platforms (for platforms 2010Sstevel@tonic-gate# which wish to share some objects, but not everything). 2020Sstevel@tonic-gate# 2030Sstevel@tonic-gateROOT_PSM_PROG_LINKS= $(PLATLINKS:%=$(ROOT_PLAT_DIR)/%/$(PROG)) 2040Sstevel@tonic-gateUSR_PSM_PROG_LINKS= $(PLATLINKS:%=$(USR_PLAT_DIR)/%/$(PROG)) 2050Sstevel@tonic-gate 2060Sstevel@tonic-gateROOT_PSM_SBIN_PROG_LINKS= $(PLATLINKS:%=$(ROOT_PLAT_DIR)/%/sbin/$(PROG)) 2070Sstevel@tonic-gateUSR_PSM_SBIN_PROG_LINKS= $(PLATLINKS:%=$(USR_PLAT_DIR)/%/sbin/$(PROG)) 2080Sstevel@tonic-gate 2090Sstevel@tonic-gate# 2100Sstevel@tonic-gate# The following are for the creation of the link between the generic name 2110Sstevel@tonic-gate# of a library and the versioned instance of it. 2120Sstevel@tonic-gate# 2130Sstevel@tonic-gateROOT_PSM_LIB_VERLINKS= $(ROOT_PSM_LIB_DIR)/$(LIBLINKS) 2140Sstevel@tonic-gateUSR_PSM_LIB_VERLINKS= $(USR_PSM_LIB_DIR)/$(LIBLINKS) 215