xref: /illumos-gate/usr/src/uts/i86pc/Makefile.rules (revision 6a59053b)
17c478bd9Sstevel@tonic-gate#
27c478bd9Sstevel@tonic-gate# CDDL HEADER START
37c478bd9Sstevel@tonic-gate#
47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
54ab75253Smrj# Common Development and Distribution License (the "License").
64ab75253Smrj# You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate#
87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate# and limitations under the License.
127c478bd9Sstevel@tonic-gate#
137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate#
197c478bd9Sstevel@tonic-gate# CDDL HEADER END
207c478bd9Sstevel@tonic-gate#
214ab75253Smrj
227c478bd9Sstevel@tonic-gate#
235cd376e8SJimmy Vetayases# Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved.
247c478bd9Sstevel@tonic-gate#
257c478bd9Sstevel@tonic-gate
267c478bd9Sstevel@tonic-gate#	This Makefile defines the build rules for the directory uts/i86pc
277c478bd9Sstevel@tonic-gate#	and its children. These are the source files which are i86pc
287c478bd9Sstevel@tonic-gate#	"implementation architecture" dependent.
297c478bd9Sstevel@tonic-gate#
307c478bd9Sstevel@tonic-gate#	The following two-level ordering must be maintained in this file.
317c478bd9Sstevel@tonic-gate#	  Lines are sorted first in order of decreasing specificity based on
32eb0cc229Sedp#	  the first directory component.  That is, i86pc rules come before
33eb0cc229Sedp#	  intel rules come before common rules.
347c478bd9Sstevel@tonic-gate#
357c478bd9Sstevel@tonic-gate#	  Lines whose initial directory components are equal are sorted
367c478bd9Sstevel@tonic-gate#	  alphabetically by the remaining components.
377c478bd9Sstevel@tonic-gate
387c478bd9Sstevel@tonic-gate#
397c478bd9Sstevel@tonic-gate#	Section 1a: C object build rules
407c478bd9Sstevel@tonic-gate#
417c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/conf/%.c
427c478bd9Sstevel@tonic-gate	$(COMPILE.c) -o $@ $<
437c478bd9Sstevel@tonic-gate	$(CTFCONVERT_O)
447c478bd9Sstevel@tonic-gate
457aec1d6eScindi$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/cpu/amd_opteron/%.c
467aec1d6eScindi	$(COMPILE.c) -o $@ $<
477aec1d6eScindi	$(CTFCONVERT_O)
487aec1d6eScindi
4920c794b3Sgavinm$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/cpu/authenticamd/%.c
5020c794b3Sgavinm	$(COMPILE.c) -o $@ $<
5120c794b3Sgavinm	$(CTFCONVERT_O)
527aec1d6eScindi
537aec1d6eScindi$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/cpu/generic_cpu/%.c
547aec1d6eScindi	$(COMPILE.c) -o $@ $<
557aec1d6eScindi	$(CTFCONVERT_O)
567aec1d6eScindi
5720c794b3Sgavinm$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/cpu/genuineintel/%.c
5820c794b3Sgavinm	$(COMPILE.c) -o $@ $<
5920c794b3Sgavinm	$(CTFCONVERT_O)
6020c794b3Sgavinm
617c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/%.c
627c478bd9Sstevel@tonic-gate	$(COMPILE.c) -o $@ $<
637c478bd9Sstevel@tonic-gate	$(CTFCONVERT_O)
647c478bd9Sstevel@tonic-gate
65d2ec54f7Sphitran$(OBJS_DIR)/%.o:                $(UTSBASE)/i86pc/io/acpi_drv/%.c
667b840e52Sphitran	$(COMPILE.c) -o $@ $<
677b840e52Sphitran	$(CTFCONVERT_O)
687b840e52Sphitran
69eca2601cSRandy Fishel$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/fipe/%.c
70eca2601cSRandy Fishel	$(COMPILE.c) -o $@ $<
71eca2601cSRandy Fishel	$(CTFCONVERT_O)
72eca2601cSRandy Fishel
73b72d5b75SMichael Corcoran$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/acpi/acpidev/%.c
74b72d5b75SMichael Corcoran	$(COMPILE.c) -o $@ $<
75b72d5b75SMichael Corcoran	$(CTFCONVERT_O)
76b72d5b75SMichael Corcoran
77b72d5b75SMichael Corcoran$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/acpi/acpinex/%.c
78b72d5b75SMichael Corcoran	$(COMPILE.c) -o $@ $<
79b72d5b75SMichael Corcoran	$(CTFCONVERT_O)
80b72d5b75SMichael Corcoran
81a3114836SGerry LiuSBD_IOCTL	= $(UTSBASE)/i86pc/sys/sbd_ioctl.h
82a3114836SGerry LiuDRMACH_IO	= $(UTSBASE)/i86pc/io/acpi/drmach_acpi
83a3114836SGerry LiuDRMACH_GENERR	= $(DRMACH_IO)/sbdgenerr
84a3114836SGerry LiuDR_IO		= $(UTSBASE)/i86pc/io/dr
85a3114836SGerry LiuDR_GENERR	= $(DR_IO)/sbdgenerr
86a3114836SGerry Liu
87a3114836SGerry Liu$(DRMACH_GENERR):	$(DR_IO)/sbdgenerr.pl
88a3114836SGerry Liu	$(RM) $@
89a3114836SGerry Liu	$(CAT) $(DR_IO)/sbdgenerr.pl > $@
90a3114836SGerry Liu	$(CHMOD) +x $@
91a3114836SGerry Liu
92a3114836SGerry Liu$(DRMACH_IO)/drmach_err.c:	$(DRMACH_GENERR) $(SBD_IOCTL)
93a3114836SGerry Liu	$(RM) $@
94a3114836SGerry Liu	$(DRMACH_GENERR) EX86 < $(SBD_IOCTL) > $(DRMACH_IO)/drmach_err.c
95a3114836SGerry Liu
96a3114836SGerry Liu$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/acpi/drmach_acpi/%.c
97a3114836SGerry Liu	$(COMPILE.c) -o $@ $<
98a3114836SGerry Liu	$(CTFCONVERT_O)
99a3114836SGerry Liu
1006732dbb3SVikram Hegde$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/amd_iommu/%.c
1016732dbb3SVikram Hegde	$(COMPILE.c) -o $@ $<
1026732dbb3SVikram Hegde	$(CTFCONVERT_O)
1036732dbb3SVikram Hegde
104a3114836SGerry Liu$(DR_GENERR):			$(DR_IO)/sbdgenerr.pl
105a3114836SGerry Liu	$(RM) $@
106a3114836SGerry Liu	$(CAT) $(DR_IO)/sbdgenerr.pl > $@
107a3114836SGerry Liu	$(CHMOD) +x $@
108a3114836SGerry Liu
109a3114836SGerry Liu$(DR_IO)/dr_err.c:		$(DR_GENERR) $(SBD_IOCTL)
110a3114836SGerry Liu	$(RM) $@
111a3114836SGerry Liu	$(DR_GENERR) ESBD < $(SBD_IOCTL) > $(DR_IO)/dr_err.c
112a3114836SGerry Liu
113a3114836SGerry Liu$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/dr/%.c
114a3114836SGerry Liu	$(COMPILE.c) -o $@ $<
115a3114836SGerry Liu	$(CTFCONVERT_O)
116a3114836SGerry Liu
11717169044Sbrutus$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/ioat/%.c
11817169044Sbrutus	$(COMPILE.c) -o $@ $<
11917169044Sbrutus	$(CTFCONVERT_O)
12017169044Sbrutus
1217c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/pci/%.c
1227c478bd9Sstevel@tonic-gate	$(COMPILE.c) -o $@ $<
1237c478bd9Sstevel@tonic-gate	$(CTFCONVERT_O)
1247c478bd9Sstevel@tonic-gate
12570025d76Sjohnny$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/pciex/%.c
12670025d76Sjohnny	$(COMPILE.c) -o $@ $<
12770025d76Sjohnny	$(CTFCONVERT_O)
12870025d76Sjohnny
12926947304SEvan Yan$(OBJS_DIR)/%.o:		$(UTSBASE)/intel/io/pciex/hotplug/%.c
13026947304SEvan Yan	$(COMPILE.c) -o $@ $<
13126947304SEvan Yan	$(CTFCONVERT_O)
13226947304SEvan Yan
1337c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/pcplusmp/%.c
1347c478bd9Sstevel@tonic-gate	$(COMPILE.c) -o $@ $<
1357c478bd9Sstevel@tonic-gate	$(CTFCONVERT_O)
1367c478bd9Sstevel@tonic-gate
1377c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/pcplusmp/%.s
1387c478bd9Sstevel@tonic-gate	$(COMPILE.s) -o $@ $<
1397c478bd9Sstevel@tonic-gate
1407ff178cdSJimmy Vetayases$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/apix/%.c
1417ff178cdSJimmy Vetayases	$(COMPILE.c) -o $@ $<
1427ff178cdSJimmy Vetayases	$(CTFCONVERT_O)
1437ff178cdSJimmy Vetayases
1442df1fe9cSrandyf$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/ppm/%.c
1452df1fe9cSrandyf	$(COMPILE.c) -o $@ $<
1462df1fe9cSrandyf	$(CTFCONVERT_O)
1472df1fe9cSrandyf
1482df1fe9cSrandyf$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/ppm/%.s
1492df1fe9cSrandyf	$(COMPILE.s) -o $@ $<
1502df1fe9cSrandyf
1517c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/psm/%.c
1527c478bd9Sstevel@tonic-gate	$(COMPILE.c) -o $@ $<
1537c478bd9Sstevel@tonic-gate	$(CTFCONVERT_O)
1547c478bd9Sstevel@tonic-gate
1557c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/psm/%.s
1567c478bd9Sstevel@tonic-gate	$(COMPILE.s) -o $@ $<
1577c478bd9Sstevel@tonic-gate
1582bda830bSap$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/tzmon/%.c
1592bda830bSap	$(COMPILE.c) -o $@ $<
1602bda830bSap	$(CTFCONVERT_O)
1612bda830bSap
1627c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/ml/%.s
1637c478bd9Sstevel@tonic-gate	$(COMPILE.s) -o $@ $<
1647c478bd9Sstevel@tonic-gate
1657c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/os/%.c
166*6a59053bSAlex Wilson	$(COMPILE.c) -_gcc=-fno-stack-protector -o $@ $<
1677c478bd9Sstevel@tonic-gate	$(CTFCONVERT_O)
1687c478bd9Sstevel@tonic-gate
1690e751525SEric Saxe$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/os/cpupm/%.c
1700e751525SEric Saxe	$(COMPILE.c) -o $@ $<
1710e751525SEric Saxe	$(CTFCONVERT_O)
1720e751525SEric Saxe
173ae115bc7Smrj$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/boot/%.c
174ae115bc7Smrj	$(COMPILE.c) -o $@ $<
175ae115bc7Smrj	$(CTFCONVERT_O)
176ae115bc7Smrj
1777c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/vm/%.c
1787c478bd9Sstevel@tonic-gate	$(COMPILE.c) -o $@ $<
1797c478bd9Sstevel@tonic-gate	$(CTFCONVERT_O)
1807c478bd9Sstevel@tonic-gate
1817c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o:		$(UTSBASE)/common/io/%.c
1827c478bd9Sstevel@tonic-gate	$(COMPILE.c) -o $@ $<
1837c478bd9Sstevel@tonic-gate	$(CTFCONVERT_O)
1847c478bd9Sstevel@tonic-gate
1855cff7825Smh$(OBJS_DIR)/%.o:		$(UTSBASE)/common/io/ppm/%.c
1865cff7825Smh	$(COMPILE.c) -o $@ $<
1875cff7825Smh	$(CTFCONVERT_O)
1885cff7825Smh
189c0da6274SZhi-Jun Robin Fu$(OBJS_DIR)/%.o:		$(UTSBASE)/common/io/pciex/%.c
190c0da6274SZhi-Jun Robin Fu	$(COMPILE.c) -o $@ $<
191c0da6274SZhi-Jun Robin Fu	$(CTFCONVERT_O)
192c0da6274SZhi-Jun Robin Fu
1937c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o:		$(UTSBASE)/common/os/%.c
1947c478bd9Sstevel@tonic-gate	$(COMPILE.c) -o $@ $<
1957c478bd9Sstevel@tonic-gate	$(CTFCONVERT_O)
1967c478bd9Sstevel@tonic-gate
1977c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o:		$(SRC)/common/dis/i386/%.c
1987c478bd9Sstevel@tonic-gate	$(COMPILE.c) -o $@ $<
1997c478bd9Sstevel@tonic-gate	$(CTFCONVERT_O)
2007c478bd9Sstevel@tonic-gate
201fc1821feSrugrat$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/gfx_private/%.c
202fc1821feSrugrat	$(COMPILE.c) -o $@ $<
203fc1821feSrugrat	$(CTFCONVERT_O)
204fc1821feSrugrat
205ae115bc7Smrj$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/xsvc/%.c
20660405de4Skz	$(COMPILE.c) -o $@ $<
20760405de4Skz	$(CTFCONVERT_O)
20860405de4Skz
209349b53ddSStuart Maybee$(OBJS_DIR)/%.o:		$(UTSBASE)/common/xen/os/%.c
210349b53ddSStuart Maybee	$(COMPILE.c) -o $@ $<
211349b53ddSStuart Maybee	$(CTFCONVERT_O)
212349b53ddSStuart Maybee
213ae115bc7Smrj#
214ae115bc7Smrj# dboot stuff is always 32 bit, linked to run with phys_addr == virt_addr
215ae115bc7Smrj#
216ae115bc7SmrjDBOOT_OBJS_DIR	= dboot/$(OBJS_DIR)
217ae115bc7SmrjDBOOT_MACH_32	= -D_BOOT_TARGET_i386
218ae115bc7SmrjDBOOT_MACH_64	= -D_BOOT_TARGET_amd64
219ae115bc7SmrjDBOOT_DEFS	= -D_BOOT $(DBOOT_MACH_$(CLASS))
220ae115bc7SmrjDBOOT_DEFS	+= -D_MACHDEP -D_KMEMUSER -U_KERNEL -D_I32LPx
2216a3e8e86SRichard LoweDBOOT_FLAGS	= $(CCVERBOSE) $(CERRWARN) $(CCNOAUTOINLINE)
222fd358c0dSmyers
223ae115bc7SmrjDBOOT_CC_INCL	= -I$(SRC)/common $(INCLUDE_PATH)
224ae115bc7SmrjDBOOT_AS_INCL	= $(AS_INC_PATH)
2257aec1d6eScindi
226ae115bc7SmrjDBOOT_AS	= $(ONBLD_TOOLS)/bin/$(MACH)/aw
2277c478bd9Sstevel@tonic-gate
228ae115bc7SmrjDBOOT_LINTS_DIR	= $(DBOOT_OBJS_DIR)
229ae115bc7SmrjDBOOT_LINTFLAGS_i86pc	= $(LINTFLAGS_i386_32) $(LINTTAGS_i386_32)
2307c478bd9Sstevel@tonic-gate
231843e1988SjohnlevDBOOT_LINTFLAGS = $(DBOOT_LINTFLAGS_$(PLATFORM)) $(LINTTAGS) $(C99LMODE) \
232843e1988Sjohnlev	$(CPPFLAGS) $(DBOOT_DEFS)
233ae115bc7SmrjDBOOT_LOCAL_LINTFLAGS   = -c -dirout=$(DBOOT_LINTS_DIR) -I$(SRC)/common \
234adb91f47Srscott	$(DBOOT_LINTFLAGS) $(DBOOT_LINTTAGS)
2357c478bd9Sstevel@tonic-gate
236ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/boot/%.c
2376a3e8e86SRichard Lowe	$(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
2387c478bd9Sstevel@tonic-gate
239ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/dboot/%.c
2406a3e8e86SRichard Lowe	$(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
2417c478bd9Sstevel@tonic-gate
242551bc2a6Smrj$(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/intel/ia32/%.s
243551bc2a6Smrj	$(DBOOT_AS) -P -D_ASM $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $<
244551bc2a6Smrj
245e65d07eeSKeith Wesolowski$(DBOOT_OBJS_DIR)/%.o:		$(COMMONBASE)/crypto/sha1/%.c
246e65d07eeSKeith Wesolowski	$(i386_CC) $(CERRWARN) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
247e65d07eeSKeith Wesolowski
248ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o:		$(COMMONBASE)/util/%.c
2496a3e8e86SRichard Lowe	$(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
2507c478bd9Sstevel@tonic-gate
251ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o:		$(COMMONBASE)/util/i386/%.s
252ae115bc7Smrj	$(DBOOT_AS) -P -D_ASM $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $<
2537c478bd9Sstevel@tonic-gate
254ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/dboot/%.s
255ae115bc7Smrj	$(DBOOT_AS) -P -D_ASM $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $<
2567c478bd9Sstevel@tonic-gate
257ae115bc7Smrj#
258ae115bc7Smrj# Stuff to build bios_call.o for the kernel.
259ae115bc7Smrj#
260ae115bc7SmrjMAPFILE_BIOS	= $(UTSBASE)/i86pc/conf/Mapfile.bios
261ae115bc7Smrj$(OBJS_DIR)/bios_call.o:    $(UTSBASE)/i86pc/ml/bios_call_src.s
262ae115bc7Smrj	$(COMPILE.s) -o $(OBJS_DIR)/bios_call_src.o \
263ae115bc7Smrj		$(UTSBASE)/i86pc/ml/bios_call_src.s
264ae115bc7Smrj	$(LD) -dn -M $(MAPFILE_BIOS)  \
265ae115bc7Smrj		-o $(OBJS_DIR)/bios_call_src $(OBJS_DIR)/bios_call_src.o
266ae115bc7Smrj	@echo "  .data"				> $(OBJS_DIR)/bios_call.s
267ae115bc7Smrj	@echo "  .globl bios_image"		>> $(OBJS_DIR)/bios_call.s
268ae115bc7Smrj	@echo "bios_image:"			>> $(OBJS_DIR)/bios_call.s
269ae115bc7Smrj	$(ELFEXTRACT) $(OBJS_DIR)/bios_call_src	>> $(OBJS_DIR)/bios_call.s
270ae115bc7Smrj	@echo "  .align 4"			>> $(OBJS_DIR)/bios_call.s
271ae115bc7Smrj	@echo "  .globl bios_size"		>> $(OBJS_DIR)/bios_call.s
272ae115bc7Smrj	@echo "bios_size:"			>> $(OBJS_DIR)/bios_call.s
273ae115bc7Smrj	@echo "  .long . - bios_image"		>> $(OBJS_DIR)/bios_call.s
274ae115bc7Smrj	$(COMPILE.s) -o $@ $(OBJS_DIR)/bios_call.s
2757c478bd9Sstevel@tonic-gate
27619397407SSherry Moore#
27719397407SSherry Moore# Stuff to build fb_swtch.o for the kernel.
27819397407SSherry Moore#
27919397407SSherry MooreMAPFILE_FBSWTCH	= $(UTSBASE)/i86pc/conf/Mapfile.fb_swtch
28019397407SSherry Moore$(OBJS_DIR)/fb_swtch.o:    $(UTSBASE)/i86pc/ml/fb_swtch_src.s
28119397407SSherry Moore	$(COMPILE.s) -o $(OBJS_DIR)/fb_swtch_src.o \
28219397407SSherry Moore		$(UTSBASE)/i86pc/ml/fb_swtch_src.s
28319397407SSherry Moore	$(LD) -dn -M $(MAPFILE_FBSWTCH)  \
28419397407SSherry Moore		-o $(OBJS_DIR)/fb_swtch_src $(OBJS_DIR)/fb_swtch_src.o
28519397407SSherry Moore	@echo "  .data"				> $(OBJS_DIR)/fb_swtch.s
28619397407SSherry Moore	@echo "  .globl fb_swtch_image"		>> $(OBJS_DIR)/fb_swtch.s
28719397407SSherry Moore	@echo "fb_swtch_image:"			>> $(OBJS_DIR)/fb_swtch.s
28819397407SSherry Moore	$(ELFEXTRACT) $(OBJS_DIR)/fb_swtch_src	>> $(OBJS_DIR)/fb_swtch.s
28919397407SSherry Moore	@echo "  .align 4"			>> $(OBJS_DIR)/fb_swtch.s
29019397407SSherry Moore	@echo "  .globl fb_swtch_size"		>> $(OBJS_DIR)/fb_swtch.s
29119397407SSherry Moore	@echo "fb_swtch_size:"			>> $(OBJS_DIR)/fb_swtch.s
29219397407SSherry Moore	@echo "  .long . - fb_swtch_image"	>> $(OBJS_DIR)/fb_swtch.s
29319397407SSherry Moore	$(COMPILE.s) -o $@ $(OBJS_DIR)/fb_swtch.s
29419397407SSherry Moore
295ae115bc7Smrj# ridiculous contortions ---
296ae115bc7SmrjATOMIC_SUBDIR_32	= i386
297ae115bc7SmrjATOMIC_SUBDIR_64	= amd64
298ae115bc7SmrjATOMIC_SUBDIR		= $(ATOMIC_SUBDIR_$(CLASS))
2997c478bd9Sstevel@tonic-gate
300ae115bc7Smrj$(OBJS_DIR)/%.o:		$(SRC)/common/atomic/$(ATOMIC_SUBDIR)/%.s
301ae115bc7Smrj	$(COMPILE.s) -o $@ $<
3027c478bd9Sstevel@tonic-gate
303ae115bc7Smrj#
304ae115bc7Smrj# dtrace stubs
305ae115bc7Smrj#
30630082d0cSmyers
3077c478bd9Sstevel@tonic-gate$(OBJS_DIR)/dtracestubs.s:	$(UNIX_O) $(LIBS)
308620753d0Sjmcp	$(NM) -u $(UNIX_O) $(LIBS) | $(GREP) __dtrace_probe_ | $(SORT) | \
309620753d0Sjmcp	    $(UNIQ) | $(NAWK) '{ \
3107c478bd9Sstevel@tonic-gate	    printf("\t.globl %s\n\t.type %s,@function\n%s:\n", \
3117c478bd9Sstevel@tonic-gate	    $$1, $$1, $$1); }' > $(OBJS_DIR)/dtracestubs.s
3127c478bd9Sstevel@tonic-gate
3137c478bd9Sstevel@tonic-gate$(DTRACESTUBS):	$(DTRACESTUBS_O)
31402e56f3fSwesolows	$(BUILD.SO) $(DTRACESTUBS_O)
3157c478bd9Sstevel@tonic-gate
3167c478bd9Sstevel@tonic-gate#
3177c478bd9Sstevel@tonic-gate#	Section 1b: Lint `object' build rules
3187c478bd9Sstevel@tonic-gate#
3197c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/conf/%.c
3207c478bd9Sstevel@tonic-gate	@($(LHEAD) $(LINT.c) $< $(LTAIL))
3217c478bd9Sstevel@tonic-gate
3227aec1d6eScindi$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/cpu/amd_opteron/%.c
3237aec1d6eScindi	@($(LHEAD) $(LINT.c) $< $(LTAIL))
3247aec1d6eScindi
32520c794b3Sgavinm$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/cpu/authenticamd/%.c
32620c794b3Sgavinm	@($(LHEAD) $(LINT.c) $< $(LTAIL))
3277aec1d6eScindi
3287aec1d6eScindi$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/cpu/generic_cpu/%.c
3297aec1d6eScindi	@($(LHEAD) $(LINT.c) $< $(LTAIL))
3307aec1d6eScindi
33120c794b3Sgavinm$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/cpu/genuineintel/%.c
33220c794b3Sgavinm	@($(LHEAD) $(LINT.c) $< $(LTAIL))
33320c794b3Sgavinm
3347c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/%.c
3357c478bd9Sstevel@tonic-gate	@($(LHEAD) $(LINT.c) $< $(LTAIL))
3367c478bd9Sstevel@tonic-gate
337d2ec54f7Sphitran$(LINTS_DIR)/%.ln:              $(UTSBASE)/i86pc/io/acpi_drv/%.c
3387b840e52Sphitran	@($(LHEAD) $(LINT.c) $< $(LTAIL))
3397b840e52Sphitran
340eca2601cSRandy Fishel$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/fipe/%.c
341eca2601cSRandy Fishel	@($(LHEAD) $(LINT.c) $< $(LTAIL))
342b72d5b75SMichael Corcoran
343b72d5b75SMichael Corcoran$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/acpi/acpidev/%.c
344b72d5b75SMichael Corcoran	@($(LHEAD) $(LINT.c) $< $(LTAIL))
345b72d5b75SMichael Corcoran
346b72d5b75SMichael Corcoran$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/acpi/acpinex/%.c
347b72d5b75SMichael Corcoran	@($(LHEAD) $(LINT.c) $< $(LTAIL))
3486732dbb3SVikram Hegde
349a3114836SGerry Liu$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/acpi/drmach_acpi/%.c
350a3114836SGerry Liu	@($(LHEAD) $(LINT.c) $< $(LTAIL))
351a3114836SGerry Liu
3526732dbb3SVikram Hegde$(LINTS_DIR)/%.ln:              $(UTSBASE)/i86pc/io/amd_iommu/%.c
3536732dbb3SVikram Hegde	@($(LHEAD) $(LINT.c) $< $(LTAIL))
354eca2601cSRandy Fishel
355a3114836SGerry Liu$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/dr/%.c
356a3114836SGerry Liu	@($(LHEAD) $(LINT.c) $< $(LTAIL))
357a3114836SGerry Liu
35817169044Sbrutus$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/ioat/%.c
35917169044Sbrutus	@($(LHEAD) $(LINT.c) $< $(LTAIL))
36017169044Sbrutus
3617c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/pci/%.c
3627c478bd9Sstevel@tonic-gate	@($(LHEAD) $(LINT.c) $< $(LTAIL))
3637c478bd9Sstevel@tonic-gate
36470025d76Sjohnny$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/pciex/%.c
36570025d76Sjohnny	@($(LHEAD) $(LINT.c) $< $(LTAIL))
36670025d76Sjohnny
36726947304SEvan Yan$(LINTS_DIR)/%.ln:		$(UTSBASE)/intel/io/pciex/hotplug/%.c
36826947304SEvan Yan	@($(LHEAD) $(LINT.c) $< $(LTAIL))
36926947304SEvan Yan
3707c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/pcplusmp/%.c
3717c478bd9Sstevel@tonic-gate	@($(LHEAD) $(LINT.c) $< $(LTAIL))
3727c478bd9Sstevel@tonic-gate
3737c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/pcplusmp/%.s
3747c478bd9Sstevel@tonic-gate	@($(LHEAD) $(LINT.s) $< $(LTAIL))
3757c478bd9Sstevel@tonic-gate
3767ff178cdSJimmy Vetayases$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/apix/%.c
3777ff178cdSJimmy Vetayases	@($(LHEAD) $(LINT.c) $< $(LTAIL))
3787ff178cdSJimmy Vetayases
3797ff178cdSJimmy Vetayases$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/apix/%.s
3807ff178cdSJimmy Vetayases	@($(LHEAD) $(LINT.s) $< $(LTAIL))
3817ff178cdSJimmy Vetayases
3822df1fe9cSrandyf$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/ppm/%.c
3832df1fe9cSrandyf	@($(LHEAD) $(LINT.c) $< $(LTAIL))
3842df1fe9cSrandyf
3852df1fe9cSrandyf$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/ppm/%.s
3862df1fe9cSrandyf	@($(LHEAD) $(LINT.s) $< $(LTAIL))
3872df1fe9cSrandyf
3887c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/psm/%.c
3897c478bd9Sstevel@tonic-gate	@($(LHEAD) $(LINT.c) $< $(LTAIL))
3907c478bd9Sstevel@tonic-gate
3917c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/psm/%.s
3927c478bd9Sstevel@tonic-gate	@($(LHEAD) $(LINT.s) $< $(LTAIL))
3937c478bd9Sstevel@tonic-gate
3942bda830bSap$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/tzmon/%.c
3952bda830bSap	@($(LHEAD) $(LINT.c) $< $(LTAIL))
3962bda830bSap
3977c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/ml/%.s
3987c478bd9Sstevel@tonic-gate	@($(LHEAD) $(LINT.s) $< $(LTAIL))
3997c478bd9Sstevel@tonic-gate
4007c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/os/%.c
4017c478bd9Sstevel@tonic-gate	@($(LHEAD) $(LINT.c) $< $(LTAIL))
4027c478bd9Sstevel@tonic-gate
4030e751525SEric Saxe$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/os/cpupm/%.c
4040e751525SEric Saxe	@($(LHEAD) $(LINT.c) $< $(LTAIL))
4050e751525SEric Saxe
406ae115bc7Smrj$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/boot/%.c
407ae115bc7Smrj	@($(LHEAD) $(LINT.c) $< $(LTAIL))
408ae115bc7Smrj
4097c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/vm/%.c
4107c478bd9Sstevel@tonic-gate	@($(LHEAD) $(LINT.c) $< $(LTAIL))
4117c478bd9Sstevel@tonic-gate
4127c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln:		$(UTSBASE)/common/io/%.c
4137c478bd9Sstevel@tonic-gate	@($(LHEAD) $(LINT.c) $< $(LTAIL))
4147c478bd9Sstevel@tonic-gate
4155cff7825Smh$(LINTS_DIR)/%.ln:		$(UTSBASE)/common/io/ppm/%.c
4165cff7825Smh	@($(LHEAD) $(LINT.c) $< $(LTAIL))
4175cff7825Smh
418c0da6274SZhi-Jun Robin Fu$(LINTS_DIR)/%.ln:		$(UTSBASE)/common/io/pciex/%.c
419c0da6274SZhi-Jun Robin Fu	@($(LHEAD) $(LINT.c) $< $(LTAIL))
420c0da6274SZhi-Jun Robin Fu
4217c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln:		$(UTSBASE)/common/os/%.c
4227c478bd9Sstevel@tonic-gate	@($(LHEAD) $(LINT.c) $< $(LTAIL))
4237c478bd9Sstevel@tonic-gate
4247c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln:		$(SRC)/common/dis/i386/%.c
4257c478bd9Sstevel@tonic-gate	@($(LHEAD) $(LINT.c) $< $(LTAIL))
4267c478bd9Sstevel@tonic-gate
4277c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln:		$(SRC)/common/atomic/%.c
4287c478bd9Sstevel@tonic-gate	@($(LHEAD) $(LINT.c) $< $(LTAIL))
4297c478bd9Sstevel@tonic-gate
430ae115bc7Smrj$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/gfx_private/%.c
4317c478bd9Sstevel@tonic-gate	@($(LHEAD) $(LINT.c) $< $(LTAIL))
4327c478bd9Sstevel@tonic-gate
433ae115bc7Smrj$(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/xsvc/%.c
4347c478bd9Sstevel@tonic-gate	@($(LHEAD) $(LINT.c) $< $(LTAIL))
4357c478bd9Sstevel@tonic-gate
436349b53ddSStuart Maybee$(LINTS_DIR)/%.ln:		$(UTSBASE)/common/xen/os/%.c
437349b53ddSStuart Maybee	@($(LHEAD) $(LINT.c) $< $(LTAIL))
438349b53ddSStuart Maybee
439ae115bc7Smrj#
440ae115bc7Smrj# bios call has a funky name change while building
441ae115bc7Smrj#
442ae115bc7Smrj$(LINTS_DIR)/bios_call.ln:	$(UTSBASE)/i86pc/ml/bios_call_src.s
443ae115bc7Smrj	@($(LHEAD) $(LINT.s) $(UTSBASE)/i86pc/ml/bios_call_src.s  $(LTAIL))
444ae115bc7Smrj	@mv $(LINTS_DIR)/bios_call_src.ln $(LINTS_DIR)/bios_call.ln
4457c478bd9Sstevel@tonic-gate
44619397407SSherry Moore#
44719397407SSherry Moore# So does fb_swtch
44819397407SSherry Moore#
44919397407SSherry Moore$(LINTS_DIR)/fb_swtch.ln:	$(UTSBASE)/i86pc/ml/fb_swtch_src.s
45019397407SSherry Moore	@($(LHEAD) $(LINT.s) $(UTSBASE)/i86pc/ml/fb_swtch_src.s  $(LTAIL))
45119397407SSherry Moore	@mv $(LINTS_DIR)/fb_swtch_src.ln $(LINTS_DIR)/fb_swtch.ln
45219397407SSherry Moore
453ae115bc7Smrj#
454ae115bc7Smrj# dboot always compiles in 32-bit mode, so force lint to be 32-bit mode too.
455ae115bc7Smrj#
456ae115bc7Smrj$(DBOOT_LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/dboot/%.c
457ae115bc7Smrj	@($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL))
45830082d0cSmyers
459ae115bc7Smrj$(DBOOT_LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/dboot/%.s
460ae115bc7Smrj	@($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL))
461fc1821feSrugrat
462e65d07eeSKeith Wesolowski$(DBOOT_LINTS_DIR)/%.ln: $(COMMONBASE)/crypto/sha1/%.c
463e65d07eeSKeith Wesolowski	@($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL))
464e65d07eeSKeith Wesolowski
465ae115bc7Smrj$(DBOOT_LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/boot/%.c
466ae115bc7Smrj	@($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL))
46760405de4Skz
468ae115bc7Smrj$(DBOOT_LINTS_DIR)/%.ln: $(COMMONBASE)/util/%.c
469ae115bc7Smrj	@($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL))
47060405de4Skz
471ae115bc7Smrj$(DBOOT_LINTS_DIR)/%.ln: $(COMMONBASE)/util/i386/%.s
472ae115bc7Smrj	@($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL))
473