Home | History | Annotate | Download | only in src
      1 #
      2 # CDDL HEADER START
      3 #
      4 # The contents of this file are subject to the terms of the
      5 # Common Development and Distribution License (the "License").
      6 # You may not use this file except in compliance with the License.
      7 #
      8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
      9 # or http://www.opensolaris.org/os/licensing.
     10 # See the License for the specific language governing permissions
     11 # and limitations under the License.
     12 #
     13 # When distributing Covered Code, include this CDDL HEADER in each
     14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     15 # If applicable, add the following below this CDDL HEADER, with the
     16 # fields enclosed by brackets "[]" replaced with your own identifying
     17 # information: Portions Copyright [yyyy] [name of copyright owner]
     18 #
     19 # CDDL HEADER END
     20 #
     21 #
     22 # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
     23 # Use is subject to license terms.
     24 #
     25 # ident	"%Z%%M%	%I%	%E% SMI"
     26 #
     27 # usr/src/Makefile.psm
     28 #
     29 # Makefile.psm, global definitions for platform specific modules
     30 
     31 #
     32 # The distinction between root.sys and root.bin is largely historical;
     33 # the files in group bin used to be owned by user bin.
     34 #
     35 INS.dir.root.sys=	$(INS) -s -d -m $(DIRMODE) $@
     36 $(CH)INS.dir.root.sys=	$(INS) -s -d -m $(DIRMODE) -u root -g sys $@
     37 INS.dir.root.bin=	$(INS) -s -d -m $(DIRMODE) $@
     38 $(CH)INS.dir.root.bin=	$(INS) -s -d -m $(DIRMODE) -u root -g bin $@
     39 
     40 #
     41 #
     42 #
     43 ROOT_PLAT_DIR		 = $(ROOT)/platform
     44 
     45 ROOT_PSM_DIR		 = $(ROOT_PLAT_DIR)/$(PLATFORM)
     46 
     47 ROOT_PSM_MOD_DIR	 = $(ROOT_PSM_DIR)/kernel
     48 ROOT_PSM_LIB_DIR	 = $(ROOT_PSM_DIR)/lib
     49 ROOT_PSM_LIB64_DIR	 = $(ROOT_PSM_LIB_DIR)/$(MACH64)
     50 ROOT_PSM_SBIN_DIR	 = $(ROOT_PSM_DIR)/sbin
     51 
     52 ROOT_PSM_KERN_DIR_32	 = $(ROOT_PSM_MOD_DIR)
     53 ROOT_PSM_DRV_DIR_32	 = $(ROOT_PSM_MOD_DIR)/drv
     54 ROOT_PSM_EXEC_DIR_32	 = $(ROOT_PSM_MOD_DIR)/exec
     55 ROOT_PSM_FS_DIR_32	 = $(ROOT_PSM_MOD_DIR)/fs
     56 ROOT_PSM_SCHED_DIR_32	 = $(ROOT_PSM_MOD_DIR)/sched
     57 ROOT_PSM_STRMOD_DIR_32	 = $(ROOT_PSM_MOD_DIR)/strmod
     58 ROOT_PSM_SYS_DIR_32	 = $(ROOT_PSM_MOD_DIR)/sys
     59 ROOT_PSM_MISC_DIR_32	 = $(ROOT_PSM_MOD_DIR)/misc
     60 ROOT_PSM_KGSS_DIR_32	 = $(ROOT_PSM_MOD_DIR)/misc/kgss
     61 ROOT_PSM_MACH_DIR_32	 = $(ROOT_PSM_MOD_DIR)/mach
     62 ROOT_PSM_CPU_DIR_32	 = $(ROOT_PSM_MOD_DIR)/cpu
     63 ROOT_PSM_PLAT_DIR_32	 = $(ROOT_PSM_MOD_DIR)/misc
     64 ROOT_PSM_TOD_DIR_32	 = $(ROOT_PSM_MOD_DIR)/tod
     65 ROOT_PSM_MMU_DIR_32	 = $(ROOT_PSM_MOD_DIR)/mmu
     66 ROOT_PSM_DACF_DIR_32	 = $(ROOT_PSM_MOD_DIR)/dacf
     67 ROOT_PSM_CRYPTO_DIR_32	 = $(ROOT_PSM_MOD_DIR)/crypto
     68 ROOT_PSM_PCBE_DIR_32	 = $(ROOT_PSM_MOD_DIR)/pcbe
     69 ROOT_PSM_BRAND_DIR_32	 = $(ROOT_PSM_MOD_DIR)/brand
     70 
     71 ROOT_PSM_KERN_DIR_64	 = $(ROOT_PSM_MOD_DIR)/$(SUBDIR64)
     72 ROOT_PSM_DRV_DIR_64	 = $(ROOT_PSM_MOD_DIR)/drv/$(SUBDIR64)
     73 ROOT_PSM_EXEC_DIR_64	 = $(ROOT_PSM_MOD_DIR)/exec/$(SUBDIR64)
     74 ROOT_PSM_FS_DIR_64	 = $(ROOT_PSM_MOD_DIR)/fs/$(SUBDIR64)
     75 ROOT_PSM_SCHED_DIR_64	 = $(ROOT_PSM_MOD_DIR)/sched/$(SUBDIR64)
     76 ROOT_PSM_STRMOD_DIR_64	 = $(ROOT_PSM_MOD_DIR)/strmod/$(SUBDIR64)
     77 ROOT_PSM_SYS_DIR_64	 = $(ROOT_PSM_MOD_DIR)/sys/$(SUBDIR64)
     78 ROOT_PSM_MISC_DIR_64	 = $(ROOT_PSM_MOD_DIR)/misc/$(SUBDIR64)
     79 ROOT_PSM_KGSS_DIR_64	 = $(ROOT_PSM_MOD_DIR)/misc/kgss/$(SUBDIR64)
     80 ROOT_PSM_MACH_DIR_64	 = $(ROOT_PSM_MOD_DIR)/mach/$(SUBDIR64)
     81 ROOT_PSM_CPU_DIR_64	 = $(ROOT_PSM_MOD_DIR)/cpu/$(SUBDIR64)
     82 ROOT_PSM_PLAT_DIR_64	 = $(ROOT_PSM_MOD_DIR)/misc/$(SUBDIR64)
     83 ROOT_PSM_TOD_DIR_64	 = $(ROOT_PSM_MOD_DIR)/tod/$(SUBDIR64)
     84 ROOT_PSM_MMU_DIR_64	 = $(ROOT_PSM_MOD_DIR)/mmu/$(SUBDIR64)
     85 ROOT_PSM_DACF_DIR_64	 = $(ROOT_PSM_MOD_DIR)/dacf/$(SUBDIR64)
     86 ROOT_PSM_CRYPTO_DIR_64	 = $(ROOT_PSM_MOD_DIR)/crypto/$(SUBDIR64)
     87 ROOT_PSM_PCBE_DIR_64	 = $(ROOT_PSM_MOD_DIR)/pcbe/$(SUBDIR64)
     88 ROOT_PSM_BRAND_DIR_64	 = $(ROOT_PSM_MOD_DIR)/brand/$(SUBDIR64)
     89 
     90 ROOT_PSM_KERN_DIR	 = $(ROOT_PSM_KERN_DIR_$(CLASS))
     91 ROOT_PSM_DRV_DIR	 = $(ROOT_PSM_DRV_DIR_$(CLASS))
     92 ROOT_PSM_EXEC_DIR	 = $(ROOT_PSM_EXEC_DIR_$(CLASS))
     93 ROOT_PSM_FS_DIR		 = $(ROOT_PSM_FS_DIR_$(CLASS))
     94 ROOT_PSM_SCHED_DIR	 = $(ROOT_PSM_SCHED_DIR_$(CLASS))
     95 ROOT_PSM_STRMOD_DIR	 = $(ROOT_PSM_STRMOD_DIR_$(CLASS))
     96 ROOT_PSM_SYS_DIR	 = $(ROOT_PSM_SYS_DIR_$(CLASS))
     97 ROOT_PSM_MISC_DIR	 = $(ROOT_PSM_MISC_DIR_$(CLASS))
     98 ROOT_PSM_KGSS_DIR	 = $(ROOT_PSM_KGSS_DIR_$(CLASS))
     99 ROOT_PSM_MACH_DIR	 = $(ROOT_PSM_MACH_DIR_$(CLASS))
    100 ROOT_PSM_CPU_DIR	 = $(ROOT_PSM_CPU_DIR_$(CLASS))
    101 ROOT_PSM_PLAT_DIR	 = $(ROOT_PSM_PLAT_DIR_$(CLASS))
    102 ROOT_PSM_TOD_DIR	 = $(ROOT_PSM_TOD_DIR_$(CLASS))
    103 ROOT_PSM_MMU_DIR	 = $(ROOT_PSM_MMU_DIR_$(CLASS))
    104 ROOT_PSM_DACF_DIR	 = $(ROOT_PSM_DACF_DIR_$(CLASS))
    105 ROOT_PSM_CRYPTO_DIR	 = $(ROOT_PSM_CRYPTO_DIR_$(CLASS))
    106 ROOT_PSM_PCBE_DIR	 = $(ROOT_PSM_PCBE_DIR_$(CLASS))
    107 ROOT_PSM_BRAND_DIR	 = $(ROOT_PSM_BRAND_DIR_$(CLASS))
    108 
    109 ROOT_PSM_MOD_DIRS_32	 = $(ROOT_PSM_DRV_DIR_32)
    110 ROOT_PSM_MOD_DIRS_32 	+= $(ROOT_PSM_EXEC_DIR_32) $(ROOT_PSM_FS_DIR_32)
    111 ROOT_PSM_MOD_DIRS_32 	+= $(ROOT_PSM_SCHED_DIR_32) $(ROOT_PSM_STRMOD_DIR_32)
    112 ROOT_PSM_MOD_DIRS_32 	+= $(ROOT_PSM_SYS_DIR_32) $(ROOT_PSM_MISC_DIR_32)
    113 ROOT_PSM_MOD_DIRS_32	+= $(ROOT_PSM_KGSS_DIR_32)
    114 ROOT_PSM_MOD_DIRS_32 	+= $(ROOT_PSM_MACH_DIR_32) $(ROOT_PSM_CPU_DIR_32)
    115 ROOT_PSM_MOD_DIRS_32 	+= $(ROOT_PSM_TOD_DIR_32)
    116 ROOT_PSM_MOD_DIRS_32 	+= $(ROOT_PSM_MMU_DIR_32)
    117 ROOT_PSM_MOD_DIRS_32	+= $(ROOT_PSM_DACF_DIR_32)
    118 ROOT_PSM_MOD_DIRS_32	+= $(ROOT_PSM_CRYPTO_DIR_32)
    119 ROOT_PSM_MOD_DIRS_32	+= $(ROOT_PSM_PCBE_DIR_32)
    120 ROOT_PSM_MOD_DIRS_32	+= $(ROOT_PSM_BRAND_DIR_32)
    121 
    122 ROOT_PSM_LIB_FS_DIR	 = $(ROOT_PSM_LIB_DIR)/fs
    123 ROOT_PSM_LIB_UFS_DIR	 = $(ROOT_PSM_LIB_FS_DIR)/ufs
    124 ROOT_PSM_LIB_NFS_DIR	 = $(ROOT_PSM_LIB_FS_DIR)/nfs
    125 ROOT_PSM_LIB_HSFS_DIR	 = $(ROOT_PSM_LIB_FS_DIR)/hsfs
    126 ROOT_PSM_LIB_ZFS_DIR	 = $(ROOT_PSM_LIB_FS_DIR)/zfs
    127 
    128 USR_PLAT_DIR		 = $(ROOT)/usr/platform
    129 
    130 USR_PSM_DIR		 = $(USR_PLAT_DIR)/$(PLATFORM)
    131 
    132 USR_PSM_MOD_DIR		 = $(USR_PSM_DIR)/kernel
    133 USR_PSM_INCL_DIR	 = $(USR_PSM_DIR)/include
    134 USR_PSM_LIB_DIR		 = $(USR_PSM_DIR)/lib
    135 USR_PSM_LIB64_DIR	 = $(USR_PSM_LIB_DIR)/$(MACH64)
    136 USR_PSM_SBIN_DIR	 = $(USR_PSM_DIR)/sbin
    137 
    138 USR_PSM_ISYS_DIR	 = $(USR_PSM_INCL_DIR)/sys
    139 USR_PSM_IVM_DIR		 = $(USR_PSM_INCL_DIR)/vm
    140 
    141 USR_PSM_LIB_ABI_DIR	= $(USR_PSM_LIB_DIR)/abi 
    142 USR_PSM_LIB_ABI_DIR_64	= $(USR_PSM_LIB_ABI_DIR)/$(MACH64) 
    143 
    144 USR_PSM_LIB_FS_DIR	 = $(USR_PSM_LIB_DIR)/fs
    145 USR_PSM_LIB_UFS_DIR	 = $(USR_PSM_LIB_FS_DIR)/ufs
    146 USR_PSM_LIB_NFS_DIR	 = $(USR_PSM_LIB_FS_DIR)/nfs
    147 USR_PSM_LIB_HSFS_DIR	 = $(USR_PSM_LIB_FS_DIR)/hsfs
    148 USR_PSM_LIB_ZFS_DIR	 = $(USR_PSM_LIB_FS_DIR)/zfs
    149 
    150 USR_PSM_DRV_DIR_32	 = $(USR_PSM_MOD_DIR)/drv
    151 USR_PSM_EXEC_DIR_32	 = $(USR_PSM_MOD_DIR)/exec
    152 USR_PSM_FS_DIR_32	 = $(USR_PSM_MOD_DIR)/fs
    153 USR_PSM_SCHED_DIR_32	 = $(USR_PSM_MOD_DIR)/sched
    154 USR_PSM_STRMOD_DIR_32	 = $(USR_PSM_MOD_DIR)/strmod
    155 USR_PSM_SYS_DIR_32	 = $(USR_PSM_MOD_DIR)/sys
    156 USR_PSM_MISC_DIR_32	 = $(USR_PSM_MOD_DIR)/misc
    157 USR_PSM_DACF_DIR_32	 = $(USR_PSM_MOD_DIR)/dacf
    158 
    159 USR_PSM_DRV_DIR_64	 = $(USR_PSM_MOD_DIR)/drv/$(SUBDIR64)
    160 USR_PSM_EXEC_DIR_64	 = $(USR_PSM_MOD_DIR)/exec/$(SUBDIR64)
    161 USR_PSM_FS_DIR_64	 = $(USR_PSM_MOD_DIR)/fs/$(SUBDIR64)
    162 USR_PSM_SCHED_DIR_64	 = $(USR_PSM_MOD_DIR)/sched/$(SUBDIR64)
    163 USR_PSM_STRMOD_DIR_64	 = $(USR_PSM_MOD_DIR)/strmod/$(SUBDIR64)
    164 USR_PSM_SYS_DIR_64	 = $(USR_PSM_MOD_DIR)/sys/$(SUBDIR64)
    165 USR_PSM_MISC_DIR_64	 = $(USR_PSM_MOD_DIR)/misc/$(SUBDIR64)
    166 USR_PSM_DACF_DIR_64	 = $(USR_PSM_MOD_DIR)/dacf/$(SUBDIR64)
    167 
    168 USR_PSM_DRV_DIR		 = $(USR_PSM_DRV_DIR_$(CLASS))
    169 USR_PSM_EXEC_DIR	 = $(USR_PSM_EXEC_DIR_$(CLASS))
    170 USR_PSM_FS_DIR		 = $(USR_PSM_FS_DIR_$(CLASS))
    171 USR_PSM_SCHED_DIR	 = $(USR_PSM_SCHED_DIR_$(CLASS))
    172 USR_PSM_STRMOD_DIR	 = $(USR_PSM_STRMOD_DIR_$(CLASS))
    173 USR_PSM_SYS_DIR		 = $(USR_PSM_SYS_DIR_$(CLASS))
    174 USR_PSM_MISC_DIR	 = $(USR_PSM_MISC_DIR_$(CLASS))
    175 USR_PSM_DACF_DIR	 = $(USR_PSM_DACF_DIR_$(CLASS))
    176 
    177 USR_PSM_MOD_DIRS_32	 = $(USR_PSM_DRV_DIR_32)
    178 USR_PSM_MOD_DIRS_32 	+= $(USR_PSM_EXEC_DIR_32) $(USR_PSM_FS_DIR_32)
    179 USR_PSM_MOD_DIRS_32 	+= $(USR_PSM_SCHED_DIR_32) $(USR_PSM_STRMOD_DIR_32)
    180 USR_PSM_MOD_DIRS_32 	+= $(USR_PSM_SYS_DIR_32) $(USR_PSM_MISC_DIR_32)
    181 USR_PSM_MOD_DIRS_32	+= $(USR_PSM_DACF_DIR_32)
    182 
    183 #
    184 # UltraSparc III crypto modules
    185 #
    186 ROOT_US3_DIR		= $(ROOT_PLAT_DIR)/sun4u-us3
    187 ROOT_US3_MOD_DIR	= $(ROOT_US3_DIR)/kernel
    188 ROOT_US3_CRYPTO_DIR_32	= $(ROOT_US3_MOD_DIR)/crypto
    189 ROOT_US3_CRYPTO_DIR_64	= $(ROOT_US3_MOD_DIR)/crypto/$(SUBDIR64)
    190 ROOT_US3_CRYPTO_DIR	= $(ROOT_US3_CRYPTO_DIR_$(CLASS))
    191 ROOT_US3_CRYPTO_LINK	= $(ROOT_US3_CRYPTO_DIR_64:$(ROOT_PLAT_DIR)%=../../../..%)
    192 
    193 ROOT_BOOT_PSM_KERN_DIR	= $(ROOT)/boot/platform/$(PLATFORM)/kernel
    194 
    195 #
    196 # The following are for the installation of objects in PSM directories.
    197 #
    198 ROOT_PSM_PROG=			$(PROG:%=$(ROOT_PSM_DIR)/%)
    199 USR_PSM_PROG=			$(PROG:%=$(USR_PSM_DIR)/%)
    200 
    201 ROOT_PSM_SBIN_PROG=		$(PROG:%=$(ROOT_PSM_SBIN_DIR)/%)
    202 USR_PSM_SBIN_PROG=		$(PROG:%=$(USR_PSM_SBIN_DIR)/%)
    203 
    204 ROOT_PSM_LIBS=			$(LIBS:%=$(ROOT_PSM_LIB_DIR)/%)
    205 USR_PSM_LIBS=			$(LIBS:%=$(USR_PSM_LIB_DIR)/%)
    206 $(ROOT_PSM_LIB_DIR)/$(DYNLIB)	:= FILEMODE= 755
    207 $(ROOT_PSM_LIB64_DIR)/$(DYNLIB)	:= FILEMODE= 755
    208 $(USR_PSM_LIB_DIR)/$(DYNLIB)	:= FILEMODE= 755
    209 $(USR_PSM_LIB64_DIR)/$(DYNLIB)	:= FILEMODE= 755
    210 
    211 #
    212 # The following are used to link objects between platforms (for platforms
    213 # which wish to share some objects, but not everything).
    214 #
    215 ROOT_PSM_PROG_LINKS=		$(PLATLINKS:%=$(ROOT_PLAT_DIR)/%/$(PROG))
    216 USR_PSM_PROG_LINKS=		$(PLATLINKS:%=$(USR_PLAT_DIR)/%/$(PROG))
    217 
    218 ROOT_PSM_SBIN_PROG_LINKS=	$(PLATLINKS:%=$(ROOT_PLAT_DIR)/%/sbin/$(PROG))
    219 USR_PSM_SBIN_PROG_LINKS=	$(PLATLINKS:%=$(USR_PLAT_DIR)/%/sbin/$(PROG))
    220 
    221 #
    222 # The following are for the creation of the link between the generic name
    223 # of a library and the versioned instance of it.
    224 #
    225 ROOT_PSM_LIB_VERLINKS=		$(ROOT_PSM_LIB_DIR)/$(LIBLINKS)
    226 USR_PSM_LIB_VERLINKS=		$(USR_PSM_LIB_DIR)/$(LIBLINKS)
    227