xref: /onnv-gate/usr/src/Makefile.psm (revision 10738:6cd5e5169fec)
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