# # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # usr/src/Makefile.psm # # Makefile.psm, global definitions for platform specific modules # Hammerhead: No /platform/ hierarchy — all modules install to /kernel/ # ROOT_PSM_* paths redirect to ROOT_MOD_DIR (/kernel) equivalents. # ROOT_PLAT_DIR and ROOT_PSM_DIR are kept for any remaining references # but no modules install there anymore. ROOT_PLAT_DIR = $(ROOT)/platform ROOT_PSM_DIR = $(ROOT_PLAT_DIR)/$(PLATFORM) # Hammerhead: Redirect platform module dir to unified /kernel/ ROOT_PSM_MOD_DIR = $(ROOT)/kernel ROOT_PSM_LIB_DIR = $(ROOT_PSM_DIR)/lib ROOT_PSM_LIB64_DIR = $(ROOT_PSM_LIB_DIR)/$(MACH64) ROOT_PSM_SBIN_DIR = $(ROOT_PSM_DIR)/sbin # All _32 and _64 paths point to the same flat /kernel/ hierarchy ROOT_PSM_KERN_DIR_32 = $(ROOT_PSM_MOD_DIR) ROOT_PSM_DRV_DIR_32 = $(ROOT_PSM_MOD_DIR)/drv ROOT_PSM_EXEC_DIR_32 = $(ROOT_PSM_MOD_DIR)/exec ROOT_PSM_FS_DIR_32 = $(ROOT_PSM_MOD_DIR)/fs ROOT_PSM_SCHED_DIR_32 = $(ROOT_PSM_MOD_DIR)/sched ROOT_PSM_STRMOD_DIR_32 = $(ROOT_PSM_MOD_DIR)/strmod ROOT_PSM_SYS_DIR_32 = $(ROOT_PSM_MOD_DIR)/sys ROOT_PSM_MISC_DIR_32 = $(ROOT_PSM_MOD_DIR)/misc ROOT_PSM_KGSS_DIR_32 = $(ROOT_PSM_MOD_DIR)/misc/kgss ROOT_PSM_MACH_DIR_32 = $(ROOT_PSM_MOD_DIR)/mach ROOT_PSM_CPU_DIR_32 = $(ROOT_PSM_MOD_DIR)/cpu ROOT_PSM_PLAT_DIR_32 = $(ROOT_PSM_MOD_DIR)/misc ROOT_PSM_TOD_DIR_32 = $(ROOT_PSM_MOD_DIR)/tod ROOT_PSM_MMU_DIR_32 = $(ROOT_PSM_MOD_DIR)/mmu ROOT_PSM_DACF_DIR_32 = $(ROOT_PSM_MOD_DIR)/dacf ROOT_PSM_CRYPTO_DIR_32 = $(ROOT_PSM_MOD_DIR)/crypto ROOT_PSM_PCBE_DIR_32 = $(ROOT_PSM_MOD_DIR)/pcbe ROOT_PSM_BRAND_DIR_32 = $(ROOT_PSM_MOD_DIR)/brand ROOT_PSM_KERN_DIR_64 = $(ROOT_PSM_MOD_DIR) ROOT_PSM_DRV_DIR_64 = $(ROOT_PSM_MOD_DIR)/drv ROOT_PSM_EXEC_DIR_64 = $(ROOT_PSM_MOD_DIR)/exec ROOT_PSM_FS_DIR_64 = $(ROOT_PSM_MOD_DIR)/fs ROOT_PSM_SCHED_DIR_64 = $(ROOT_PSM_MOD_DIR)/sched ROOT_PSM_STRMOD_DIR_64 = $(ROOT_PSM_MOD_DIR)/strmod ROOT_PSM_SYS_DIR_64 = $(ROOT_PSM_MOD_DIR)/sys ROOT_PSM_MISC_DIR_64 = $(ROOT_PSM_MOD_DIR)/misc ROOT_PSM_KGSS_DIR_64 = $(ROOT_PSM_MOD_DIR)/misc/kgss ROOT_PSM_MACH_DIR_64 = $(ROOT_PSM_MOD_DIR)/mach ROOT_PSM_CPU_DIR_64 = $(ROOT_PSM_MOD_DIR)/cpu ROOT_PSM_PLAT_DIR_64 = $(ROOT_PSM_MOD_DIR)/misc ROOT_PSM_TOD_DIR_64 = $(ROOT_PSM_MOD_DIR)/tod ROOT_PSM_MMU_DIR_64 = $(ROOT_PSM_MOD_DIR)/mmu ROOT_PSM_DACF_DIR_64 = $(ROOT_PSM_MOD_DIR)/dacf ROOT_PSM_CRYPTO_DIR_64 = $(ROOT_PSM_MOD_DIR)/crypto ROOT_PSM_PCBE_DIR_64 = $(ROOT_PSM_MOD_DIR)/pcbe ROOT_PSM_BRAND_DIR_64 = $(ROOT_PSM_MOD_DIR)/brand ROOT_PSM_KERN_DIR = $(ROOT_PSM_KERN_DIR_$(CLASS)) ROOT_PSM_DRV_DIR = $(ROOT_PSM_DRV_DIR_$(CLASS)) ROOT_PSM_EXEC_DIR = $(ROOT_PSM_EXEC_DIR_$(CLASS)) ROOT_PSM_FS_DIR = $(ROOT_PSM_FS_DIR_$(CLASS)) ROOT_PSM_SCHED_DIR = $(ROOT_PSM_SCHED_DIR_$(CLASS)) ROOT_PSM_STRMOD_DIR = $(ROOT_PSM_STRMOD_DIR_$(CLASS)) ROOT_PSM_SYS_DIR = $(ROOT_PSM_SYS_DIR_$(CLASS)) ROOT_PSM_MISC_DIR = $(ROOT_PSM_MISC_DIR_$(CLASS)) ROOT_PSM_KGSS_DIR = $(ROOT_PSM_KGSS_DIR_$(CLASS)) ROOT_PSM_MACH_DIR = $(ROOT_PSM_MACH_DIR_$(CLASS)) ROOT_PSM_CPU_DIR = $(ROOT_PSM_CPU_DIR_$(CLASS)) ROOT_PSM_PLAT_DIR = $(ROOT_PSM_PLAT_DIR_$(CLASS)) ROOT_PSM_TOD_DIR = $(ROOT_PSM_TOD_DIR_$(CLASS)) ROOT_PSM_MMU_DIR = $(ROOT_PSM_MMU_DIR_$(CLASS)) ROOT_PSM_DACF_DIR = $(ROOT_PSM_DACF_DIR_$(CLASS)) ROOT_PSM_CRYPTO_DIR = $(ROOT_PSM_CRYPTO_DIR_$(CLASS)) ROOT_PSM_PCBE_DIR = $(ROOT_PSM_PCBE_DIR_$(CLASS)) ROOT_PSM_BRAND_DIR = $(ROOT_PSM_BRAND_DIR_$(CLASS)) # Hammerhead: Reduced set — most dirs are already created via ROOT_MOD_DIRS ROOT_PSM_MOD_DIRS_32 = $(ROOT_PSM_CPU_DIR_32) ROOT_PSM_MOD_DIRS_32 += $(ROOT_PSM_MACH_DIR_32) ROOT_PSM_MOD_DIRS_32 += $(ROOT_PSM_PCBE_DIR_32) ROOT_PSM_LIB_FS_DIR = $(ROOT_PSM_LIB_DIR)/fs ROOT_PSM_LIB_UFS_DIR = $(ROOT_PSM_LIB_FS_DIR)/ufs ROOT_PSM_LIB_NFS_DIR = $(ROOT_PSM_LIB_FS_DIR)/nfs ROOT_PSM_LIB_HSFS_DIR = $(ROOT_PSM_LIB_FS_DIR)/hsfs ROOT_PSM_LIB_ZFS_DIR = $(ROOT_PSM_LIB_FS_DIR)/zfs ROOT_PSM_LIB_CPIO_DIR = $(ROOT_PSM_LIB_FS_DIR)/cpio # Hammerhead: No /usr/platform/ — redirect to standard locations USR_PLAT_DIR = $(ROOT)/usr/platform USR_PSM_DIR = $(USR_PLAT_DIR)/$(PLATFORM) # Redirect to unified /kernel/ directory USR_PSM_MOD_DIR = $(ROOT)/kernel USR_PSM_INCL_DIR = $(ROOT)/usr/include USR_PSM_LIB_DIR = $(ROOT)/usr/lib USR_PSM_LIB64_DIR = $(ROOT)/usr/lib USR_PSM_SBIN_DIR = $(ROOT)/usr/sbin USR_PSM_ISYS_DIR = $(USR_PSM_INCL_DIR)/sys USR_PSM_IVM_DIR = $(USR_PSM_INCL_DIR)/vm USR_PSM_LIB_ABI_DIR = $(USR_PSM_LIB_DIR)/abi USR_PSM_LIB_ABI_DIR_64 = $(USR_PSM_LIB_ABI_DIR) USR_PSM_LIB_FS_DIR = $(USR_PSM_LIB_DIR)/fs USR_PSM_LIB_UFS_DIR = $(USR_PSM_LIB_FS_DIR)/ufs USR_PSM_LIB_NFS_DIR = $(USR_PSM_LIB_FS_DIR)/nfs USR_PSM_LIB_HSFS_DIR = $(USR_PSM_LIB_FS_DIR)/hsfs USR_PSM_LIB_ZFS_DIR = $(USR_PSM_LIB_FS_DIR)/zfs USR_PSM_LIB_CPIO_DIR = $(USR_PSM_LIB_FS_DIR)/cpio # All USR_PSM module dirs redirect to /kernel/ (flat) USR_PSM_DRV_DIR_32 = $(USR_PSM_MOD_DIR)/drv USR_PSM_EXEC_DIR_32 = $(USR_PSM_MOD_DIR)/exec USR_PSM_FS_DIR_32 = $(USR_PSM_MOD_DIR)/fs USR_PSM_SCHED_DIR_32 = $(USR_PSM_MOD_DIR)/sched USR_PSM_STRMOD_DIR_32 = $(USR_PSM_MOD_DIR)/strmod USR_PSM_SYS_DIR_32 = $(USR_PSM_MOD_DIR)/sys USR_PSM_MISC_DIR_32 = $(USR_PSM_MOD_DIR)/misc USR_PSM_DACF_DIR_32 = $(USR_PSM_MOD_DIR)/dacf USR_PSM_DRV_DIR_64 = $(USR_PSM_MOD_DIR)/drv USR_PSM_EXEC_DIR_64 = $(USR_PSM_MOD_DIR)/exec USR_PSM_FS_DIR_64 = $(USR_PSM_MOD_DIR)/fs USR_PSM_SCHED_DIR_64 = $(USR_PSM_MOD_DIR)/sched USR_PSM_STRMOD_DIR_64 = $(USR_PSM_MOD_DIR)/strmod USR_PSM_SYS_DIR_64 = $(USR_PSM_MOD_DIR)/sys USR_PSM_MISC_DIR_64 = $(USR_PSM_MOD_DIR)/misc USR_PSM_DACF_DIR_64 = $(USR_PSM_MOD_DIR)/dacf USR_PSM_DRV_DIR = $(USR_PSM_DRV_DIR_$(CLASS)) USR_PSM_EXEC_DIR = $(USR_PSM_EXEC_DIR_$(CLASS)) USR_PSM_FS_DIR = $(USR_PSM_FS_DIR_$(CLASS)) USR_PSM_SCHED_DIR = $(USR_PSM_SCHED_DIR_$(CLASS)) USR_PSM_STRMOD_DIR = $(USR_PSM_STRMOD_DIR_$(CLASS)) USR_PSM_SYS_DIR = $(USR_PSM_SYS_DIR_$(CLASS)) USR_PSM_MISC_DIR = $(USR_PSM_MISC_DIR_$(CLASS)) USR_PSM_DACF_DIR = $(USR_PSM_DACF_DIR_$(CLASS)) # Hammerhead: Dirs already created via ROOT_MOD_DIRS, nothing extra needed USR_PSM_MOD_DIRS_32 = # Hammerhead: UltraSparc III crypto modules removed (SPARC not supported) # Hammerhead: No platform-specific boot kernel directory ROOT_BOOT_PSM_KERN_DIR = $(ROOT)/kernel # # The following are for the installation of objects in PSM directories. # ROOT_PSM_PROG= $(PROG:%=$(ROOT_PSM_DIR)/%) USR_PSM_PROG= $(PROG:%=$(USR_PSM_DIR)/%) ROOT_PSM_SBIN_PROG= $(PROG:%=$(ROOT_PSM_SBIN_DIR)/%) USR_PSM_SBIN_PROG= $(PROG:%=$(USR_PSM_SBIN_DIR)/%) ROOT_PSM_LIBS= $(LIBS:%=$(ROOT_PSM_LIB_DIR)/%) USR_PSM_LIBS= $(LIBS:%=$(USR_PSM_LIB_DIR)/%) USR_PSM_LIBS64= $(LIBS:%=$(USR_PSM_LIB64_DIR)/%) $(ROOT_PSM_LIB_DIR)/$(DYNLIB) : FILEMODE= 755 $(ROOT_PSM_LIB64_DIR)/$(DYNLIB) : FILEMODE= 755 $(USR_PSM_LIB_DIR)/$(DYNLIB) : FILEMODE= 755 $(USR_PSM_LIB64_DIR)/$(DYNLIB) : FILEMODE= 755 # # The following are used to link objects between platforms (for platforms # which wish to share some objects, but not everything). # ROOT_PSM_PROG_LINKS= $(PLATLINKS:%=$(ROOT_PLAT_DIR)/%/$(PROG)) USR_PSM_PROG_LINKS= $(PLATLINKS:%=$(USR_PLAT_DIR)/%/$(PROG)) ROOT_PSM_SBIN_PROG_LINKS= $(PLATLINKS:%=$(ROOT_PLAT_DIR)/%/sbin/$(PROG)) USR_PSM_SBIN_PROG_LINKS= $(PLATLINKS:%=$(USR_PLAT_DIR)/%/sbin/$(PROG)) # # The following are for the creation of the link between the generic name # of a library and the versioned instance of it. # ROOT_PSM_LIB_VERLINKS= $(ROOT_PSM_LIB_DIR)/$(LIBLINKS) USR_PSM_LIB_VERLINKS= $(USR_PSM_LIB_DIR)/$(LIBLINKS)