5961 Fix stack overflow in zfs_create_fs
[unleashed.git] / usr / src / Makefile.psm
bloba178b2a208b7f9200f5146d0fa2b844bbcd86dd0
2 # CDDL HEADER START
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.
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.
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]
19 # CDDL HEADER END
22 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
23 # Use is subject to license terms.
25 # usr/src/Makefile.psm
27 # Makefile.psm, global definitions for platform specific modules
30 ROOT_PLAT_DIR            = $(ROOT)/platform
32 ROOT_PSM_DIR             = $(ROOT_PLAT_DIR)/$(PLATFORM)
34 ROOT_PSM_MOD_DIR         = $(ROOT_PSM_DIR)/kernel
35 ROOT_PSM_LIB_DIR         = $(ROOT_PSM_DIR)/lib
36 ROOT_PSM_LIB64_DIR       = $(ROOT_PSM_LIB_DIR)/$(MACH64)
37 ROOT_PSM_SBIN_DIR        = $(ROOT_PSM_DIR)/sbin
39 ROOT_PSM_KERN_DIR_32     = $(ROOT_PSM_MOD_DIR)
40 ROOT_PSM_DRV_DIR_32      = $(ROOT_PSM_MOD_DIR)/drv
41 ROOT_PSM_EXEC_DIR_32     = $(ROOT_PSM_MOD_DIR)/exec
42 ROOT_PSM_FS_DIR_32       = $(ROOT_PSM_MOD_DIR)/fs
43 ROOT_PSM_SCHED_DIR_32    = $(ROOT_PSM_MOD_DIR)/sched
44 ROOT_PSM_STRMOD_DIR_32   = $(ROOT_PSM_MOD_DIR)/strmod
45 ROOT_PSM_SYS_DIR_32      = $(ROOT_PSM_MOD_DIR)/sys
46 ROOT_PSM_MISC_DIR_32     = $(ROOT_PSM_MOD_DIR)/misc
47 ROOT_PSM_KGSS_DIR_32     = $(ROOT_PSM_MOD_DIR)/misc/kgss
48 ROOT_PSM_MACH_DIR_32     = $(ROOT_PSM_MOD_DIR)/mach
49 ROOT_PSM_CPU_DIR_32      = $(ROOT_PSM_MOD_DIR)/cpu
50 ROOT_PSM_PLAT_DIR_32     = $(ROOT_PSM_MOD_DIR)/misc
51 ROOT_PSM_TOD_DIR_32      = $(ROOT_PSM_MOD_DIR)/tod
52 ROOT_PSM_MMU_DIR_32      = $(ROOT_PSM_MOD_DIR)/mmu
53 ROOT_PSM_DACF_DIR_32     = $(ROOT_PSM_MOD_DIR)/dacf
54 ROOT_PSM_CRYPTO_DIR_32   = $(ROOT_PSM_MOD_DIR)/crypto
55 ROOT_PSM_PCBE_DIR_32     = $(ROOT_PSM_MOD_DIR)/pcbe
56 ROOT_PSM_BRAND_DIR_32    = $(ROOT_PSM_MOD_DIR)/brand
58 ROOT_PSM_KERN_DIR_64     = $(ROOT_PSM_MOD_DIR)/$(SUBDIR64)
59 ROOT_PSM_DRV_DIR_64      = $(ROOT_PSM_MOD_DIR)/drv/$(SUBDIR64)
60 ROOT_PSM_EXEC_DIR_64     = $(ROOT_PSM_MOD_DIR)/exec/$(SUBDIR64)
61 ROOT_PSM_FS_DIR_64       = $(ROOT_PSM_MOD_DIR)/fs/$(SUBDIR64)
62 ROOT_PSM_SCHED_DIR_64    = $(ROOT_PSM_MOD_DIR)/sched/$(SUBDIR64)
63 ROOT_PSM_STRMOD_DIR_64   = $(ROOT_PSM_MOD_DIR)/strmod/$(SUBDIR64)
64 ROOT_PSM_SYS_DIR_64      = $(ROOT_PSM_MOD_DIR)/sys/$(SUBDIR64)
65 ROOT_PSM_MISC_DIR_64     = $(ROOT_PSM_MOD_DIR)/misc/$(SUBDIR64)
66 ROOT_PSM_KGSS_DIR_64     = $(ROOT_PSM_MOD_DIR)/misc/kgss/$(SUBDIR64)
67 ROOT_PSM_MACH_DIR_64     = $(ROOT_PSM_MOD_DIR)/mach/$(SUBDIR64)
68 ROOT_PSM_CPU_DIR_64      = $(ROOT_PSM_MOD_DIR)/cpu/$(SUBDIR64)
69 ROOT_PSM_PLAT_DIR_64     = $(ROOT_PSM_MOD_DIR)/misc/$(SUBDIR64)
70 ROOT_PSM_TOD_DIR_64      = $(ROOT_PSM_MOD_DIR)/tod/$(SUBDIR64)
71 ROOT_PSM_MMU_DIR_64      = $(ROOT_PSM_MOD_DIR)/mmu/$(SUBDIR64)
72 ROOT_PSM_DACF_DIR_64     = $(ROOT_PSM_MOD_DIR)/dacf/$(SUBDIR64)
73 ROOT_PSM_CRYPTO_DIR_64   = $(ROOT_PSM_MOD_DIR)/crypto/$(SUBDIR64)
74 ROOT_PSM_PCBE_DIR_64     = $(ROOT_PSM_MOD_DIR)/pcbe/$(SUBDIR64)
75 ROOT_PSM_BRAND_DIR_64    = $(ROOT_PSM_MOD_DIR)/brand/$(SUBDIR64)
77 ROOT_PSM_KERN_DIR        = $(ROOT_PSM_KERN_DIR_$(CLASS))
78 ROOT_PSM_DRV_DIR         = $(ROOT_PSM_DRV_DIR_$(CLASS))
79 ROOT_PSM_EXEC_DIR        = $(ROOT_PSM_EXEC_DIR_$(CLASS))
80 ROOT_PSM_FS_DIR          = $(ROOT_PSM_FS_DIR_$(CLASS))
81 ROOT_PSM_SCHED_DIR       = $(ROOT_PSM_SCHED_DIR_$(CLASS))
82 ROOT_PSM_STRMOD_DIR      = $(ROOT_PSM_STRMOD_DIR_$(CLASS))
83 ROOT_PSM_SYS_DIR         = $(ROOT_PSM_SYS_DIR_$(CLASS))
84 ROOT_PSM_MISC_DIR        = $(ROOT_PSM_MISC_DIR_$(CLASS))
85 ROOT_PSM_KGSS_DIR        = $(ROOT_PSM_KGSS_DIR_$(CLASS))
86 ROOT_PSM_MACH_DIR        = $(ROOT_PSM_MACH_DIR_$(CLASS))
87 ROOT_PSM_CPU_DIR         = $(ROOT_PSM_CPU_DIR_$(CLASS))
88 ROOT_PSM_PLAT_DIR        = $(ROOT_PSM_PLAT_DIR_$(CLASS))
89 ROOT_PSM_TOD_DIR         = $(ROOT_PSM_TOD_DIR_$(CLASS))
90 ROOT_PSM_MMU_DIR         = $(ROOT_PSM_MMU_DIR_$(CLASS))
91 ROOT_PSM_DACF_DIR        = $(ROOT_PSM_DACF_DIR_$(CLASS))
92 ROOT_PSM_CRYPTO_DIR      = $(ROOT_PSM_CRYPTO_DIR_$(CLASS))
93 ROOT_PSM_PCBE_DIR        = $(ROOT_PSM_PCBE_DIR_$(CLASS))
94 ROOT_PSM_BRAND_DIR       = $(ROOT_PSM_BRAND_DIR_$(CLASS))
96 ROOT_PSM_MOD_DIRS_32     = $(ROOT_PSM_DRV_DIR_32)
97 ROOT_PSM_MOD_DIRS_32    += $(ROOT_PSM_EXEC_DIR_32) $(ROOT_PSM_FS_DIR_32)
98 ROOT_PSM_MOD_DIRS_32    += $(ROOT_PSM_SCHED_DIR_32) $(ROOT_PSM_STRMOD_DIR_32)
99 ROOT_PSM_MOD_DIRS_32    += $(ROOT_PSM_SYS_DIR_32) $(ROOT_PSM_MISC_DIR_32)
100 ROOT_PSM_MOD_DIRS_32    += $(ROOT_PSM_KGSS_DIR_32)
101 ROOT_PSM_MOD_DIRS_32    += $(ROOT_PSM_MACH_DIR_32) $(ROOT_PSM_CPU_DIR_32)
102 ROOT_PSM_MOD_DIRS_32    += $(ROOT_PSM_TOD_DIR_32)
103 ROOT_PSM_MOD_DIRS_32    += $(ROOT_PSM_MMU_DIR_32)
104 ROOT_PSM_MOD_DIRS_32    += $(ROOT_PSM_DACF_DIR_32)
105 ROOT_PSM_MOD_DIRS_32    += $(ROOT_PSM_CRYPTO_DIR_32)
106 ROOT_PSM_MOD_DIRS_32    += $(ROOT_PSM_PCBE_DIR_32)
107 ROOT_PSM_MOD_DIRS_32    += $(ROOT_PSM_BRAND_DIR_32)
109 ROOT_PSM_LIB_FS_DIR      = $(ROOT_PSM_LIB_DIR)/fs
110 ROOT_PSM_LIB_UFS_DIR     = $(ROOT_PSM_LIB_FS_DIR)/ufs
111 ROOT_PSM_LIB_NFS_DIR     = $(ROOT_PSM_LIB_FS_DIR)/nfs
112 ROOT_PSM_LIB_HSFS_DIR    = $(ROOT_PSM_LIB_FS_DIR)/hsfs
113 ROOT_PSM_LIB_ZFS_DIR     = $(ROOT_PSM_LIB_FS_DIR)/zfs
115 USR_PLAT_DIR             = $(ROOT)/usr/platform
117 USR_PSM_DIR              = $(USR_PLAT_DIR)/$(PLATFORM)
119 USR_PSM_MOD_DIR          = $(USR_PSM_DIR)/kernel
120 USR_PSM_INCL_DIR         = $(USR_PSM_DIR)/include
121 USR_PSM_LIB_DIR          = $(USR_PSM_DIR)/lib
122 USR_PSM_LIB64_DIR        = $(USR_PSM_LIB_DIR)/$(MACH64)
123 USR_PSM_SBIN_DIR         = $(USR_PSM_DIR)/sbin
125 USR_PSM_ISYS_DIR         = $(USR_PSM_INCL_DIR)/sys
126 USR_PSM_IVM_DIR          = $(USR_PSM_INCL_DIR)/vm
128 USR_PSM_LIB_ABI_DIR     = $(USR_PSM_LIB_DIR)/abi 
129 USR_PSM_LIB_ABI_DIR_64  = $(USR_PSM_LIB_ABI_DIR)/$(MACH64) 
131 USR_PSM_LIB_FS_DIR       = $(USR_PSM_LIB_DIR)/fs
132 USR_PSM_LIB_UFS_DIR      = $(USR_PSM_LIB_FS_DIR)/ufs
133 USR_PSM_LIB_NFS_DIR      = $(USR_PSM_LIB_FS_DIR)/nfs
134 USR_PSM_LIB_HSFS_DIR     = $(USR_PSM_LIB_FS_DIR)/hsfs
135 USR_PSM_LIB_ZFS_DIR      = $(USR_PSM_LIB_FS_DIR)/zfs
137 USR_PSM_DRV_DIR_32       = $(USR_PSM_MOD_DIR)/drv
138 USR_PSM_EXEC_DIR_32      = $(USR_PSM_MOD_DIR)/exec
139 USR_PSM_FS_DIR_32        = $(USR_PSM_MOD_DIR)/fs
140 USR_PSM_SCHED_DIR_32     = $(USR_PSM_MOD_DIR)/sched
141 USR_PSM_STRMOD_DIR_32    = $(USR_PSM_MOD_DIR)/strmod
142 USR_PSM_SYS_DIR_32       = $(USR_PSM_MOD_DIR)/sys
143 USR_PSM_MISC_DIR_32      = $(USR_PSM_MOD_DIR)/misc
144 USR_PSM_DACF_DIR_32      = $(USR_PSM_MOD_DIR)/dacf
146 USR_PSM_DRV_DIR_64       = $(USR_PSM_MOD_DIR)/drv/$(SUBDIR64)
147 USR_PSM_EXEC_DIR_64      = $(USR_PSM_MOD_DIR)/exec/$(SUBDIR64)
148 USR_PSM_FS_DIR_64        = $(USR_PSM_MOD_DIR)/fs/$(SUBDIR64)
149 USR_PSM_SCHED_DIR_64     = $(USR_PSM_MOD_DIR)/sched/$(SUBDIR64)
150 USR_PSM_STRMOD_DIR_64    = $(USR_PSM_MOD_DIR)/strmod/$(SUBDIR64)
151 USR_PSM_SYS_DIR_64       = $(USR_PSM_MOD_DIR)/sys/$(SUBDIR64)
152 USR_PSM_MISC_DIR_64      = $(USR_PSM_MOD_DIR)/misc/$(SUBDIR64)
153 USR_PSM_DACF_DIR_64      = $(USR_PSM_MOD_DIR)/dacf/$(SUBDIR64)
155 USR_PSM_DRV_DIR          = $(USR_PSM_DRV_DIR_$(CLASS))
156 USR_PSM_EXEC_DIR         = $(USR_PSM_EXEC_DIR_$(CLASS))
157 USR_PSM_FS_DIR           = $(USR_PSM_FS_DIR_$(CLASS))
158 USR_PSM_SCHED_DIR        = $(USR_PSM_SCHED_DIR_$(CLASS))
159 USR_PSM_STRMOD_DIR       = $(USR_PSM_STRMOD_DIR_$(CLASS))
160 USR_PSM_SYS_DIR          = $(USR_PSM_SYS_DIR_$(CLASS))
161 USR_PSM_MISC_DIR         = $(USR_PSM_MISC_DIR_$(CLASS))
162 USR_PSM_DACF_DIR         = $(USR_PSM_DACF_DIR_$(CLASS))
164 USR_PSM_MOD_DIRS_32      = $(USR_PSM_DRV_DIR_32)
165 USR_PSM_MOD_DIRS_32     += $(USR_PSM_EXEC_DIR_32) $(USR_PSM_FS_DIR_32)
166 USR_PSM_MOD_DIRS_32     += $(USR_PSM_SCHED_DIR_32) $(USR_PSM_STRMOD_DIR_32)
167 USR_PSM_MOD_DIRS_32     += $(USR_PSM_SYS_DIR_32) $(USR_PSM_MISC_DIR_32)
168 USR_PSM_MOD_DIRS_32     += $(USR_PSM_DACF_DIR_32)
171 # UltraSparc III crypto modules
173 ROOT_US3_DIR            = $(ROOT_PLAT_DIR)/sun4u-us3
174 ROOT_US3_MOD_DIR        = $(ROOT_US3_DIR)/kernel
175 ROOT_US3_CRYPTO_DIR_32  = $(ROOT_US3_MOD_DIR)/crypto
176 ROOT_US3_CRYPTO_DIR_64  = $(ROOT_US3_MOD_DIR)/crypto/$(SUBDIR64)
177 ROOT_US3_CRYPTO_DIR     = $(ROOT_US3_CRYPTO_DIR_$(CLASS))
178 ROOT_US3_CRYPTO_LINK    = $(ROOT_US3_CRYPTO_DIR_64:$(ROOT_PLAT_DIR)%=../../../..%)
180 ROOT_BOOT_PSM_KERN_DIR  = $(ROOT)/boot/platform/$(PLATFORM)/kernel
183 # The following are for the installation of objects in PSM directories.
185 ROOT_PSM_PROG=                  $(PROG:%=$(ROOT_PSM_DIR)/%)
186 USR_PSM_PROG=                   $(PROG:%=$(USR_PSM_DIR)/%)
188 ROOT_PSM_SBIN_PROG=             $(PROG:%=$(ROOT_PSM_SBIN_DIR)/%)
189 USR_PSM_SBIN_PROG=              $(PROG:%=$(USR_PSM_SBIN_DIR)/%)
191 ROOT_PSM_LIBS=                  $(LIBS:%=$(ROOT_PSM_LIB_DIR)/%)
192 USR_PSM_LIBS=                   $(LIBS:%=$(USR_PSM_LIB_DIR)/%)
193 USR_PSM_LIBS64=                 $(LIBS:%=$(USR_PSM_LIB64_DIR)/%)
194 $(ROOT_PSM_LIB_DIR)/$(DYNLIB)   := FILEMODE= 755
195 $(ROOT_PSM_LIB64_DIR)/$(DYNLIB) := FILEMODE= 755
196 $(USR_PSM_LIB_DIR)/$(DYNLIB)    := FILEMODE= 755
197 $(USR_PSM_LIB64_DIR)/$(DYNLIB)  := FILEMODE= 755
200 # The following are used to link objects between platforms (for platforms
201 # which wish to share some objects, but not everything).
203 ROOT_PSM_PROG_LINKS=            $(PLATLINKS:%=$(ROOT_PLAT_DIR)/%/$(PROG))
204 USR_PSM_PROG_LINKS=             $(PLATLINKS:%=$(USR_PLAT_DIR)/%/$(PROG))
206 ROOT_PSM_SBIN_PROG_LINKS=       $(PLATLINKS:%=$(ROOT_PLAT_DIR)/%/sbin/$(PROG))
207 USR_PSM_SBIN_PROG_LINKS=        $(PLATLINKS:%=$(USR_PLAT_DIR)/%/sbin/$(PROG))
210 # The following are for the creation of the link between the generic name
211 # of a library and the versioned instance of it.
213 ROOT_PSM_LIB_VERLINKS=          $(ROOT_PSM_LIB_DIR)/$(LIBLINKS)
214 USR_PSM_LIB_VERLINKS=           $(USR_PSM_LIB_DIR)/$(LIBLINKS)