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> 25*eb00b1c8SRobert Mustacchi# Copyright 2019 Joyent, Inc. 26fe7a23c8SAndy Fiddaman# Copyright 2019 OmniOS Community Edition (OmniOSce) Association. 277c478bd9Sstevel@tonic-gate# 287c478bd9Sstevel@tonic-gate 297c478bd9Sstevel@tonic-gate# This Makefile defines the build rules for the directory uts/i86pc 307c478bd9Sstevel@tonic-gate# and its children. These are the source files which are i86pc 317c478bd9Sstevel@tonic-gate# "implementation architecture" dependent. 327c478bd9Sstevel@tonic-gate# 337c478bd9Sstevel@tonic-gate# The following two-level ordering must be maintained in this file. 347c478bd9Sstevel@tonic-gate# Lines are sorted first in order of decreasing specificity based on 35eb0cc229Sedp# the first directory component. That is, i86pc rules come before 36eb0cc229Sedp# intel rules come before common rules. 377c478bd9Sstevel@tonic-gate# 387c478bd9Sstevel@tonic-gate# Lines whose initial directory components are equal are sorted 397c478bd9Sstevel@tonic-gate# alphabetically by the remaining components. 407c478bd9Sstevel@tonic-gate 417c478bd9Sstevel@tonic-gate# 427c478bd9Sstevel@tonic-gate# Section 1a: C object build rules 437c478bd9Sstevel@tonic-gate# 447c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/conf/%.c 457c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 467c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 477c478bd9Sstevel@tonic-gate 487aec1d6eScindi$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/cpu/amd_opteron/%.c 497aec1d6eScindi $(COMPILE.c) -o $@ $< 507aec1d6eScindi $(CTFCONVERT_O) 517aec1d6eScindi 5220c794b3Sgavinm$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/cpu/authenticamd/%.c 5320c794b3Sgavinm $(COMPILE.c) -o $@ $< 5420c794b3Sgavinm $(CTFCONVERT_O) 557aec1d6eScindi 567aec1d6eScindi$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/cpu/generic_cpu/%.c 577aec1d6eScindi $(COMPILE.c) -o $@ $< 587aec1d6eScindi $(CTFCONVERT_O) 597aec1d6eScindi 6020c794b3Sgavinm$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/cpu/genuineintel/%.c 6120c794b3Sgavinm $(COMPILE.c) -o $@ $< 6220c794b3Sgavinm $(CTFCONVERT_O) 6320c794b3Sgavinm 647c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/%.c 657c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 667c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 677c478bd9Sstevel@tonic-gate 68d2ec54f7Sphitran$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/acpi_drv/%.c 697b840e52Sphitran $(COMPILE.c) -o $@ $< 707b840e52Sphitran $(CTFCONVERT_O) 717b840e52Sphitran 72eca2601cSRandy Fishel$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/fipe/%.c 73eca2601cSRandy Fishel $(COMPILE.c) -o $@ $< 74eca2601cSRandy Fishel $(CTFCONVERT_O) 75eca2601cSRandy Fishel 76b72d5b75SMichael Corcoran$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/acpi/acpidev/%.c 77b72d5b75SMichael Corcoran $(COMPILE.c) -o $@ $< 78b72d5b75SMichael Corcoran $(CTFCONVERT_O) 79b72d5b75SMichael Corcoran 80b72d5b75SMichael Corcoran$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/acpi/acpinex/%.c 81b72d5b75SMichael Corcoran $(COMPILE.c) -o $@ $< 82b72d5b75SMichael Corcoran $(CTFCONVERT_O) 83b72d5b75SMichael Corcoran 84a3114836SGerry LiuSBD_IOCTL = $(UTSBASE)/i86pc/sys/sbd_ioctl.h 85a3114836SGerry LiuDRMACH_IO = $(UTSBASE)/i86pc/io/acpi/drmach_acpi 86a3114836SGerry LiuDRMACH_GENERR = $(DRMACH_IO)/sbdgenerr 87a3114836SGerry LiuDR_IO = $(UTSBASE)/i86pc/io/dr 88a3114836SGerry LiuDR_GENERR = $(DR_IO)/sbdgenerr 89a3114836SGerry Liu 90a3114836SGerry Liu$(DRMACH_GENERR): $(DR_IO)/sbdgenerr.pl 91a3114836SGerry Liu $(RM) $@ 92a3114836SGerry Liu $(CAT) $(DR_IO)/sbdgenerr.pl > $@ 93a3114836SGerry Liu $(CHMOD) +x $@ 94a3114836SGerry Liu 95a3114836SGerry Liu$(DRMACH_IO)/drmach_err.c: $(DRMACH_GENERR) $(SBD_IOCTL) 96a3114836SGerry Liu $(RM) $@ 97a3114836SGerry Liu $(DRMACH_GENERR) EX86 < $(SBD_IOCTL) > $(DRMACH_IO)/drmach_err.c 98a3114836SGerry Liu 99a3114836SGerry Liu$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/acpi/drmach_acpi/%.c 100a3114836SGerry Liu $(COMPILE.c) -o $@ $< 101a3114836SGerry Liu $(CTFCONVERT_O) 102a3114836SGerry Liu 1036732dbb3SVikram Hegde$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/amd_iommu/%.c 1046732dbb3SVikram Hegde $(COMPILE.c) -o $@ $< 1056732dbb3SVikram Hegde $(CTFCONVERT_O) 1066732dbb3SVikram Hegde 107a3114836SGerry Liu$(DR_GENERR): $(DR_IO)/sbdgenerr.pl 108a3114836SGerry Liu $(RM) $@ 109a3114836SGerry Liu $(CAT) $(DR_IO)/sbdgenerr.pl > $@ 110a3114836SGerry Liu $(CHMOD) +x $@ 111a3114836SGerry Liu 112a3114836SGerry Liu$(DR_IO)/dr_err.c: $(DR_GENERR) $(SBD_IOCTL) 113a3114836SGerry Liu $(RM) $@ 114a3114836SGerry Liu $(DR_GENERR) ESBD < $(SBD_IOCTL) > $(DR_IO)/dr_err.c 115a3114836SGerry Liu 116a3114836SGerry Liu$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/dr/%.c 117a3114836SGerry Liu $(COMPILE.c) -o $@ $< 118a3114836SGerry Liu $(CTFCONVERT_O) 119a3114836SGerry Liu 12017169044Sbrutus$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/ioat/%.c 12117169044Sbrutus $(COMPILE.c) -o $@ $< 12217169044Sbrutus $(CTFCONVERT_O) 12317169044Sbrutus 124*eb00b1c8SRobert Mustacchi$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/imc/%.c 125*eb00b1c8SRobert Mustacchi $(COMPILE.c) -o $@ $< 126*eb00b1c8SRobert Mustacchi $(CTFCONVERT_O) 127*eb00b1c8SRobert Mustacchi 128*eb00b1c8SRobert Mustacchi$(OBJS_DIR)/%.o: $(SRC)/common/mc/imc/%.c 129*eb00b1c8SRobert Mustacchi $(COMPILE.c) -o $@ $< 130*eb00b1c8SRobert Mustacchi $(CTFCONVERT_O) 131*eb00b1c8SRobert Mustacchi 1327c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/pci/%.c 1337c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1347c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1357c478bd9Sstevel@tonic-gate 13670025d76Sjohnny$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/pciex/%.c 13770025d76Sjohnny $(COMPILE.c) -o $@ $< 13870025d76Sjohnny $(CTFCONVERT_O) 13970025d76Sjohnny 14026947304SEvan Yan$(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/pciex/hotplug/%.c 14126947304SEvan Yan $(COMPILE.c) -o $@ $< 14226947304SEvan Yan $(CTFCONVERT_O) 14326947304SEvan Yan 1447c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/pcplusmp/%.c 1457c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1467c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1477c478bd9Sstevel@tonic-gate 1487c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/pcplusmp/%.s 1497c478bd9Sstevel@tonic-gate $(COMPILE.s) -o $@ $< 1507c478bd9Sstevel@tonic-gate 1517ff178cdSJimmy Vetayases$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/apix/%.c 1527ff178cdSJimmy Vetayases $(COMPILE.c) -o $@ $< 1537ff178cdSJimmy Vetayases $(CTFCONVERT_O) 1547ff178cdSJimmy Vetayases 1552df1fe9cSrandyf$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/ppm/%.c 1562df1fe9cSrandyf $(COMPILE.c) -o $@ $< 1572df1fe9cSrandyf $(CTFCONVERT_O) 1582df1fe9cSrandyf 1592df1fe9cSrandyf$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/ppm/%.s 1602df1fe9cSrandyf $(COMPILE.s) -o $@ $< 1612df1fe9cSrandyf 1627c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/psm/%.c 1637c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1647c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1657c478bd9Sstevel@tonic-gate 1667c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/psm/%.s 1677c478bd9Sstevel@tonic-gate $(COMPILE.s) -o $@ $< 1687c478bd9Sstevel@tonic-gate 1692bda830bSap$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/tzmon/%.c 1702bda830bSap $(COMPILE.c) -o $@ $< 1712bda830bSap $(CTFCONVERT_O) 1722bda830bSap 1737c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/ml/%.s 1747c478bd9Sstevel@tonic-gate $(COMPILE.s) -o $@ $< 1757c478bd9Sstevel@tonic-gate 1767c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/os/%.c 1776a59053bSAlex Wilson $(COMPILE.c) -_gcc=-fno-stack-protector -o $@ $< 1787c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1797c478bd9Sstevel@tonic-gate 1800e751525SEric Saxe$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/os/cpupm/%.c 1810e751525SEric Saxe $(COMPILE.c) -o $@ $< 1820e751525SEric Saxe $(CTFCONVERT_O) 1830e751525SEric Saxe 184ae115bc7Smrj$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/boot/%.c 185ae115bc7Smrj $(COMPILE.c) -o $@ $< 186ae115bc7Smrj $(CTFCONVERT_O) 187ae115bc7Smrj 1887c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/vm/%.c 1897c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1907c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1917c478bd9Sstevel@tonic-gate 1927c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/common/io/%.c 1937c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1947c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1957c478bd9Sstevel@tonic-gate 1965cff7825Smh$(OBJS_DIR)/%.o: $(UTSBASE)/common/io/ppm/%.c 1975cff7825Smh $(COMPILE.c) -o $@ $< 1985cff7825Smh $(CTFCONVERT_O) 1995cff7825Smh 200c0da6274SZhi-Jun Robin Fu$(OBJS_DIR)/%.o: $(UTSBASE)/common/io/pciex/%.c 201c0da6274SZhi-Jun Robin Fu $(COMPILE.c) -o $@ $< 202c0da6274SZhi-Jun Robin Fu $(CTFCONVERT_O) 203c0da6274SZhi-Jun Robin Fu 2047c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/common/os/%.c 2057c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2067c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 2077c478bd9Sstevel@tonic-gate 2087c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(SRC)/common/dis/i386/%.c 2097c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2107c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 2117c478bd9Sstevel@tonic-gate 212fc1821feSrugrat$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/gfx_private/%.c 213fc1821feSrugrat $(COMPILE.c) -o $@ $< 214fc1821feSrugrat $(CTFCONVERT_O) 215fc1821feSrugrat 216ae115bc7Smrj$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/xsvc/%.c 21760405de4Skz $(COMPILE.c) -o $@ $< 21860405de4Skz $(CTFCONVERT_O) 21960405de4Skz 220349b53ddSStuart Maybee$(OBJS_DIR)/%.o: $(UTSBASE)/common/xen/os/%.c 221349b53ddSStuart Maybee $(COMPILE.c) -o $@ $< 222349b53ddSStuart Maybee $(CTFCONVERT_O) 223349b53ddSStuart Maybee 2241738dd6eSToomas Soome$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/dboot/%.c 2251738dd6eSToomas Soome $(COMPILE.c) -o $@ $< 2261738dd6eSToomas Soome $(CTFCONVERT_O) 2271738dd6eSToomas Soome 228ae115bc7Smrj# 229ae115bc7Smrj# dboot stuff is always 32 bit, linked to run with phys_addr == virt_addr 230ae115bc7Smrj# 231ae115bc7SmrjDBOOT_OBJS_DIR = dboot/$(OBJS_DIR) 232ae115bc7SmrjDBOOT_MACH_32 = -D_BOOT_TARGET_i386 233ae115bc7SmrjDBOOT_MACH_64 = -D_BOOT_TARGET_amd64 234ae115bc7SmrjDBOOT_DEFS = -D_BOOT $(DBOOT_MACH_$(CLASS)) 2353c4c5929SGordon RossDBOOT_DEFS += -D_MACHDEP -U_KERNEL -D_I32LPx 2369e59ac1cSToomas SoomeDBOOT_FLAGS = $(CFLAGS_XARCH_32) $(CCVERBOSE) $(CSTD) $(CERRWARN) 2379e59ac1cSToomas SoomeDBOOT_FLAGS += $(CCNOAUTOINLINE) 238fd358c0dSmyers 2390181461bSKeith M WesolowskiDBOOT_CC_INCL = -I$(SRC)/common -I$(SRC)/common/util $(INCLUDE_PATH) 240ae115bc7SmrjDBOOT_AS_INCL = $(AS_INC_PATH) 2417aec1d6eScindi 242ae115bc7SmrjDBOOT_AS = $(ONBLD_TOOLS)/bin/$(MACH)/aw 2437c478bd9Sstevel@tonic-gate 244ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/i86pc/boot/%.c 2456a3e8e86SRichard Lowe $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 2467c478bd9Sstevel@tonic-gate 247ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/i86pc/dboot/%.c 2486a3e8e86SRichard Lowe $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 2497c478bd9Sstevel@tonic-gate 250551bc2a6Smrj$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/intel/ia32/%.s 251551bc2a6Smrj $(DBOOT_AS) -P -D_ASM $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $< 252551bc2a6Smrj 253cbc8e155SToomas Soome$(DBOOT_OBJS_DIR)/%.o: $(SRC)/common/font/%.c 254898c3fecSToomas Soome $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 255898c3fecSToomas Soome 256cbc8e155SToomas Soome$(DBOOT_OBJS_DIR)/$(FONT).c: $(FONT_DIR)/$(FONT_SRC).bdf 257cbc8e155SToomas Soome $(VTFONTCVT) -f source -o $@ $(FONT_DIR)/$(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) 335