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]
22 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23 # Use is subject to license terms.
24 # Copyright 2012 Joyent, Inc. All rights reserved.
28 # This Makefile defines all file modules and build rules for the
29 # directory uts/intel and its children. These are the source files which
30 # are specific to the intel processor.
32 # The following two-level ordering must be maintained in this file.
33 # Lines are sorted first in order of decreasing specificity based on
34 # the first directory component. That is, sun4u rules come before
35 # sparc rules come before common rules.
37 # Lines whose initial directory components are equal are sorted
38 # alphabetically by the remaining components.
41 # Need a way to distinguish between the ia32 and amd64 subdirs.
44 SUBARCH_DIR_64 = amd64
45 SUBARCH_DIR = $(SUBARCH_DIR_$(CLASS))
48 # Section 1a: C object build rules
50 $(OBJS_DIR)/%.o: $(SRC)/common/fs/%.c
54 $(OBJS_DIR)/%.o: $(UTSBASE)/common/io/power/%.c
58 $(OBJS_DIR)/%.o: $(SRC)/common/util/i386/%.s
61 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/brand/sn1/%.s
64 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/brand/solaris10/%.s
67 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/dtrace/%.c
71 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/dtrace/%.s
74 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/fs/proc/%.c
78 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/ia32/ml/%.s
81 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/ia32/os/%.c
85 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/ia32/promif/%.c
89 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/ia32/syscall/%.c
93 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/%.c
97 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/acpica/%.c
101 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/acpica/%.s
102 $(COMPILE.s) -o $@ $<
104 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/acpica/debugger/%.c
105 $(COMPILE.c) -o $@ $<
108 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/acpica/events/%.c
109 $(COMPILE.c) -o $@ $<
112 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/acpica/hardware/%.c
113 $(COMPILE.c) -o $@ $<
116 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/acpica/dispatcher/%.c
117 $(COMPILE.c) -o $@ $<
120 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/acpica/executer/%.c
121 $(COMPILE.c) -o $@ $<
124 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/acpica/parser/%.c
125 $(COMPILE.c) -o $@ $<
128 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/acpica/namespace/%.c
129 $(COMPILE.c) -o $@ $<
132 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/acpica/resources/%.c
133 $(COMPILE.c) -o $@ $<
136 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/acpica/tables/%.c
137 $(COMPILE.c) -o $@ $<
140 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/acpica/utilities/%.c
141 $(COMPILE.c) -o $@ $<
144 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/acpica/disassembler/%.c
145 $(COMPILE.c) -o $@ $<
148 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/agpgart/%.c
149 $(COMPILE.c) -o $@ $<
152 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/agpmaster/%.c
153 $(COMPILE.c) -o $@ $<
156 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/amd8111s/%.c
157 $(COMPILE.c) -o $@ $<
160 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/amr/%.c
161 $(COMPILE.c) -o $@ $<
164 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/drm/%.c
165 $(COMPILE.c) -o $@ $<
168 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/hotplug/pcicfg/%.c
169 $(COMPILE.c) -o $@ $<
172 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/ipmi/%.c
173 $(COMPILE.c) -o $@ $<
176 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/intel_nb5000/%.c
177 $(COMPILE.c) -o $@ $<
180 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/intel_nhm/%.c
181 $(COMPILE.c) -o $@ $<
184 $(OBJS_DIR)/%.o: $(SRC)/common/mc/mc-amd/%.c
185 $(COMPILE.c) -o $@ $<
188 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/mc-amd/%.c
189 $(COMPILE.c) -o $@ $<
192 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/pci/%.c
193 $(COMPILE.c) -o $@ $<
196 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/pciex/%.c
197 $(COMPILE.c) -o $@ $<
200 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/dktp/controller/ata/%.c
201 $(COMPILE.c) -o $@ $<
204 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/dktp/dcdev/%.c
205 $(COMPILE.c) -o $@ $<
208 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/dktp/disk/%.c
209 $(COMPILE.c) -o $@ $<
212 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/dktp/drvobj/%.c
213 $(COMPILE.c) -o $@ $<
216 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/dktp/hba/ghd/%.c
217 $(COMPILE.c) -o $@ $<
220 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/dnet/%.c
221 $(COMPILE.c) -o $@ $<
224 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/scsi/adapters/arcmsr/%.c
225 $(COMPILE.c) -o $@ $<
228 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/scsi/targets/%.c
229 $(COMPILE.c) -o $@ $<
232 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/vgatext/%.c
233 $(COMPILE.c) -o $@ $<
236 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/heci/%.c
237 $(COMPILE.c) -o $@ $<
240 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/nskern/%.s
241 $(COMPILE.s) -o $@ $<
243 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/os/%.c
244 $(COMPILE.c) -o $@ $<
247 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/pcbe/%.c
248 $(COMPILE.c) -o $@ $<
251 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/promif/%.c
252 $(COMPILE.c) -o $@ $<
255 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/syscall/%.c
256 $(COMPILE.c) -o $@ $<
259 $(OBJS_DIR)/%.o: $(UTSBASE)/common/os/%.c
260 $(COMPILE.c) -o $@ $<
263 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/kdi/%.c
264 $(COMPILE.c) -o $@ $<
267 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/kdi/%.s
268 $(COMPILE.s) -o $@ $<
270 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/kdi/$(SUBARCH_DIR)/%.s
271 $(COMPILE.s) -o $@ $<
273 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/zfs/%.c
274 $(COMPILE.c) -o $@ $<
278 # krtld compiled into unix
281 KRTLD_INC_PATH = -I$(UTSBASE)/common/krtld -I$(UTSBASE)/intel/sys
282 KRTLD_INC_PATH += -I$(UTSBASE)/intel/$(SUBARCH_DIR)/krtld
284 KRTLD_CPPFLAGS_32 = -DELF_TARGET_386
285 KRTLD_CPPFLAGS_64 = -DELF_TARGET_AMD64 -DMODDIR_SUFFIX=\"amd64\"
286 KRTLD_CPPFLAGS = $(KRTLD_CPPFLAGS_$(CLASS)) -D_KRTLD
288 $(OBJS_DIR)/%.o: $(UTSBASE)/common/krtld/%.c
289 $(COMPILE.c) $(KRTLD_INC_PATH) $(KRTLD_CPPFLAGS) -o $@ $<
292 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/$(SUBARCH_DIR)/krtld/%.c
293 $(COMPILE.c) $(KRTLD_INC_PATH) $(KRTLD_CPPFLAGS) -o $@ $<
297 # _DBOOT indicates that krtld is called from a dboot ELF section
299 $(OBJS_DIR)/kobj.o := CPPFLAGS += -D_DBOOT
301 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/$(SUBARCH_DIR)/krtld/%.s
302 $(COMPILE.s) $(KRTLD_INC_PATH) $(KRTLD_CPPFLAGS) -o $@ $<
305 $(OBJS_DIR)/%.o: $(SRC)/common/util/$(SUBARCH_DIR)/%.c
306 $(COMPILE.c) $(KRTLD_INC_PATH) $(KRTLD_CPPFLAGS) -o $@ $<
311 # Section 1b: Lint `object' build rules.
313 $(LINTS_DIR)/%.ln: $(SRC)/common/fs/%.c
314 @($(LHEAD) $(LINT.c) $< $(LTAIL))
316 $(LINTS_DIR)/%.ln: $(SRC)/common/util/i386/%.s
317 @($(LHEAD) $(LINT.s) $< $(LTAIL))
319 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/brand/sn1/%.s
320 @($(LHEAD) $(LINT.s) $< $(LTAIL))
322 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/brand/solaris10/%.s
323 @($(LHEAD) $(LINT.s) $< $(LTAIL))
325 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/dtrace/%.c
326 @($(LHEAD) $(LINT.c) $< $(LTAIL))
328 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/dtrace/%.s
329 @($(LHEAD) $(LINT.s) $< $(LTAIL))
331 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/zfs/%.c
332 @($(LHEAD) $(LINT.c) $< $(LTAIL))
334 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/fs/proc/%.c
335 @($(LHEAD) $(LINT.c) $< $(LTAIL))
337 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/ia32/ml/%.s
338 @($(LHEAD) $(LINT.s) $< $(LTAIL))
340 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/ia32/os/%.c
341 @($(LHEAD) $(LINT.c) $< $(LTAIL))
343 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/ia32/promif/%.c
344 @($(LHEAD) $(LINT.c) $< $(LTAIL))
346 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/ia32/syscall/%.c
347 @($(LHEAD) $(LINT.c) $< $(LTAIL))
349 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/%.c
350 @($(LHEAD) $(LINT.c) $< $(LTAIL))
352 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/acpica/%.s
353 @($(LHEAD) $(LINT.s) $< $(LTAIL))
355 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/acpica/%.c
356 @($(LHEAD) $(LINT.c) $< $(LTAIL))
358 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/acpica/debugger/%.c
359 @($(LHEAD) $(LINT.c) $< $(LTAIL))
361 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/acpica/events/%.c
362 @($(LHEAD) $(LINT.c) $< $(LTAIL))
364 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/acpica/hardware/%.c
365 @($(LHEAD) $(LINT.c) $< $(LTAIL))
367 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/acpica/dispatcher/%.c
368 @($(LHEAD) $(LINT.c) $< $(LTAIL))
370 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/acpica/executer/%.c
371 @($(LHEAD) $(LINT.c) $< $(LTAIL))
373 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/acpica/parser/%.c
374 @($(LHEAD) $(LINT.c) $< $(LTAIL))
376 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/acpica/namespace/%.c
377 @($(LHEAD) $(LINT.c) $< $(LTAIL))
379 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/acpica/resources/%.c
380 @($(LHEAD) $(LINT.c) $< $(LTAIL))
382 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/acpica/tables/%.c
383 @($(LHEAD) $(LINT.c) $< $(LTAIL))
385 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/acpica/utilities/%.c
386 @($(LHEAD) $(LINT.c) $< $(LTAIL))
388 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/acpica/disassembler/%.c
389 @($(LHEAD) $(LINT.c) $< $(LTAIL))
391 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/agpgart/%.c
392 @($(LHEAD) $(LINT.c) $< $(LTAIL))
394 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/agpmaster/%.c
395 @($(LHEAD) $(LINT.c) $< $(LTAIL))
397 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/amd8111s/%.c
398 @($(LHEAD) $(LINT.c) $< $(LTAIL))
400 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/amr/%.c
401 @($(LHEAD) $(LINT.c) $< $(LTAIL))
403 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/scsi/adapters/arcmsr/%.c
404 @($(LHEAD) $(LINT.c) $< $(LTAIL))
406 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/drm/%.c
407 @($(LHEAD) $(LINT.c) $< $(LTAIL))
409 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/hotplug/pcicfg/%.c
410 @($(LHEAD) $(LINT.c) $< $(LTAIL))
412 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/hotplug/pci/%.c
413 @($(LHEAD) $(LINT.c) $< $(LTAIL))
415 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/intel_nb5000/%.c
416 @($(LHEAD) $(LINT.c) $< $(LTAIL))
418 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/intel_nhm/%.c
419 @($(LHEAD) $(LINT.c) $< $(LTAIL))
421 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/ipmi/%.c
422 @($(LHEAD) $(LINT.c) $< $(LTAIL))
424 $(LINTS_DIR)/%.ln: $(SRC)/common/mc/mc-amd/%.c
425 @($(LHEAD) $(LINT.c) $< $(LTAIL))
427 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/mc-amd/%.c
428 @($(LHEAD) $(LINT.c) $< $(LTAIL))
430 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/pci/%.c
431 @($(LHEAD) $(LINT.c) $< $(LTAIL))
433 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/pciex/%.c
434 @($(LHEAD) $(LINT.c) $< $(LTAIL))
436 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/dktp/controller/ata/%.c
437 @($(LHEAD) $(LINT.c) $< $(LTAIL))
439 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/dktp/dcdev/%.c
440 @($(LHEAD) $(LINT.c) $< $(LTAIL))
442 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/dktp/disk/%.c
443 @($(LHEAD) $(LINT.c) $< $(LTAIL))
445 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/dktp/drvobj/%.c
446 @($(LHEAD) $(LINT.c) $< $(LTAIL))
448 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/dktp/hba/ghd/%.c
449 @($(LHEAD) $(LINT.c) $< $(LTAIL))
451 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/dnet/%.c
452 @($(LHEAD) $(LINT.c) $< $(LTAIL))
454 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/scsi/targets/%.c
455 @($(LHEAD) $(LINT.c) $< $(LTAIL))
457 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/vgatext/%.c
458 @($(LHEAD) $(LINT.c) $< $(LTAIL))
460 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/heci/%.c
461 @($(LHEAD) $(LINT.c) $< $(LTAIL))
463 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/os/%.c
464 @($(LHEAD) $(LINT.c) $< $(LTAIL))
466 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/pcbe/%.c
467 @($(LHEAD) $(LINT.c) $< $(LTAIL))
469 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/promif/%.c
470 @($(LHEAD) $(LINT.c) $< $(LTAIL))
472 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/syscall/%.c
473 @($(LHEAD) $(LINT.c) $< $(LTAIL))
475 $(LINTS_DIR)/%.ln: $(UTSBASE)/common/os/%.c
476 @($(LHEAD) $(LINT.c) $< $(LTAIL))
478 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/kdi/%.c
479 @($(LHEAD) $(LINT.c) $< $(LTAIL))
481 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/kdi/%.s
482 @($(LHEAD) $(LINT.s) $< $(LTAIL))
484 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/kdi/$(SUBARCH_DIR)/%.s
485 @($(LHEAD) $(LINT.s) $< $(LTAIL))
487 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/nskern/%.s
488 @($(LHEAD) $(LINT.s) $< $(LTAIL))
493 $(LINTS_DIR)/%.ln: $(UTSBASE)/common/krtld/%.c
494 @($(LHEAD) $(LINT.c) $(KRTLD_INC_PATH) $(KRTLD_CPPFLAGS) $< $(LTAIL))
496 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/$(SUBARCH_DIR)/krtld/%.c
497 @($(LHEAD) $(LINT.c) $(KRTLD_INC_PATH) $(KRTLD_CPPFLAGS) $< $(LTAIL))
499 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/$(SUBARCH_DIR)/krtld/%.s
500 @($(LHEAD) $(LINT.s) $(KRTLD_INC_PATH) $(KRTLD_CPPFLAGS) $< $(LTAIL))
502 $(LINTS_DIR)/%.ln: $(SRC)/common/util/$(SUBARCH_DIR)/%.c
503 @($(LHEAD) $(LINT.c) $(KRTLD_INC_PATH) $(KRTLD_CPPFLAGS) $< $(LTAIL))
505 $(OBJS_DIR)/kobj.ln := CPPFLAGS += -D_DBOOT