Print this page
4266 remove Makefile*.shared nonsense in uts
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/uts/i86pc/Makefile.i86pc
+++ new/usr/src/uts/i86pc/Makefile.i86pc
1 +#
1 2 # CDDL HEADER START
2 3 #
3 4 # The contents of this file are subject to the terms of the
4 5 # Common Development and Distribution License (the "License").
5 6 # You may not use this file except in compliance with the License.
6 7 #
7 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8 9 # or http://www.opensolaris.org/os/licensing.
9 10 # See the License for the specific language governing permissions
10 11 # and limitations under the License.
11 12 #
↓ open down ↓ |
1 lines elided |
↑ open up ↑ |
12 13 # When distributing Covered Code, include this CDDL HEADER in each
13 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14 15 # If applicable, add the following below this CDDL HEADER, with the
15 16 # fields enclosed by brackets "[]" replaced with your own identifying
16 17 # information: Portions Copyright [yyyy] [name of copyright owner]
17 18 #
18 19 # CDDL HEADER END
19 20 #
20 21
21 22 #
22 -# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
23 -# Use is subject to license terms.
23 +# uts/i86pc/Makefile.i86pc
24 +#
25 +# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
26 +# Copyright (c) 2013 Andrew Stormont. All rights reserved.
27 +#
28 +#
29 +# This makefile contains the common definitions for the i86pc unix
30 +# and all i86pc implementation architecture dependent modules.
31 +#
32 +
33 +#
34 +# Machine type (implementation architecture):
35 +#
36 +PLATFORM = i86pc
37 +
38 +#
39 +# uname -m value
40 +#
41 +UNAME_M = $(PLATFORM)
42 +
43 +#
44 +# Definitions for the platform-specific /platform directories.
45 +#
46 +# IMPLEMENTATIONS is used to designate i86pc machines which have
47 +# platform specific modules. All code specific to a given implementation
48 +# resides in the appropriately named subdirectory. This requires
49 +# these platforms to have their own Makefiles to define ROOT_PLAT_DIRS,
50 +# USR_PLAT_DIRS, etc.
51 +#
52 +IMPLEMENTATIONS = i86hvm
53 +
54 +#
55 +# Everybody needs to know how to build modstubs.o and to locate unix.o
56 +#
57 +UNIX_DIR = $(UTSBASE)/$(PLATFORM)/unix
58 +GENLIB_DIR = $(UTSBASE)/intel/genunix
59 +MODSTUBS_DIR = $(UNIX_DIR)
60 +DSF_DIR = $(UTSBASE)/$(PLATFORM)/genassym
61 +LINTS_DIR = $(OBJS_DIR)
62 +LINT_LIB_DIR = $(UTSBASE)/$(PLATFORM)/lint-libs/$(OBJS_DIR)
63 +GEN_LINT_LIB_DIR = $(UTSBASE)/intel/lint-libs/$(OBJS_DIR)
64 +
65 +LINT32_DIRS = $(LINT32_BUILDS:%=$(UTSBASE)/$(PLATFORM)/lint-libs/%)
66 +LINT32_FILES = $(LINT32_DIRS:%=%/llib-l$(MODULE).ln)
67 +
68 +DTRACESTUBS_O = $(OBJS_DIR)/dtracestubs.o
69 +DTRACESTUBS = $(OBJS_DIR)/libdtracestubs.so
70 +
71 +SYM_MOD = $(OBJS_DIR)/unix.sym
72 +
73 +UNIX_O = $(UNIX_DIR)/$(OBJS_DIR)/unix.o
74 +MODSTUBS_O = $(MODSTUBS_DIR)/$(OBJS_DIR)/modstubs.o
75 +GENLIB = $(GENLIB_DIR)/$(OBJS_DIR)/libgenunix.so
76 +LINT_LIB = $(LINT_LIB_DIR)/llib-lunix.ln
77 +DBOOT_LINT_LIB = $(LINT_LIB_DIR)/llib-ldboot.ln
78 +GEN_LINT_LIB = $(GEN_LINT_LIB_DIR)/llib-lgenunix.ln
79 +
80 +#
81 +# Include the makefiles which define build rule templates, the
82 +# collection of files per module, and a few specific flags. Note
83 +# that order is significant, just as with an include path. The
84 +# first build rule template which matches the files name will be
85 +# used. By including these in order from most machine dependent
86 +# to most machine independent, we allow a machine dependent file
87 +# to be used in preference over a machine independent version
88 +# (Such as a machine specific optimization, which preserves the
89 +# interfaces.)
24 90 #
25 -# ident "%Z%%M% %I% %E% SMI"
91 +include $(UTSBASE)/$(PLATFORM)/Makefile.files
92 +include $(UTSBASE)/intel/Makefile.files
93 +include $(UTSBASE)/common/Makefile.files
94 +
26 95 #
96 +# Include machine independent rules. Note that this does not imply
97 +# that the resulting module from rules in Makefile.uts is machine
98 +# independent. Only that the build rules are machine independent.
99 +#
100 +include $(UTSBASE)/Makefile.uts
27 101
28 -UTSTREE=$(UTSBASE)
102 +#
103 +# Define supported builds
104 +#
105 +DEF_BUILDS = $(DEF_BUILDS64) $(DEF_BUILDS32)
106 +ALL_BUILDS = $(ALL_BUILDS64) $(ALL_BUILDS32)
29 107
30 -include $(UTSBASE)/i86pc/Makefile.i86pc.shared
108 +#
109 +# x86 or amd64 inline templates
110 +#
111 +INLINES_32 = $(UTSBASE)/intel/ia32/ml/ia32.il \
112 + $(UTSBASE)/$(PLATFORM)/ml/ia32.il
113 +INLINES_64 = $(UTSBASE)/intel/amd64/ml/amd64.il \
114 + $(UTSBASE)/$(PLATFORM)/ml/amd64.il
115 +INLINES += $(INLINES_$(CLASS))
116 +
117 +#
118 +# kernel-specific optimizations; override default in Makefile.master
119 +#
120 +
121 +CFLAGS_XARCH_32 = $(i386_CFLAGS)
122 +CFLAGS_XARCH_64 = $(amd64_CFLAGS)
123 +CFLAGS_XARCH = $(CFLAGS_XARCH_$(CLASS))
124 +
125 +COPTFLAG_32 = $(COPTFLAG)
126 +COPTFLAG_64 = $(COPTFLAG64)
127 +COPTIMIZE = $(COPTFLAG_$(CLASS))
128 +
129 +CFLAGS = $(CFLAGS_XARCH)
130 +CFLAGS += $(COPTIMIZE)
131 +CFLAGS += $(INLINES) -D_ASM_INLINES
132 +CFLAGS += $(CCMODE)
133 +CFLAGS += $(SPACEFLAG)
134 +CFLAGS += $(CCUNBOUND)
135 +CFLAGS += $(CFLAGS_uts)
136 +CFLAGS += -xstrconst
137 +
138 +ASFLAGS_XARCH_32 = $(i386_ASFLAGS)
139 +ASFLAGS_XARCH_64 = $(amd64_ASFLAGS)
140 +ASFLAGS_XARCH = $(ASFLAGS_XARCH_$(CLASS))
141 +
142 +ASFLAGS += $(ASFLAGS_XARCH)
143 +
144 +AS_INC_PATH += -I$(DSF_DIR)/$(OBJS_DIR)
145 +
146 +#
147 +# The following must be defined for all implementations:
148 +#
149 +# MAPFILE: ld mapfile for the build of kernel/unix.
150 +# MODSTUBS: Module stubs source file.
151 +# GENASSYM_SRC: genassym.c
152 +#
153 +MAPFILE = $(UTSBASE)/$(PLATFORM)/conf/Mapfile
154 +MODSTUBS = $(UTSBASE)/intel/ia32/ml/modstubs.s
155 +GENASSYM_SRC = $(UTSBASE)/$(PLATFORM)/ml/genassym.c
156 +OFFSETS_SRC = $(UTSBASE)/$(PLATFORM)/ml/offsets.in
157 +PLATFORM_OFFSETS_32 = $(UTSBASE)/$(PLATFORM)/ml/mach_offsets.in
158 +PLATFORM_OFFSETS_64 = $(UTSBASE)/intel/amd64/ml/mach_offsets.in
159 +PLATFORM_OFFSETS_SRC = $(PLATFORM_OFFSETS_$(CLASS))
160 +KDI_OFFSETS_SRC = $(UTSBASE)/intel/kdi/kdi_offsets.in
161 +
162 +#
163 +# Define the actual specific platforms
164 +#
165 +MACHINE_DEFS = -D$(PLATFORM) -D_MACHDEP
166 +
167 +#
168 +# Software workarounds for hardware "features"
169 +#
170 +
171 +include $(UTSBASE)/$(PLATFORM)/Makefile.workarounds
172 +
173 +#
174 +# Debugging level
175 +#
176 +# Special knowledge of which special debugging options effect which
177 +# file is used to optimize the build if these flags are changed.
178 +#
179 +# XXX: The above could possibly be done for more flags and files, but
180 +# is left as an experiment to the interested reader. Be forewarned,
181 +# that excessive use could lead to maintenance difficulties.
182 +#
183 +DEBUG_DEFS_OBJ32 =
184 +DEBUG_DEFS_DBG32 = -DDEBUG
185 +DEBUG_DEFS_OBJ64 =
186 +DEBUG_DEFS_DBG64 = -DDEBUG
187 +DEBUG_DEFS = $(DEBUG_DEFS_$(BUILD_TYPE))
188 +
189 +DEBUG_COND_OBJ32 = $(POUND_SIGN)
190 +DEBUG_COND_DBG32 =
191 +DEBUG_COND_OBJ64 = $(POUND_SIGN)
192 +DEBUG_COND_DBG64 =
193 +IF_DEBUG_OBJ = $(DEBUG_COND_$(BUILD_TYPE))$(OBJS_DIR)/
194 +
195 +$(IF_DEBUG_OBJ)trap.o := DEBUG_DEFS += -DTRAPDEBUG -DTRAPTRACE
196 +$(IF_DEBUG_OBJ)syscall_asm.o := DEBUG_DEFS += -DSYSCALLTRACE -DTRAPTRACE
197 +$(IF_DEBUG_OBJ)syscall_asm_amd64.o := DEBUG_DEFS += -DSYSCALLTRACE -DTRAPTRACE
198 +$(IF_DEBUG_OBJ)fast_trap_asm.o := DEBUG_DEFS += -DTRAPTRACE
199 +$(IF_DEBUG_OBJ)interrupt.o := DEBUG_DEFS += -DTRAPTRACE
200 +$(IF_DEBUG_OBJ)intr.o := DEBUG_DEFS += -DTRAPTRACE
201 +$(IF_DEBUG_OBJ)locore.o := DEBUG_DEFS += -DTRAPTRACE
202 +$(IF_DEBUG_OBJ)mp_startup.o := DEBUG_DEFS += -DTRAPTRACE
203 +$(IF_DEBUG_OBJ)machdep.o := DEBUG_DEFS += -DTRAPTRACE
204 +$(IF_DEBUG_OBJ)exception.o := DEBUG_DEFS += -DTRAPTRACE
205 +$(IF_DEBUG_OBJ)x_call.o := DEBUG_DEFS += -DTRAPTRACE
206 +$(IF_DEBUG_OBJ)mp_call.o := DEBUG_DEFS += -DTRAPTRACE
207 +$(IF_DEBUG_OBJ)cbe.o := DEBUG_DEFS += -DTRAPTRACE
208 +
209 +#
210 +# Collect the preprocessor definitions to be associated with *all*
211 +# files.
212 +#
213 +ALL_DEFS = $(MACHINE_DEFS) $(WORKAROUND_DEFS) $(DEBUG_DEFS) \
214 + $(OPTION_DEFS)
215 +GENASSYM_DEFS = $(MACHINE_DEFS) $(OPTION_DEFS) \
216 + -_gcc=-fno-eliminate-unused-debug-symbols \
217 + -_gcc=-fno-eliminate-unused-debug-types
218 +
219 +#
220 +# ----- TRANSITIONAL SECTION --------------------------------------------------
221 +#
222 +
223 +#
224 +# Not everything which *should* be a module is a module yet. The
225 +# following is a list of such objects which are currently part of
226 +# the base kernel but should soon become kmods.
227 +#
228 +# XXX: $(KMACCT_OBJS) is neither in the MT kernel nor was it ever
229 +# made into a module. If it is made MT safe before being made
230 +# into a module, it should be added to this list. It was in
231 +# this list pre ON-4.0.
232 +#
233 +#
234 +MACH_NOT_YET_KMODS = $(AUTOCONF_OBJS)
235 +
236 +#
237 +# ----- END OF TRANSITIONAL SECTION -------------------------------------------
238 +#
239 +
240 +#
241 +# The kernels modules which are "implementation architecture"
242 +# specific for this machine are enumerated below. Note that most
243 +# of these modules must exist (in one form or another) for each
244 +# architecture.
245 +#
246 +# Machine Specific Driver Modules (/kernel/drv)
247 +# DRV_KMODS are built both 32-bit and 64-bit
248 +# DRV_KMODS_32 are built only 32-bit
249 +# DRV_KMODS_64 are built only 64-bit
250 +#
251 +DRV_KMODS += rootnex
252 +DRV_KMODS += isa
253 +DRV_KMODS += pcplusmp
254 +DRV_KMODS += apix
255 +DRV_KMODS += cpc
256 +DRV_KMODS += pci
257 +DRV_KMODS += npe
258 +DRV_KMODS += pci-ide
259 +DRV_KMODS += xsvc
260 +DRV_KMODS += tzmon
261 +DRV_KMODS += acpi_drv
262 +DRV_KMODS += acpinex
263 +DRV_KMODS += amd_iommu
264 +DRV_KMODS += dr
265 +DRV_KMODS += ioat
266 +DRV_KMODS += fipe
267 +
268 +DRV_KMODS += cpudrv
269 +
270 +
271 +#
272 +# Platform Power Modules
273 +#
274 +DRV_KMODS += ppm acpippm
275 +
276 +#
277 +# CPU Modules
278 +#
279 +CPU_KMODS += amd_opteron
280 +CPU_KMODS += generic_cpu
281 +CPU_KMODS += authenticamd
282 +CPU_KMODS += genuineintel
283 +
284 +#
285 +# Exec Class Modules (/kernel/exec):
286 +#
287 +EXEC_KMODS +=
288 +
289 +#
290 +# Scheduling Class Modules (/kernel/sched):
291 +#
292 +SCHED_KMODS +=
293 +
294 +#
295 +# File System Modules (/kernel/fs):
296 +#
297 +FS_KMODS +=
298 +
299 +#
300 +# Streams Modules (/kernel/strmod):
301 +#
302 +STRMOD_KMODS +=
303 +
304 +#
305 +# 'System' Modules (/kernel/sys):
306 +#
307 +SYS_KMODS +=
308 +
309 +#
310 +# 'Misc' Modules (/kernel/misc):
311 +#
312 +MISC_KMODS += gfx_private pcie
313 +MISC_KMODS += acpidev
314 +MISC_KMODS += drmach_acpi
315 +
316 +#
317 +# 'Dacf' modules (/kernel/dacf)
318 +#
319 +DACF_KMODS += consconfig_dacf
320 +
321 +#
322 +# 'Mach' Modules (/kernel/mach):
323 +#
324 +MACH_KMODS += uppc
325 +
326 +#
327 +# CPR Misc Module.
328 +#
329 +MISC_KMODS += cpr
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX