author | fl147353 |
Sun, 05 Mar 2006 23:14:16 -0800 | |
changeset 1549 | 9acf97172dc1 |
parent 1414 | b4126407ac5b |
child 1709 | 39a1331cb1e3 |
permissions | -rw-r--r-- |
1167 | 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 |
# |
|
1549
9acf97172dc1
PSARC/2005/507 Solaris audio driver for ATI IXP400
fl147353
parents:
1414
diff
changeset
|
21 |
|
1167 | 22 |
# |
23 |
# uts/i86pc/Makefile.i86pc |
|
24 |
# |
|
1414
b4126407ac5b
PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents:
1167
diff
changeset
|
25 |
# Copyright 2006 Sun Microsystems, Inc. All rights reserved. |
1167 | 26 |
# Use is subject to license terms. |
27 |
# |
|
28 |
# ident "%Z%%M% %I% %E% SMI" |
|
29 |
# |
|
30 |
# This makefile contains the common definitions for the i86pc unix |
|
31 |
# and all i86pc implementation architecture dependent modules. |
|
32 |
# |
|
33 |
||
34 |
# |
|
35 |
# Machine type (implementation architecture): |
|
36 |
# |
|
37 |
PLATFORM = i86pc |
|
38 |
||
39 |
# |
|
40 |
# Everybody needs to know how to build modstubs.o and to locate unix.o |
|
41 |
# |
|
42 |
UNIX_DIR = $(UTSBASE)/$(PLATFORM)/unix |
|
43 |
GENLIB_DIR = $(UTSBASE)/intel/genunix |
|
44 |
MODSTUBS_DIR = $(UNIX_DIR) |
|
45 |
DSF_DIR = $(UTSBASE)/$(PLATFORM)/genassym |
|
46 |
LINTS_DIR = $(OBJS_DIR) |
|
47 |
LINT_LIB_DIR = $(UTSBASE)/$(PLATFORM)/lint-libs/$(OBJS_DIR) |
|
48 |
GEN_LINT_LIB_DIR = $(UTSBASE)/intel/lint-libs/$(OBJS_DIR) |
|
49 |
||
50 |
DTRACESTUBS_O = $(OBJS_DIR)/dtracestubs.o |
|
51 |
DTRACESTUBS = $(OBJS_DIR)/libdtracestubs.so |
|
52 |
||
53 |
SYM_MOD = $(OBJS_DIR)/unix.sym |
|
54 |
||
55 |
UNIX_O = $(UNIX_DIR)/$(OBJS_DIR)/unix.o |
|
56 |
MODSTUBS_O = $(MODSTUBS_DIR)/$(OBJS_DIR)/modstubs.o |
|
57 |
GENLIB = $(GENLIB_DIR)/$(OBJS_DIR)/libgenunix.so |
|
58 |
LINT_LIB = $(LINT_LIB_DIR)/llib-lunix.ln |
|
59 |
GEN_LINT_LIB = $(GEN_LINT_LIB_DIR)/llib-lgenunix.ln |
|
60 |
||
61 |
# |
|
62 |
# Include the makefiles which define build rule templates, the |
|
63 |
# collection of files per module, and a few specific flags. Note |
|
64 |
# that order is significant, just as with an include path. The |
|
65 |
# first build rule template which matches the files name will be |
|
66 |
# used. By including these in order from most machine dependent |
|
67 |
# to most machine independent, we allow a machine dependent file |
|
68 |
# to be used in preference over a machine independent version |
|
69 |
# (Such as a machine specific optimization, which preserves the |
|
70 |
# interfaces.) |
|
71 |
# |
|
72 |
include $(UTSTREE)/$(PLATFORM)/Makefile.files |
|
73 |
include $(UTSTREE)/intel/Makefile.files |
|
74 |
include $(UTSTREE)/common/Makefile.files |
|
75 |
||
76 |
# |
|
77 |
# Include machine independent rules. Note that this does not imply |
|
78 |
# that the resulting module from rules in Makefile.uts is machine |
|
79 |
# independent. Only that the build rules are machine independent. |
|
80 |
# |
|
81 |
include $(UTSBASE)/Makefile.uts |
|
82 |
||
83 |
# |
|
84 |
# Define supported builds |
|
85 |
# |
|
86 |
DEF_BUILDS = $(DEF_BUILDS64) $(DEF_BUILDS32) |
|
87 |
ALL_BUILDS = $(ALL_BUILDS64) $(ALL_BUILDS32) |
|
88 |
||
89 |
# |
|
90 |
# x86 or amd64 inline templates |
|
91 |
# |
|
92 |
INLINES_32 = $(UTSBASE)/intel/ia32/ml/ia32.il |
|
93 |
INLINES_64 = $(UTSBASE)/intel/amd64/ml/amd64.il |
|
94 |
INLINES += $(INLINES_$(CLASS)) |
|
95 |
||
96 |
# |
|
97 |
# kernel-specific optimizations; override default in Makefile.master |
|
98 |
# |
|
99 |
||
100 |
CFLAGS_XARCH_32 = $(i386_CFLAGS) |
|
101 |
CFLAGS_XARCH_64 = $(amd64_CFLAGS) |
|
102 |
CFLAGS_XARCH = $(CFLAGS_XARCH_$(CLASS)) |
|
103 |
||
104 |
COPTFLAG_32 = $(COPTFLAG) |
|
105 |
COPTFLAG_64 = $(COPTFLAG64) |
|
106 |
COPTIMIZE = $(COPTFLAG_$(CLASS)) |
|
107 |
||
108 |
CFLAGS = $(CFLAGS_XARCH) |
|
109 |
CFLAGS += $(COPTIMIZE) |
|
110 |
CFLAGS += $(INLINES) -D_ASM_INLINES |
|
111 |
CFLAGS += $(CCMODE) |
|
112 |
CFLAGS += $(SPACEFLAG) |
|
113 |
CFLAGS += $(CCUNBOUND) |
|
114 |
CFLAGS += $(CFLAGS_uts) |
|
115 |
||
116 |
ASFLAGS_XARCH_32 = $(i386_ASFLAGS) |
|
117 |
ASFLAGS_XARCH_64 = $(amd64_ASFLAGS) |
|
118 |
ASFLAGS_XARCH = $(ASFLAGS_XARCH_$(CLASS)) |
|
119 |
||
120 |
ASFLAGS += $(ASFLAGS_XARCH) |
|
121 |
||
122 |
AS_INC_PATH += -I$(DSF_DIR)/$(OBJS_DIR) |
|
123 |
||
124 |
# |
|
125 |
# The following must be defined for all implementations: |
|
126 |
# |
|
127 |
# MAPFILE: ld mapfile for the build of kernel/unix. |
|
128 |
# MODSTUBS: Module stubs source file. |
|
129 |
# GENASSYM_SRC: genassym.c |
|
130 |
# |
|
131 |
MAPFILE = $(UTSBASE)/$(PLATFORM)/conf/Mapfile |
|
132 |
MODSTUBS = $(UTSBASE)/intel/ia32/ml/modstubs.s |
|
133 |
GENASSYM_SRC = $(UTSBASE)/$(PLATFORM)/ml/genassym.c |
|
134 |
OFFSETS_SRC = $(UTSBASE)/$(PLATFORM)/ml/offsets.in |
|
135 |
PLATFORM_OFFSETS_32 = $(UTSBASE)/$(PLATFORM)/ml/mach_offsets.in |
|
136 |
PLATFORM_OFFSETS_64 = $(UTSBASE)/intel/amd64/ml/mach_offsets.in |
|
137 |
PLATFORM_OFFSETS_SRC = $(PLATFORM_OFFSETS_$(CLASS)) |
|
138 |
||
139 |
# |
|
140 |
# Define the actual specific platforms |
|
141 |
# |
|
142 |
MACHINE_DEFS = -D$(PLATFORM) -D_MACHDEP |
|
143 |
||
144 |
# |
|
145 |
# Software workarounds for hardware "features" |
|
146 |
# |
|
147 |
||
148 |
include $(UTSBASE)/$(PLATFORM)/Makefile.workarounds |
|
149 |
||
150 |
# |
|
151 |
# Simulator flag |
|
152 |
# |
|
153 |
i386_SIMULATOR = -D_SIMULATOR_SUPPORT |
|
154 |
amd64_SIMULATOR = -D_SIMULATOR_SUPPORT |
|
155 |
||
156 |
SIMULATOR = $($(MACH)_SIMULATOR) |
|
157 |
||
158 |
# |
|
159 |
# Debugging level |
|
160 |
# |
|
161 |
# Special knowledge of which special debugging options effect which |
|
162 |
# file is used to optimize the build if these flags are changed. |
|
163 |
# |
|
164 |
# XXX: The above could possibly be done for more flags and files, but |
|
165 |
# is left as an experiment to the interested reader. Be forewarned, |
|
166 |
# that excessive use could lead to maintenance difficulties. |
|
167 |
# |
|
168 |
DEBUG_DEFS_OBJ32 = |
|
169 |
DEBUG_DEFS_DBG32 = -DDEBUG |
|
170 |
DEBUG_DEFS_DBG32 += $(SIMULATOR) |
|
171 |
DEBUG_DEFS_OBJ64 = |
|
172 |
DEBUG_DEFS_DBG64 = -DDEBUG |
|
173 |
DEBUG_DEFS_DBG64 += $(SIMULATOR) |
|
174 |
DEBUG_DEFS = $(DEBUG_DEFS_$(BUILD_TYPE)) |
|
175 |
||
176 |
DEBUG_COND_OBJ32 :sh = echo \\043 |
|
177 |
DEBUG_COND_DBG32 = |
|
178 |
DEBUG_COND_OBJ64 :sh = echo \\043 |
|
179 |
DEBUG_COND_DBG64 = |
|
180 |
IF_DEBUG_OBJ = $(DEBUG_COND_$(BUILD_TYPE))$(OBJS_DIR)/ |
|
181 |
||
182 |
$(IF_DEBUG_OBJ)trap.o := DEBUG_DEFS += -DTRAPDEBUG -DTRAPTRACE |
|
183 |
$(IF_DEBUG_OBJ)syscall_asm.o := DEBUG_DEFS += -DSYSCALLTRACE -DTRAPTRACE |
|
184 |
$(IF_DEBUG_OBJ)syscall_asm_amd64.o := DEBUG_DEFS += -DSYSCALLTRACE -DTRAPTRACE |
|
185 |
$(IF_DEBUG_OBJ)fast_trap_asm.o := DEBUG_DEFS += -DTRAPTRACE |
|
186 |
$(IF_DEBUG_OBJ)interrupt.o := DEBUG_DEFS += -DTRAPTRACE |
|
187 |
$(IF_DEBUG_OBJ)locore.o := DEBUG_DEFS += -DTRAPTRACE |
|
188 |
$(IF_DEBUG_OBJ)mp_startup.o := DEBUG_DEFS += -DTRAPTRACE |
|
189 |
$(IF_DEBUG_OBJ)machdep.o := DEBUG_DEFS += -DTRAPTRACE |
|
190 |
$(IF_DEBUG_OBJ)exception.o := DEBUG_DEFS += -DTRAPTRACE |
|
191 |
||
192 |
# |
|
193 |
# Build `options'. These are historical and the need for these |
|
194 |
# was removed by the module technology. |
|
195 |
# |
|
196 |
OPTION_DEFS = -DC2_AUDIT |
|
197 |
||
198 |
# |
|
199 |
# Collect the preprocessor definitions to be associated with *all* |
|
200 |
# files. |
|
201 |
# |
|
202 |
ALL_DEFS = $(MACHINE_DEFS) $(WORKAROUND_DEFS) $(DEBUG_DEFS) \ |
|
203 |
$(OPTION_DEFS) |
|
204 |
GENASSYM_DEFS = $(MACHINE_DEFS) $(OPTION_DEFS) \ |
|
205 |
-_gcc=-fno-eliminate-unused-debug-symbols \ |
|
206 |
-_gcc=-fno-eliminate-unused-debug-types |
|
207 |
||
208 |
# |
|
209 |
# ----- TRANSITIONAL SECTION -------------------------------------------------- |
|
210 |
# |
|
211 |
||
212 |
# |
|
213 |
# Not everything which *should* be a module is a module yet. The |
|
214 |
# following is a list of such objects which are currently part of |
|
215 |
# the base kernel but should soon become kmods. |
|
216 |
# |
|
217 |
# XXX: $(KMACCT_OBJS) is neither in the MT kernel nor was it ever |
|
218 |
# made into a module. If it is made MT safe before being made |
|
219 |
# into a module, it should be added to this list. It was in |
|
220 |
# this list pre ON-4.0. |
|
221 |
# |
|
222 |
# |
|
223 |
MACH_NOT_YET_KMODS = $(AUTOCONF_OBJS) |
|
224 |
||
225 |
# |
|
226 |
# ----- END OF TRANSITIONAL SECTION ------------------------------------------- |
|
227 |
# |
|
228 |
||
229 |
# |
|
230 |
# The kernels modules which are "implementation architecture" |
|
231 |
# specific for this machine are enumerated below. Note that most |
|
232 |
# of these modules must exist (in one form or another) for each |
|
233 |
# architecture. |
|
234 |
# |
|
235 |
# Machine Specific Driver Modules (/kernel/drv) |
|
236 |
# DRV_KMODS are built both 32-bit and 64-bit |
|
237 |
# DRV_KMODS_32 are built only 32-bit |
|
238 |
# DRV_KMODS_64 are built only 64-bit |
|
239 |
# |
|
240 |
# XXX: How many of these are really machine specific? |
|
241 |
# |
|
242 |
DRV_KMODS += rootnex |
|
243 |
DRV_KMODS += isa |
|
244 |
DRV_KMODS += pci |
|
245 |
DRV_KMODS += pcie_pci |
|
246 |
DRV_KMODS += npe |
|
247 |
||
248 |
DRV_KMODS += fd |
|
249 |
DRV_KMODS += fdc |
|
250 |
DRV_KMODS += kb8042 |
|
251 |
DRV_KMODS += pci-ide |
|
252 |
DRV_KMODS += audio810 |
|
253 |
||
254 |
DRV_KMODS_32 += dnet |
|
255 |
DRV_KMODS += logi |
|
256 |
DRV_KMODS_32 += mscsi |
|
257 |
DRV_KMODS_32 += msm |
|
258 |
DRV_KMODS += pcplusmp |
|
259 |
DRV_KMODS += agpgart |
|
260 |
DRV_KMODS += agptarget |
|
261 |
DRV_KMODS += amd64_gart |
|
262 |
||
263 |
DRV_KMODS += cpc |
|
1414
b4126407ac5b
PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents:
1167
diff
changeset
|
264 |
DRV_KMODS += mc-amd |
1167 | 265 |
DRV_KMODS += power |
266 |
||
1414
b4126407ac5b
PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents:
1167
diff
changeset
|
267 |
$(CLOSED_BUILD)CLOSED_DRV_KMODS += ata |
b4126407ac5b
PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents:
1167
diff
changeset
|
268 |
$(CLOSED_BUILD)CLOSED_DRV_KMODS += audiovia823x |
1167 | 269 |
$(CLOSED_BUILD)CLOSED_DRV_KMODS += audioens |
1549
9acf97172dc1
PSARC/2005/507 Solaris audio driver for ATI IXP400
fl147353
parents:
1414
diff
changeset
|
270 |
$(CLOSED_BUILD)CLOSED_DRV_KMODS += audioixp |
1167 | 271 |
$(CLOSED_BUILD)CLOSED_DRV_KMODS += bmc |
272 |
$(CLOSED_BUILD)CLOSED_DRV_KMODS_32 += bscbus |
|
273 |
$(CLOSED_BUILD)CLOSED_DRV_KMODS_32 += bscv |
|
274 |
$(CLOSED_BUILD)CLOSED_DRV_KMODS += elxl |
|
275 |
$(CLOSED_BUILD)CLOSED_DRV_KMODS += iprb |
|
1414
b4126407ac5b
PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents:
1167
diff
changeset
|
276 |
$(CLOSED_BUILD)CLOSED_DRV_KMODS += memtest |
1167 | 277 |
$(CLOSED_BUILD)CLOSED_DRV_KMODS_32 += ncrs |
278 |
$(CLOSED_BUILD)CLOSED_DRV_KMODS += pcic |
|
279 |
$(CLOSED_BUILD)CLOSED_DRV_KMODS += pcn |
|
280 |
$(CLOSED_BUILD)CLOSED_DRV_KMODS += rtls |
|
281 |
$(CLOSED_BUILD)CLOSED_DRV_KMODS_32 += sbpro |
|
282 |
||
283 |
# |
|
1414
b4126407ac5b
PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents:
1167
diff
changeset
|
284 |
# CPU Modules |
b4126407ac5b
PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents:
1167
diff
changeset
|
285 |
# |
b4126407ac5b
PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents:
1167
diff
changeset
|
286 |
CPU_KMODS += amd_opteron |
b4126407ac5b
PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents:
1167
diff
changeset
|
287 |
CPU_KMODS += generic_cpu |
b4126407ac5b
PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents:
1167
diff
changeset
|
288 |
|
b4126407ac5b
PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents:
1167
diff
changeset
|
289 |
# |
1167 | 290 |
# Exec Class Modules (/kernel/exec): |
291 |
# |
|
292 |
EXEC_KMODS += |
|
293 |
||
294 |
# |
|
295 |
# Scheduling Class Modules (/kernel/sched): |
|
296 |
# |
|
297 |
SCHED_KMODS += |
|
298 |
||
299 |
# |
|
300 |
# File System Modules (/kernel/fs): |
|
301 |
# |
|
302 |
FS_KMODS += |
|
303 |
||
304 |
# |
|
305 |
# Streams Modules (/kernel/strmod): |
|
306 |
# |
|
307 |
STRMOD_KMODS += vuid2ps2 |
|
308 |
STRMOD_KMODS += vuid3ps2 |
|
309 |
STRMOD_KMODS += vuidm3p |
|
310 |
STRMOD_KMODS += vuidm4p |
|
311 |
STRMOD_KMODS += vuidm5p |
|
312 |
||
313 |
# |
|
314 |
# 'System' Modules (/kernel/sys): |
|
315 |
# |
|
316 |
SYS_KMODS += |
|
317 |
||
318 |
# |
|
319 |
# 'Misc' Modules (/kernel/misc): |
|
320 |
# |
|
321 |
MISC_KMODS += pci_autoconfig bootdev acpica pciehpc gfx_private |
|
322 |
||
323 |
# |
|
324 |
# 'Mach' Modules (/kernel/mach): |
|
325 |
# |
|
326 |
MACH_KMODS += uppc |
|
327 |
||
328 |
# |
|
329 |
# Modules excluded from the product: |
|
330 |
# |
|
331 |
$(CLOSED_BUILD)CLOSED_XMODS += spwr |