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. 247b07063dSIgor 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 214*1738dd6eSToomas Soome$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/dboot/%.c 215*1738dd6eSToomas Soome $(COMPILE.c) -o $@ $< 216*1738dd6eSToomas Soome $(CTFCONVERT_O) 217*1738dd6eSToomas Soome 218ae115bc7Smrj# 219ae115bc7Smrj# dboot stuff is always 32 bit, linked to run with phys_addr == virt_addr 220ae115bc7Smrj# 221ae115bc7SmrjDBOOT_OBJS_DIR = dboot/$(OBJS_DIR) 222ae115bc7SmrjDBOOT_MACH_32 = -D_BOOT_TARGET_i386 223ae115bc7SmrjDBOOT_MACH_64 = -D_BOOT_TARGET_amd64 224ae115bc7SmrjDBOOT_DEFS = -D_BOOT $(DBOOT_MACH_$(CLASS)) 225ae115bc7SmrjDBOOT_DEFS += -D_MACHDEP -D_KMEMUSER -U_KERNEL -D_I32LPx 2267f11fd00SRichard LoweDBOOT_FLAGS = $(CCVERBOSE) $(C99MODE) $(CERRWARN) $(CCNOAUTOINLINE) 227fd358c0dSmyers 2280181461bSKeith M WesolowskiDBOOT_CC_INCL = -I$(SRC)/common -I$(SRC)/common/util $(INCLUDE_PATH) 229ae115bc7SmrjDBOOT_AS_INCL = $(AS_INC_PATH) 2307aec1d6eScindi 231ae115bc7SmrjDBOOT_AS = $(ONBLD_TOOLS)/bin/$(MACH)/aw 2327c478bd9Sstevel@tonic-gate 233ae115bc7SmrjDBOOT_LINTS_DIR = $(DBOOT_OBJS_DIR) 234ae115bc7SmrjDBOOT_LINTFLAGS_i86pc = $(LINTFLAGS_i386_32) $(LINTTAGS_i386_32) 2357c478bd9Sstevel@tonic-gate 236843e1988SjohnlevDBOOT_LINTFLAGS = $(DBOOT_LINTFLAGS_$(PLATFORM)) $(LINTTAGS) $(C99LMODE) \ 237843e1988Sjohnlev $(CPPFLAGS) $(DBOOT_DEFS) 238ae115bc7SmrjDBOOT_LOCAL_LINTFLAGS = -c -dirout=$(DBOOT_LINTS_DIR) -I$(SRC)/common \ 239adb91f47Srscott $(DBOOT_LINTFLAGS) $(DBOOT_LINTTAGS) 2407c478bd9Sstevel@tonic-gate 241ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/i86pc/boot/%.c 2426a3e8e86SRichard Lowe $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 2437c478bd9Sstevel@tonic-gate 244ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/i86pc/dboot/%.c 2456a3e8e86SRichard Lowe $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 2467c478bd9Sstevel@tonic-gate 247551bc2a6Smrj$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/intel/ia32/%.s 248551bc2a6Smrj $(DBOOT_AS) -P -D_ASM $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $< 249551bc2a6Smrj 250898c3fecSToomas Soome$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/common/font/%.c 251898c3fecSToomas Soome $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 252898c3fecSToomas Soome 253898c3fecSToomas Soome$(DBOOT_OBJS_DIR)/$(VGATEXT_FONT).c: \ 254898c3fecSToomas Soome $(VGATEXT_FONT_DIR)/$(VGATEXT_FONT_SRC).bdf \ 255898c3fecSToomas Soome $(VGATEXT_FONT_DIR)/bdf_to_c.awk 256898c3fecSToomas Soome $(AWK) -f $(VGATEXT_FONT_DIR)/bdf_to_c.awk \ 257898c3fecSToomas Soome $(VGATEXT_FONT_DIR)/$(VGATEXT_FONT_SRC).bdf > $@ 258898c3fecSToomas Soome 259898c3fecSToomas Soome$(DBOOT_OBJS_DIR)/%.o: $(DBOOT_OBJS_DIR)/%.c 260898c3fecSToomas Soome $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 261898c3fecSToomas Soome 262e65d07eeSKeith Wesolowski$(DBOOT_OBJS_DIR)/%.o: $(COMMONBASE)/crypto/sha1/%.c 2637f11fd00SRichard Lowe $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 264e65d07eeSKeith Wesolowski 265898c3fecSToomas Soome$(DBOOT_OBJS_DIR)/%.o: $(DBOOT_OBJS_DIR)/%.c 266898c3fecSToomas Soome $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 267898c3fecSToomas Soome 268ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(COMMONBASE)/util/%.c 2696a3e8e86SRichard Lowe $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 2707c478bd9Sstevel@tonic-gate 271ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(COMMONBASE)/util/i386/%.s 272ae115bc7Smrj $(DBOOT_AS) -P -D_ASM $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $< 2737c478bd9Sstevel@tonic-gate 274ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/i86pc/dboot/%.s 275ae115bc7Smrj $(DBOOT_AS) -P -D_ASM $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $< 2767c478bd9Sstevel@tonic-gate 277ae115bc7Smrj# 278ae115bc7Smrj# Stuff to build bios_call.o for the kernel. 279ae115bc7Smrj# 280ae115bc7SmrjMAPFILE_BIOS = $(UTSBASE)/i86pc/conf/Mapfile.bios 281ae115bc7Smrj$(OBJS_DIR)/bios_call.o: $(UTSBASE)/i86pc/ml/bios_call_src.s 282ae115bc7Smrj $(COMPILE.s) -o $(OBJS_DIR)/bios_call_src.o \ 283ae115bc7Smrj $(UTSBASE)/i86pc/ml/bios_call_src.s 284ae115bc7Smrj $(LD) -dn -M $(MAPFILE_BIOS) \ 285ae115bc7Smrj -o $(OBJS_DIR)/bios_call_src $(OBJS_DIR)/bios_call_src.o 286ae115bc7Smrj @echo " .data" > $(OBJS_DIR)/bios_call.s 287ae115bc7Smrj @echo " .globl bios_image" >> $(OBJS_DIR)/bios_call.s 288ae115bc7Smrj @echo "bios_image:" >> $(OBJS_DIR)/bios_call.s 289ae115bc7Smrj $(ELFEXTRACT) $(OBJS_DIR)/bios_call_src >> $(OBJS_DIR)/bios_call.s 290ae115bc7Smrj @echo " .align 4" >> $(OBJS_DIR)/bios_call.s 291ae115bc7Smrj @echo " .globl bios_size" >> $(OBJS_DIR)/bios_call.s 292ae115bc7Smrj @echo "bios_size:" >> $(OBJS_DIR)/bios_call.s 293ae115bc7Smrj @echo " .long . - bios_image" >> $(OBJS_DIR)/bios_call.s 294ae115bc7Smrj $(COMPILE.s) -o $@ $(OBJS_DIR)/bios_call.s 2957c478bd9Sstevel@tonic-gate 29619397407SSherry Moore# 29719397407SSherry Moore# Stuff to build fb_swtch.o for the kernel. 29819397407SSherry Moore# 29919397407SSherry MooreMAPFILE_FBSWTCH = $(UTSBASE)/i86pc/conf/Mapfile.fb_swtch 30019397407SSherry Moore$(OBJS_DIR)/fb_swtch.o: $(UTSBASE)/i86pc/ml/fb_swtch_src.s 30119397407SSherry Moore $(COMPILE.s) -o $(OBJS_DIR)/fb_swtch_src.o \ 30219397407SSherry Moore $(UTSBASE)/i86pc/ml/fb_swtch_src.s 30319397407SSherry Moore $(LD) -dn -M $(MAPFILE_FBSWTCH) \ 30419397407SSherry Moore -o $(OBJS_DIR)/fb_swtch_src $(OBJS_DIR)/fb_swtch_src.o 30519397407SSherry Moore @echo " .data" > $(OBJS_DIR)/fb_swtch.s 30619397407SSherry Moore @echo " .globl fb_swtch_image" >> $(OBJS_DIR)/fb_swtch.s 30719397407SSherry Moore @echo "fb_swtch_image:" >> $(OBJS_DIR)/fb_swtch.s 30819397407SSherry Moore $(ELFEXTRACT) $(OBJS_DIR)/fb_swtch_src >> $(OBJS_DIR)/fb_swtch.s 30919397407SSherry Moore @echo " .align 4" >> $(OBJS_DIR)/fb_swtch.s 31019397407SSherry Moore @echo " .globl fb_swtch_size" >> $(OBJS_DIR)/fb_swtch.s 31119397407SSherry Moore @echo "fb_swtch_size:" >> $(OBJS_DIR)/fb_swtch.s 31219397407SSherry Moore @echo " .long . - fb_swtch_image" >> $(OBJS_DIR)/fb_swtch.s 31319397407SSherry Moore $(COMPILE.s) -o $@ $(OBJS_DIR)/fb_swtch.s 31419397407SSherry Moore 315ae115bc7Smrj# ridiculous contortions --- 316ae115bc7SmrjATOMIC_SUBDIR_32 = i386 317ae115bc7SmrjATOMIC_SUBDIR_64 = amd64 318ae115bc7SmrjATOMIC_SUBDIR = $(ATOMIC_SUBDIR_$(CLASS)) 3197c478bd9Sstevel@tonic-gate 320ae115bc7Smrj$(OBJS_DIR)/%.o: $(SRC)/common/atomic/$(ATOMIC_SUBDIR)/%.s 321ae115bc7Smrj $(COMPILE.s) -o $@ $< 3227c478bd9Sstevel@tonic-gate 323ae115bc7Smrj# 324ae115bc7Smrj# dtrace stubs 325ae115bc7Smrj# 32630082d0cSmyers 3277c478bd9Sstevel@tonic-gate$(OBJS_DIR)/dtracestubs.s: $(UNIX_O) $(LIBS) 328620753d0Sjmcp $(NM) -u $(UNIX_O) $(LIBS) | $(GREP) __dtrace_probe_ | $(SORT) | \ 3297b07063dSIgor Kozhukhov $(UNIQ) | $(AWK) '{ \ 3307c478bd9Sstevel@tonic-gate printf("\t.globl %s\n\t.type %s,@function\n%s:\n", \ 3317c478bd9Sstevel@tonic-gate $$1, $$1, $$1); }' > $(OBJS_DIR)/dtracestubs.s 3327c478bd9Sstevel@tonic-gate 3337c478bd9Sstevel@tonic-gate$(DTRACESTUBS): $(DTRACESTUBS_O) 33402e56f3fSwesolows $(BUILD.SO) $(DTRACESTUBS_O) 3357c478bd9Sstevel@tonic-gate 3367c478bd9Sstevel@tonic-gate# 3377c478bd9Sstevel@tonic-gate# Section 1b: Lint `object' build rules 3387c478bd9Sstevel@tonic-gate# 3397c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/conf/%.c 3407c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3417c478bd9Sstevel@tonic-gate 3427aec1d6eScindi$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/cpu/amd_opteron/%.c 3437aec1d6eScindi @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3447aec1d6eScindi 34520c794b3Sgavinm$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/cpu/authenticamd/%.c 34620c794b3Sgavinm @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3477aec1d6eScindi 3487aec1d6eScindi$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/cpu/generic_cpu/%.c 3497aec1d6eScindi @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3507aec1d6eScindi 35120c794b3Sgavinm$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/cpu/genuineintel/%.c 35220c794b3Sgavinm @($(LHEAD) $(LINT.c) $< $(LTAIL)) 35320c794b3Sgavinm 3547c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/%.c 3557c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3567c478bd9Sstevel@tonic-gate 357d2ec54f7Sphitran$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/acpi_drv/%.c 3587b840e52Sphitran @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3597b840e52Sphitran 360eca2601cSRandy Fishel$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/fipe/%.c 361eca2601cSRandy Fishel @($(LHEAD) $(LINT.c) $< $(LTAIL)) 362b72d5b75SMichael Corcoran 363b72d5b75SMichael Corcoran$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/acpi/acpidev/%.c 364b72d5b75SMichael Corcoran @($(LHEAD) $(LINT.c) $< $(LTAIL)) 365b72d5b75SMichael Corcoran 366b72d5b75SMichael Corcoran$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/acpi/acpinex/%.c 367b72d5b75SMichael Corcoran @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3686732dbb3SVikram Hegde 369a3114836SGerry Liu$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/acpi/drmach_acpi/%.c 370a3114836SGerry Liu @($(LHEAD) $(LINT.c) $< $(LTAIL)) 371a3114836SGerry Liu 3726732dbb3SVikram Hegde$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/amd_iommu/%.c 3736732dbb3SVikram Hegde @($(LHEAD) $(LINT.c) $< $(LTAIL)) 374eca2601cSRandy Fishel 375a3114836SGerry Liu$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/dr/%.c 376a3114836SGerry Liu @($(LHEAD) $(LINT.c) $< $(LTAIL)) 377a3114836SGerry Liu 37817169044Sbrutus$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/ioat/%.c 37917169044Sbrutus @($(LHEAD) $(LINT.c) $< $(LTAIL)) 38017169044Sbrutus 3817c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/pci/%.c 3827c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3837c478bd9Sstevel@tonic-gate 38470025d76Sjohnny$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/pciex/%.c 38570025d76Sjohnny @($(LHEAD) $(LINT.c) $< $(LTAIL)) 38670025d76Sjohnny 38726947304SEvan Yan$(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/pciex/hotplug/%.c 38826947304SEvan Yan @($(LHEAD) $(LINT.c) $< $(LTAIL)) 38926947304SEvan Yan 3907c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/pcplusmp/%.c 3917c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3927c478bd9Sstevel@tonic-gate 3937c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/pcplusmp/%.s 3947c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.s) $< $(LTAIL)) 3957c478bd9Sstevel@tonic-gate 3967ff178cdSJimmy Vetayases$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/apix/%.c 3977ff178cdSJimmy Vetayases @($(LHEAD) $(LINT.c) $< $(LTAIL)) 3987ff178cdSJimmy Vetayases 3997ff178cdSJimmy Vetayases$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/apix/%.s 4007ff178cdSJimmy Vetayases @($(LHEAD) $(LINT.s) $< $(LTAIL)) 4017ff178cdSJimmy Vetayases 4022df1fe9cSrandyf$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/ppm/%.c 4032df1fe9cSrandyf @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4042df1fe9cSrandyf 4052df1fe9cSrandyf$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/ppm/%.s 4062df1fe9cSrandyf @($(LHEAD) $(LINT.s) $< $(LTAIL)) 4072df1fe9cSrandyf 4087c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/psm/%.c 4097c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4107c478bd9Sstevel@tonic-gate 4117c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/psm/%.s 4127c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.s) $< $(LTAIL)) 4137c478bd9Sstevel@tonic-gate 4142bda830bSap$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/tzmon/%.c 4152bda830bSap @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4162bda830bSap 4177c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/ml/%.s 4187c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.s) $< $(LTAIL)) 4197c478bd9Sstevel@tonic-gate 4207c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/os/%.c 4217c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4227c478bd9Sstevel@tonic-gate 4230e751525SEric Saxe$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/os/cpupm/%.c 4240e751525SEric Saxe @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4250e751525SEric Saxe 426ae115bc7Smrj$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/boot/%.c 427ae115bc7Smrj @($(LHEAD) $(LINT.c) $< $(LTAIL)) 428ae115bc7Smrj 429*1738dd6eSToomas Soome$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/dboot/%.c 430*1738dd6eSToomas Soome @($(LHEAD) $(LINT.c) $< $(LTAIL)) 431*1738dd6eSToomas Soome 4327c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/vm/%.c 4337c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4347c478bd9Sstevel@tonic-gate 435898c3fecSToomas Soome$(LINTS_DIR)/%.ln: $(UTSBASE)/common/font/%.c 436898c3fecSToomas Soome @($(LHEAD) $(LINT.c) $< $(LTAIL)) 437898c3fecSToomas Soome 4387c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/common/io/%.c 4397c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4407c478bd9Sstevel@tonic-gate 4415cff7825Smh$(LINTS_DIR)/%.ln: $(UTSBASE)/common/io/ppm/%.c 4425cff7825Smh @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4435cff7825Smh 444c0da6274SZhi-Jun Robin Fu$(LINTS_DIR)/%.ln: $(UTSBASE)/common/io/pciex/%.c 445c0da6274SZhi-Jun Robin Fu @($(LHEAD) $(LINT.c) $< $(LTAIL)) 446c0da6274SZhi-Jun Robin Fu 4477c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(UTSBASE)/common/os/%.c 4487c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4497c478bd9Sstevel@tonic-gate 4507c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(SRC)/common/dis/i386/%.c 4517c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4527c478bd9Sstevel@tonic-gate 4537c478bd9Sstevel@tonic-gate$(LINTS_DIR)/%.ln: $(SRC)/common/atomic/%.c 4547c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4557c478bd9Sstevel@tonic-gate 456ae115bc7Smrj$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/gfx_private/%.c 4577c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4587c478bd9Sstevel@tonic-gate 459ae115bc7Smrj$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/xsvc/%.c 4607c478bd9Sstevel@tonic-gate @($(LHEAD) $(LINT.c) $< $(LTAIL)) 4617c478bd9Sstevel@tonic-gate 462349b53ddSStuart Maybee$(LINTS_DIR)/%.ln: $(UTSBASE)/common/xen/os/%.c 463349b53ddSStuart Maybee @($(LHEAD) $(LINT.c) $< $(LTAIL)) 464349b53ddSStuart Maybee 465ae115bc7Smrj# 466ae115bc7Smrj# bios call has a funky name change while building 467ae115bc7Smrj# 468ae115bc7Smrj$(LINTS_DIR)/bios_call.ln: $(UTSBASE)/i86pc/ml/bios_call_src.s 469ae115bc7Smrj @($(LHEAD) $(LINT.s) $(UTSBASE)/i86pc/ml/bios_call_src.s $(LTAIL)) 470ae115bc7Smrj @mv $(LINTS_DIR)/bios_call_src.ln $(LINTS_DIR)/bios_call.ln 4717c478bd9Sstevel@tonic-gate 47219397407SSherry Moore# 47319397407SSherry Moore# So does fb_swtch 47419397407SSherry Moore# 47519397407SSherry Moore$(LINTS_DIR)/fb_swtch.ln: $(UTSBASE)/i86pc/ml/fb_swtch_src.s 47619397407SSherry Moore @($(LHEAD) $(LINT.s) $(UTSBASE)/i86pc/ml/fb_swtch_src.s $(LTAIL)) 47719397407SSherry Moore @mv $(LINTS_DIR)/fb_swtch_src.ln $(LINTS_DIR)/fb_swtch.ln 47819397407SSherry Moore 479ae115bc7Smrj# 480ae115bc7Smrj# dboot always compiles in 32-bit mode, so force lint to be 32-bit mode too. 481ae115bc7Smrj# 482ae115bc7Smrj$(DBOOT_LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/dboot/%.c 483ae115bc7Smrj @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL)) 48430082d0cSmyers 485ae115bc7Smrj$(DBOOT_LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/dboot/%.s 486ae115bc7Smrj @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL)) 487fc1821feSrugrat 488898c3fecSToomas Soome$(DBOOT_LINTS_DIR)/%.ln: $(DBOOT_LINTS_DIR)/%.c 489898c3fecSToomas Soome @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL)) 490898c3fecSToomas Soome 491898c3fecSToomas Soome$(DBOOT_LINTS_DIR)/%.ln: $(UTSBASE)/common/font/%.c 492898c3fecSToomas Soome @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL)) 493898c3fecSToomas Soome 494e65d07eeSKeith Wesolowski$(DBOOT_LINTS_DIR)/%.ln: $(COMMONBASE)/crypto/sha1/%.c 495e65d07eeSKeith Wesolowski @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL)) 496e65d07eeSKeith Wesolowski 497ae115bc7Smrj$(DBOOT_LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/boot/%.c 498ae115bc7Smrj @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL)) 49960405de4Skz 500ae115bc7Smrj$(DBOOT_LINTS_DIR)/%.ln: $(COMMONBASE)/util/%.c 501ae115bc7Smrj @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL)) 50260405de4Skz 503ae115bc7Smrj$(DBOOT_LINTS_DIR)/%.ln: $(COMMONBASE)/util/i386/%.s 504ae115bc7Smrj @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL)) 505