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. 24*7b07063dSIgor Kozhukhov# Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com> 257c478bd9Sstevel@tonic-gate# 267c478bd9Sstevel@tonic-gate 277c478bd9Sstevel@tonic-gate# This Makefile defines the build rules for the directory uts/i86pc 287c478bd9Sstevel@tonic-gate# and its children. These are the source files which are i86pc 297c478bd9Sstevel@tonic-gate# "implementation architecture" dependent. 307c478bd9Sstevel@tonic-gate# 317c478bd9Sstevel@tonic-gate# The following two-level ordering must be maintained in this file. 327c478bd9Sstevel@tonic-gate# Lines are sorted first in order of decreasing specificity based on 33eb0cc229Sedp# the first directory component. That is, i86pc rules come before 34eb0cc229Sedp# intel rules come before common rules. 357c478bd9Sstevel@tonic-gate# 367c478bd9Sstevel@tonic-gate# Lines whose initial directory components are equal are sorted 377c478bd9Sstevel@tonic-gate# alphabetically by the remaining components. 387c478bd9Sstevel@tonic-gate 397c478bd9Sstevel@tonic-gate# 407c478bd9Sstevel@tonic-gate# Section 1a: C object build rules 417c478bd9Sstevel@tonic-gate# 427c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/conf/%.c 437c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 447c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 457c478bd9Sstevel@tonic-gate 467aec1d6eScindi$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/cpu/amd_opteron/%.c 477aec1d6eScindi $(COMPILE.c) -o $@ $< 487aec1d6eScindi $(CTFCONVERT_O) 497aec1d6eScindi 5020c794b3Sgavinm$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/cpu/authenticamd/%.c 5120c794b3Sgavinm $(COMPILE.c) -o $@ $< 5220c794b3Sgavinm $(CTFCONVERT_O) 537aec1d6eScindi 547aec1d6eScindi$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/cpu/generic_cpu/%.c 557aec1d6eScindi $(COMPILE.c) -o $@ $< 567aec1d6eScindi $(CTFCONVERT_O) 577aec1d6eScindi 5820c794b3Sgavinm$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/cpu/genuineintel/%.c 5920c794b3Sgavinm $(COMPILE.c) -o $@ $< 6020c794b3Sgavinm $(CTFCONVERT_O) 6120c794b3Sgavinm 627c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/%.c 637c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 647c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 657c478bd9Sstevel@tonic-gate 66d2ec54f7Sphitran$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/acpi_drv/%.c 677b840e52Sphitran $(COMPILE.c) -o $@ $< 687b840e52Sphitran $(CTFCONVERT_O) 697b840e52Sphitran 70eca2601cSRandy Fishel$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/fipe/%.c 71eca2601cSRandy Fishel $(COMPILE.c) -o $@ $< 72eca2601cSRandy Fishel $(CTFCONVERT_O) 73eca2601cSRandy Fishel 74b72d5b75SMichael Corcoran$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/acpi/acpidev/%.c 75b72d5b75SMichael Corcoran $(COMPILE.c) -o $@ $< 76b72d5b75SMichael Corcoran $(CTFCONVERT_O) 77b72d5b75SMichael Corcoran 78b72d5b75SMichael Corcoran$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/acpi/acpinex/%.c 79b72d5b75SMichael Corcoran $(COMPILE.c) -o $@ $< 80b72d5b75SMichael Corcoran $(CTFCONVERT_O) 81b72d5b75SMichael Corcoran 82a3114836SGerry LiuSBD_IOCTL = $(UTSBASE)/i86pc/sys/sbd_ioctl.h 83a3114836SGerry LiuDRMACH_IO = $(UTSBASE)/i86pc/io/acpi/drmach_acpi 84a3114836SGerry LiuDRMACH_GENERR = $(DRMACH_IO)/sbdgenerr 85a3114836SGerry LiuDR_IO = $(UTSBASE)/i86pc/io/dr 86a3114836SGerry LiuDR_GENERR = $(DR_IO)/sbdgenerr 87a3114836SGerry Liu 88a3114836SGerry Liu$(DRMACH_GENERR): $(DR_IO)/sbdgenerr.pl 89a3114836SGerry Liu $(RM) $@ 90a3114836SGerry Liu $(CAT) $(DR_IO)/sbdgenerr.pl > $@ 91a3114836SGerry Liu $(CHMOD) +x $@ 92a3114836SGerry Liu 93a3114836SGerry Liu$(DRMACH_IO)/drmach_err.c: $(DRMACH_GENERR) $(SBD_IOCTL) 94a3114836SGerry Liu $(RM) $@ 95a3114836SGerry Liu $(DRMACH_GENERR) EX86 < $(SBD_IOCTL) > $(DRMACH_IO)/drmach_err.c 96a3114836SGerry Liu 97a3114836SGerry Liu$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/acpi/drmach_acpi/%.c 98a3114836SGerry Liu $(COMPILE.c) -o $@ $< 99a3114836SGerry Liu $(CTFCONVERT_O) 100a3114836SGerry Liu 1016732dbb3SVikram Hegde$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/amd_iommu/%.c 1026732dbb3SVikram Hegde $(COMPILE.c) -o $@ $< 1036732dbb3SVikram Hegde $(CTFCONVERT_O) 1046732dbb3SVikram Hegde 105a3114836SGerry Liu$(DR_GENERR): $(DR_IO)/sbdgenerr.pl 106a3114836SGerry Liu $(RM) $@ 107a3114836SGerry Liu $(CAT) $(DR_IO)/sbdgenerr.pl > $@ 108a3114836SGerry Liu $(CHMOD) +x $@ 109a3114836SGerry Liu 110a3114836SGerry Liu$(DR_IO)/dr_err.c: $(DR_GENERR) $(SBD_IOCTL) 111a3114836SGerry Liu $(RM) $@ 112a3114836SGerry Liu $(DR_GENERR) ESBD < $(SBD_IOCTL) > $(DR_IO)/dr_err.c 113a3114836SGerry Liu 114a3114836SGerry Liu$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/dr/%.c 115a3114836SGerry Liu $(COMPILE.c) -o $@ $< 116a3114836SGerry Liu $(CTFCONVERT_O) 117a3114836SGerry Liu 11817169044Sbrutus$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/ioat/%.c 11917169044Sbrutus $(COMPILE.c) -o $@ $< 12017169044Sbrutus $(CTFCONVERT_O) 12117169044Sbrutus 1227c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/pci/%.c 1237c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1247c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1257c478bd9Sstevel@tonic-gate 12670025d76Sjohnny$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/pciex/%.c 12770025d76Sjohnny $(COMPILE.c) -o $@ $< 12870025d76Sjohnny $(CTFCONVERT_O) 12970025d76Sjohnny 13026947304SEvan Yan$(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/pciex/hotplug/%.c 13126947304SEvan Yan $(COMPILE.c) -o $@ $< 13226947304SEvan Yan $(CTFCONVERT_O) 13326947304SEvan Yan 1347c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/pcplusmp/%.c 1357c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1367c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1377c478bd9Sstevel@tonic-gate 1387c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/pcplusmp/%.s 1397c478bd9Sstevel@tonic-gate $(COMPILE.s) -o $@ $< 1407c478bd9Sstevel@tonic-gate 1417ff178cdSJimmy Vetayases$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/apix/%.c 1427ff178cdSJimmy Vetayases $(COMPILE.c) -o $@ $< 1437ff178cdSJimmy Vetayases $(CTFCONVERT_O) 1447ff178cdSJimmy Vetayases 1452df1fe9cSrandyf$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/ppm/%.c 1462df1fe9cSrandyf $(COMPILE.c) -o $@ $< 1472df1fe9cSrandyf $(CTFCONVERT_O) 1482df1fe9cSrandyf 1492df1fe9cSrandyf$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/ppm/%.s 1502df1fe9cSrandyf $(COMPILE.s) -o $@ $< 1512df1fe9cSrandyf 1527c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/psm/%.c 1537c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1547c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1557c478bd9Sstevel@tonic-gate 1567c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/psm/%.s 1577c478bd9Sstevel@tonic-gate $(COMPILE.s) -o $@ $< 1587c478bd9Sstevel@tonic-gate 1592bda830bSap$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/tzmon/%.c 1602bda830bSap $(COMPILE.c) -o $@ $< 1612bda830bSap $(CTFCONVERT_O) 1622bda830bSap 1637c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/ml/%.s 1647c478bd9Sstevel@tonic-gate $(COMPILE.s) -o $@ $< 1657c478bd9Sstevel@tonic-gate 1667c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/os/%.c 1676a59053bSAlex Wilson $(COMPILE.c) -_gcc=-fno-stack-protector -o $@ $< 1687c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1697c478bd9Sstevel@tonic-gate 1700e751525SEric Saxe$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/os/cpupm/%.c 1710e751525SEric Saxe $(COMPILE.c) -o $@ $< 1720e751525SEric Saxe $(CTFCONVERT_O) 1730e751525SEric Saxe 174ae115bc7Smrj$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/boot/%.c 175ae115bc7Smrj $(COMPILE.c) -o $@ $< 176ae115bc7Smrj $(CTFCONVERT_O) 177ae115bc7Smrj 1787c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/vm/%.c 1797c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1807c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1817c478bd9Sstevel@tonic-gate 1827c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/common/io/%.c 1837c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1847c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1857c478bd9Sstevel@tonic-gate 1865cff7825Smh$(OBJS_DIR)/%.o: $(UTSBASE)/common/io/ppm/%.c 1875cff7825Smh $(COMPILE.c) -o $@ $< 1885cff7825Smh $(CTFCONVERT_O) 1895cff7825Smh 190c0da6274SZhi-Jun Robin Fu$(OBJS_DIR)/%.o: $(UTSBASE)/common/io/pciex/%.c 191c0da6274SZhi-Jun Robin Fu $(COMPILE.c) -o $@ $< 192c0da6274SZhi-Jun Robin Fu $(CTFCONVERT_O) 193c0da6274SZhi-Jun Robin Fu 1947c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/common/os/%.c 1957c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1967c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1977c478bd9Sstevel@tonic-gate 1987c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(SRC)/common/dis/i386/%.c 1997c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2007c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 2017c478bd9Sstevel@tonic-gate 202fc1821feSrugrat$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/gfx_private/%.c 203fc1821feSrugrat $(COMPILE.c) -o $@ $< 204fc1821feSrugrat $(CTFCONVERT_O) 205fc1821feSrugrat 206ae115bc7Smrj$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/xsvc/%.c 20760405de4Skz $(COMPILE.c) -o $@ $< 20860405de4Skz $(CTFCONVERT_O) 20960405de4Skz 210349b53ddSStuart Maybee$(OBJS_DIR)/%.o: $(UTSBASE)/common/xen/os/%.c 211349b53ddSStuart Maybee $(COMPILE.c) -o $@ $< 212349b53ddSStuart Maybee $(CTFCONVERT_O) 213349b53ddSStuart Maybee 214ae115bc7Smrj# 215ae115bc7Smrj# dboot stuff is always 32 bit, linked to run with phys_addr == virt_addr 216ae115bc7Smrj# 217ae115bc7SmrjDBOOT_OBJS_DIR = dboot/$(OBJS_DIR) 218ae115bc7SmrjDBOOT_MACH_32 = -D_BOOT_TARGET_i386 219ae115bc7SmrjDBOOT_MACH_64 = -D_BOOT_TARGET_amd64 220ae115bc7SmrjDBOOT_DEFS = -D_BOOT $(DBOOT_MACH_$(CLASS)) 221ae115bc7SmrjDBOOT_DEFS += -D_MACHDEP -D_KMEMUSER -U_KERNEL -D_I32LPx 2226a3e8e86SRichard LoweDBOOT_FLAGS = $(CCVERBOSE) $(CERRWARN) $(CCNOAUTOINLINE) 223fd358c0dSmyers 224ae115bc7SmrjDBOOT_CC_INCL = -I$(SRC)/common $(INCLUDE_PATH) 225ae115bc7SmrjDBOOT_AS_INCL = $(AS_INC_PATH) 2267aec1d6eScindi 227ae115bc7SmrjDBOOT_AS = $(ONBLD_TOOLS)/bin/$(MACH)/aw 2287c478bd9Sstevel@tonic-gate 229ae115bc7SmrjDBOOT_LINTS_DIR = $(DBOOT_OBJS_DIR) 230ae115bc7SmrjDBOOT_LINTFLAGS_i86pc = $(LINTFLAGS_i386_32) $(LINTTAGS_i386_32) 2317c478bd9Sstevel@tonic-gate 232843e1988SjohnlevDBOOT_LINTFLAGS = $(DBOOT_LINTFLAGS_$(PLATFORM)) $(LINTTAGS) $(C99LMODE) \ 233843e1988Sjohnlev $(CPPFLAGS) $(DBOOT_DEFS) 234ae115bc7SmrjDBOOT_LOCAL_LINTFLAGS = -c -dirout=$(DBOOT_LINTS_DIR) -I$(SRC)/common \ 235adb91f47Srscott $(DBOOT_LINTFLAGS) $(DBOOT_LINTTAGS) 2367c478bd9Sstevel@tonic-gate 237ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/i86pc/boot/%.c 2386a3e8e86SRichard Lowe $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 2397c478bd9Sstevel@tonic-gate 240ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/i86pc/dboot/%.c 2416a3e8e86SRichard Lowe $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 2427c478bd9Sstevel@tonic-gate 243551bc2a6Smrj$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/intel/ia32/%.s 244551bc2a6Smrj $(DBOOT_AS) -P -D_ASM $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $< 245551bc2a6Smrj 246e65d07eeSKeith Wesolowski$(DBOOT_OBJS_DIR)/%.o: $(COMMONBASE)/crypto/sha1/%.c 247e65d07eeSKeith Wesolowski $(i386_CC) $(CERRWARN) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 248e65d07eeSKeith Wesolowski 249ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(COMMONBASE)/util/%.c 2506a3e8e86SRichard Lowe $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 2517c478bd9Sstevel@tonic-gate 252ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(COMMONBASE)/util/i386/%.s 253ae115bc7Smrj $(DBOOT_AS) -P -D_ASM $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $< 2547c478bd9Sstevel@tonic-gate 255ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/i86pc/dboot/%.s 256ae115bc7Smrj $(DBOOT_AS) -P -D_ASM $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $< 2577c478bd9Sstevel@tonic-gate 258ae115bc7Smrj# 259ae115bc7Smrj# Stuff to build bios_call.o for the kernel. 260ae115bc7Smrj# 261ae115bc7SmrjMAPFILE_BIOS = $(UTSBASE)/i86pc/conf/Mapfile.bios 262ae115bc7Smrj$(OBJS_DIR)/bios_call.o: $(UTSBASE)/i86pc/ml/bios_call_src.s 263ae115bc7Smrj $(COMPILE.s) -o $(OBJS_DIR)/bios_call_src.o \ 264ae115bc7Smrj $(UTSBASE)/i86pc/ml/bios_call_src.s 265ae115bc7Smrj $(LD) -dn -M $(MAPFILE_BIOS) \ 266ae115bc7Smrj -o $(OBJS_DIR)/bios_call_src $(OBJS_DIR)/bios_call_src.o 267ae115bc7Smrj @echo " .data" > $(OBJS_DIR)/bios_call.s 268ae115bc7Smrj @echo " .globl bios_image" >> $(OBJS_DIR)/bios_call.s 269ae115bc7Smrj @echo "bios_image:" >> $(OBJS_DIR)/bios_call.s 270ae115bc7Smrj $(ELFEXTRACT) $(OBJS_DIR)/bios_call_src >> $(OBJS_DIR)/bios_call.s 271ae115bc7Smrj @echo " .align 4" >> $(OBJS_DIR)/bios_call.s 272ae115bc7Smrj @echo " .globl bios_size" >> $(OBJS_DIR)/bios_call.s 273ae115bc7Smrj @echo "bios_size:" >> $(OBJS_DIR)/bios_call.s 274ae115bc7Smrj @echo " .long . - bios_image" >> $(OBJS_DIR)/bios_call.s 275ae115bc7Smrj $(COMPILE.s) -o $@ $(OBJS_DIR)/bios_call.s 2767c478bd9Sstevel@tonic-gate 27719397407SSherry Moore# 27819397407SSherry Moore# Stuff to build fb_swtch.o for the kernel. 27919397407SSherry Moore# 28019397407SSherry MooreMAPFILE_FBSWTCH = $(UTSBASE)/i86pc/conf/Mapfile.fb_swtch 28119397407SSherry Moore$(OBJS_DIR)/fb_swtch.o: $(UTSBASE)/i86pc/ml/fb_swtch_src.s 28219397407SSherry Moore $(COMPILE.s) -o $(OBJS_DIR)/fb_swtch_src.o \ 28319397407SSherry Moore $(UTSBASE)/i86pc/ml/fb_swtch_src.s 28419397407SSherry Moore $(LD) -dn -M $(MAPFILE_FBSWTCH) \ 28519397407SSherry Moore -o $(OBJS_DIR)/fb_swtch_src $(OBJS_DIR)/fb_swtch_src.o 28619397407SSherry Moore @echo " .data" > $(OBJS_DIR)/fb_swtch.s 28719397407SSherry Moore @echo " .globl fb_swtch_image" >> $(OBJS_DIR)/fb_swtch.s 28819397407SSherry Moore @echo "fb_swtch_image:" >> $(OBJS_DIR)/fb_swtch.s 28919397407SSherry Moore $(ELFEXTRACT) $(OBJS_DIR)/fb_swtch_src >> $(OBJS_DIR)/fb_swtch.s 29019397407SSherry Moore @echo " .align 4" >> $(OBJS_DIR)/fb_swtch.s 29119397407SSherry Moore @echo " .globl fb_swtch_size" >> $(OBJS_DIR)/fb_swtch.s 29219397407SSherry Moore @echo "fb_swtch_size:" >> $(OBJS_DIR)/fb_swtch.s 29319397407SSherry Moore @echo " .long . - fb_swtch_image" >> $(OBJS_DIR)/fb_swtch.s 29419397407SSherry Moore $(COMPILE.s) -o $@ $(OBJS_DIR)/fb_swtch.s 29519397407SSherry Moore 296ae115bc7Smrj# ridiculous contortions --- 297ae115bc7SmrjATOMIC_SUBDIR_32 = i386 298ae115bc7SmrjATOMIC_SUBDIR_64 = amd64 299ae115bc7SmrjATOMIC_SUBDIR = $(ATOMIC_SUBDIR_$(CLASS)) 3007c478bd9Sstevel@tonic-gate 301ae115bc7Smrj$(OBJS_DIR)/%.o: $(SRC)/common/atomic/$(ATOMIC_SUBDIR)/%.s 302ae115bc7Smrj $(COMPILE.s) -o $@ $< 3037c478bd9Sstevel@tonic-gate 304ae115bc7Smrj# 305ae115bc7Smrj# dtrace stubs 306ae115bc7Smrj# 30730082d0cSmyers 3087c478bd9Sstevel@tonic-gate$(OBJS_DIR)/dtracestubs.s: $(UNIX_O) $(LIBS) 309620753d0Sjmcp $(NM) -u $(UNIX_O) $(LIBS) | $(GREP) __dtrace_probe_ | $(SORT) | \ 310*7b07063dSIgor Kozhukhov $(UNIQ) | $(AWK) '{ \ 3117c478bd9Sstevel@tonic-gate printf("\t.globl %s\n\t.type %s,@function\n%s:\n", \ 3127c478bd9Sstevel@tonic-gate $$1, $$1, $$1); }' > $(OBJS_DIR)/dtracestubs.s 3137c478bd9Sstevel@tonic-gate 3147c478bd9Sstevel@tonic-gate$(DTRACESTUBS): $(DTRACESTUBS_O) 31502e56f3fSwesolows $(BUILD.SO) $(DTRACESTUBS_O) 3167c478bd9Sstevel@tonic-gate 3177c478bd9Sstevel@tonic-gate# 3187c478bd9Sstevel@tonic-gate# Section 1b: Lint `object' build rules 3197c478bd9Sstevel@tonic-gate# 3207c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/conf/%.c 3217c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3227c478bd9Sstevel@tonic-gate 3237aec1d6eScindi$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/cpu/amd_opteron/%.c 3247aec1d6eScindi @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3257aec1d6eScindi 32620c794b3Sgavinm$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/cpu/authenticamd/%.c 32720c794b3Sgavinm @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3287aec1d6eScindi 3297aec1d6eScindi$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/cpu/generic_cpu/%.c 3307aec1d6eScindi @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3317aec1d6eScindi 33220c794b3Sgavinm$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/cpu/genuineintel/%.c 33320c794b3Sgavinm @($(LHEAD) $(LINT.c) $< $(LTAIL)) 33420c794b3Sgavinm 3357c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/%.c 3367c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3377c478bd9Sstevel@tonic-gate 338d2ec54f7Sphitran$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/acpi_drv/%.c 3397b840e52Sphitran @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3407b840e52Sphitran 341eca2601cSRandy Fishel$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/fipe/%.c 342eca2601cSRandy Fishel @($(LHEAD) $(LINT.c) $< $(LTAIL)) 343b72d5b75SMichael Corcoran 344b72d5b75SMichael Corcoran$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/acpi/acpidev/%.c 345b72d5b75SMichael Corcoran @($(LHEAD) $(LINT.c) $< $(LTAIL)) 346b72d5b75SMichael Corcoran 347b72d5b75SMichael Corcoran$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/acpi/acpinex/%.c 348b72d5b75SMichael Corcoran @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3496732dbb3SVikram Hegde 350a3114836SGerry Liu$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/acpi/drmach_acpi/%.c 351a3114836SGerry Liu @($(LHEAD) $(LINT.c) $< $(LTAIL)) 352a3114836SGerry Liu 3536732dbb3SVikram Hegde$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/amd_iommu/%.c 3546732dbb3SVikram Hegde @($(LHEAD) $(LINT.c) $< $(LTAIL)) 355eca2601cSRandy Fishel 356a3114836SGerry Liu$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/dr/%.c 357a3114836SGerry Liu @($(LHEAD) $(LINT.c) $< $(LTAIL)) 358a3114836SGerry Liu 35917169044Sbrutus$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/ioat/%.c 36017169044Sbrutus @($(LHEAD) $(LINT.c) $< $(LTAIL)) 36117169044Sbrutus 3627c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/pci/%.c 3637c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3647c478bd9Sstevel@tonic-gate 36570025d76Sjohnny$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/pciex/%.c 36670025d76Sjohnny @($(LHEAD) $(LINT.c) $< $(LTAIL)) 36770025d76Sjohnny 36826947304SEvan Yan$(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/pciex/hotplug/%.c 36926947304SEvan Yan @($(LHEAD) $(LINT.c) $< $(LTAIL)) 37026947304SEvan Yan 3717c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/pcplusmp/%.c 3727c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3737c478bd9Sstevel@tonic-gate 3747c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/pcplusmp/%.s 3757c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.s) $< $(LTAIL)) 3767c478bd9Sstevel@tonic-gate 3777ff178cdSJimmy Vetayases$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/apix/%.c 3787ff178cdSJimmy Vetayases @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3797ff178cdSJimmy Vetayases 3807ff178cdSJimmy Vetayases$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/apix/%.s 3817ff178cdSJimmy Vetayases @($(LHEAD) $(LINT.s) $< $(LTAIL)) 3827ff178cdSJimmy Vetayases 3832df1fe9cSrandyf$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/ppm/%.c 3842df1fe9cSrandyf @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3852df1fe9cSrandyf 3862df1fe9cSrandyf$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/ppm/%.s 3872df1fe9cSrandyf @($(LHEAD) $(LINT.s) $< $(LTAIL)) 3882df1fe9cSrandyf 3897c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/psm/%.c 3907c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3917c478bd9Sstevel@tonic-gate 3927c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/psm/%.s 3937c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.s) $< $(LTAIL)) 3947c478bd9Sstevel@tonic-gate 3952bda830bSap$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/tzmon/%.c 3962bda830bSap @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3972bda830bSap 3987c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/ml/%.s 3997c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.s) $< $(LTAIL)) 4007c478bd9Sstevel@tonic-gate 4017c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/os/%.c 4027c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4037c478bd9Sstevel@tonic-gate 4040e751525SEric Saxe$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/os/cpupm/%.c 4050e751525SEric Saxe @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4060e751525SEric Saxe 407ae115bc7Smrj$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/boot/%.c 408ae115bc7Smrj @($(LHEAD) $(LINT.c) $< $(LTAIL)) 409ae115bc7Smrj 4107c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/vm/%.c 4117c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4127c478bd9Sstevel@tonic-gate 4137c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/common/io/%.c 4147c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4157c478bd9Sstevel@tonic-gate 4165cff7825Smh$(LINTS_DIR)/%.ln: $(UTSBASE)/common/io/ppm/%.c 4175cff7825Smh @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4185cff7825Smh 419c0da6274SZhi-Jun Robin Fu$(LINTS_DIR)/%.ln: $(UTSBASE)/common/io/pciex/%.c 420c0da6274SZhi-Jun Robin Fu @($(LHEAD) $(LINT.c) $< $(LTAIL)) 421c0da6274SZhi-Jun Robin Fu 4227c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/common/os/%.c 4237c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4247c478bd9Sstevel@tonic-gate 4257c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(SRC)/common/dis/i386/%.c 4267c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4277c478bd9Sstevel@tonic-gate 4287c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(SRC)/common/atomic/%.c 4297c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4307c478bd9Sstevel@tonic-gate 431ae115bc7Smrj$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/gfx_private/%.c 4327c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4337c478bd9Sstevel@tonic-gate 434ae115bc7Smrj$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/xsvc/%.c 4357c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4367c478bd9Sstevel@tonic-gate 437349b53ddSStuart Maybee$(LINTS_DIR)/%.ln: $(UTSBASE)/common/xen/os/%.c 438349b53ddSStuart Maybee @($(LHEAD) $(LINT.c) $< $(LTAIL)) 439349b53ddSStuart Maybee 440ae115bc7Smrj# 441ae115bc7Smrj# bios call has a funky name change while building 442ae115bc7Smrj# 443ae115bc7Smrj$(LINTS_DIR)/bios_call.ln: $(UTSBASE)/i86pc/ml/bios_call_src.s 444ae115bc7Smrj @($(LHEAD) $(LINT.s) $(UTSBASE)/i86pc/ml/bios_call_src.s $(LTAIL)) 445ae115bc7Smrj @mv $(LINTS_DIR)/bios_call_src.ln $(LINTS_DIR)/bios_call.ln 4467c478bd9Sstevel@tonic-gate 44719397407SSherry Moore# 44819397407SSherry Moore# So does fb_swtch 44919397407SSherry Moore# 45019397407SSherry Moore$(LINTS_DIR)/fb_swtch.ln: $(UTSBASE)/i86pc/ml/fb_swtch_src.s 45119397407SSherry Moore @($(LHEAD) $(LINT.s) $(UTSBASE)/i86pc/ml/fb_swtch_src.s $(LTAIL)) 45219397407SSherry Moore @mv $(LINTS_DIR)/fb_swtch_src.ln $(LINTS_DIR)/fb_swtch.ln 45319397407SSherry Moore 454ae115bc7Smrj# 455ae115bc7Smrj# dboot always compiles in 32-bit mode, so force lint to be 32-bit mode too. 456ae115bc7Smrj# 457ae115bc7Smrj$(DBOOT_LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/dboot/%.c 458ae115bc7Smrj @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL)) 45930082d0cSmyers 460ae115bc7Smrj$(DBOOT_LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/dboot/%.s 461ae115bc7Smrj @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL)) 462fc1821feSrugrat 463e65d07eeSKeith Wesolowski$(DBOOT_LINTS_DIR)/%.ln: $(COMMONBASE)/crypto/sha1/%.c 464e65d07eeSKeith Wesolowski @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL)) 465e65d07eeSKeith Wesolowski 466ae115bc7Smrj$(DBOOT_LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/boot/%.c 467ae115bc7Smrj @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL)) 46860405de4Skz 469ae115bc7Smrj$(DBOOT_LINTS_DIR)/%.ln: $(COMMONBASE)/util/%.c 470ae115bc7Smrj @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL)) 47160405de4Skz 472ae115bc7Smrj$(DBOOT_LINTS_DIR)/%.ln: $(COMMONBASE)/util/i386/%.s 473ae115bc7Smrj @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL)) 474