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> 25eb00b1c8SRobert Mustacchi# Copyright 2019 Joyent, Inc. 26fe7a23c8SAndy Fiddaman# Copyright 2019 OmniOS Community Edition (OmniOSce) Association. 279e3aeadeSAndy Fiddaman# Copyright 2022 Oxide Computer Company 287c478bd9Sstevel@tonic-gate# 297c478bd9Sstevel@tonic-gate 307c478bd9Sstevel@tonic-gate# This Makefile defines the build rules for the directory uts/i86pc 317c478bd9Sstevel@tonic-gate# and its children. These are the source files which are i86pc 327c478bd9Sstevel@tonic-gate# "implementation architecture" dependent. 337c478bd9Sstevel@tonic-gate# 347c478bd9Sstevel@tonic-gate# The following two-level ordering must be maintained in this file. 357c478bd9Sstevel@tonic-gate# Lines are sorted first in order of decreasing specificity based on 36eb0cc229Sedp# the first directory component. That is, i86pc rules come before 37eb0cc229Sedp# intel rules come before common rules. 387c478bd9Sstevel@tonic-gate# 397c478bd9Sstevel@tonic-gate# Lines whose initial directory components are equal are sorted 407c478bd9Sstevel@tonic-gate# alphabetically by the remaining components. 417c478bd9Sstevel@tonic-gate 427c478bd9Sstevel@tonic-gate# 437c478bd9Sstevel@tonic-gate# Section 1a: C object build rules 447c478bd9Sstevel@tonic-gate# 457c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/conf/%.c 467c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 477c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 487c478bd9Sstevel@tonic-gate 497aec1d6eScindi$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/cpu/amd_opteron/%.c 507aec1d6eScindi $(COMPILE.c) -o $@ $< 517aec1d6eScindi $(CTFCONVERT_O) 527aec1d6eScindi 5320c794b3Sgavinm$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/cpu/authenticamd/%.c 5420c794b3Sgavinm $(COMPILE.c) -o $@ $< 5520c794b3Sgavinm $(CTFCONVERT_O) 567aec1d6eScindi 577aec1d6eScindi$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/cpu/generic_cpu/%.c 587aec1d6eScindi $(COMPILE.c) -o $@ $< 597aec1d6eScindi $(CTFCONVERT_O) 607aec1d6eScindi 6120c794b3Sgavinm$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/cpu/genuineintel/%.c 6220c794b3Sgavinm $(COMPILE.c) -o $@ $< 6320c794b3Sgavinm $(CTFCONVERT_O) 6420c794b3Sgavinm 657c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/%.c 667c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 677c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 687c478bd9Sstevel@tonic-gate 69d2ec54f7Sphitran$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/acpi_drv/%.c 707b840e52Sphitran $(COMPILE.c) -o $@ $< 717b840e52Sphitran $(CTFCONVERT_O) 727b840e52Sphitran 73eca2601cSRandy Fishel$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/fipe/%.c 74eca2601cSRandy Fishel $(COMPILE.c) -o $@ $< 75eca2601cSRandy Fishel $(CTFCONVERT_O) 76eca2601cSRandy Fishel 77b72d5b75SMichael Corcoran$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/acpi/acpidev/%.c 78b72d5b75SMichael Corcoran $(COMPILE.c) -o $@ $< 79b72d5b75SMichael Corcoran $(CTFCONVERT_O) 80b72d5b75SMichael Corcoran 81b72d5b75SMichael Corcoran$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/acpi/acpinex/%.c 82b72d5b75SMichael Corcoran $(COMPILE.c) -o $@ $< 83b72d5b75SMichael Corcoran $(CTFCONVERT_O) 84b72d5b75SMichael Corcoran 85a3114836SGerry LiuSBD_IOCTL = $(UTSBASE)/i86pc/sys/sbd_ioctl.h 86a3114836SGerry LiuDRMACH_IO = $(UTSBASE)/i86pc/io/acpi/drmach_acpi 87a3114836SGerry LiuDRMACH_GENERR = $(DRMACH_IO)/sbdgenerr 88a3114836SGerry LiuDR_IO = $(UTSBASE)/i86pc/io/dr 89a3114836SGerry LiuDR_GENERR = $(DR_IO)/sbdgenerr 90a3114836SGerry Liu 91a3114836SGerry Liu$(DRMACH_GENERR): $(DR_IO)/sbdgenerr.pl 92a3114836SGerry Liu $(RM) $@ 93a3114836SGerry Liu $(CAT) $(DR_IO)/sbdgenerr.pl > $@ 94a3114836SGerry Liu $(CHMOD) +x $@ 95a3114836SGerry Liu 96a3114836SGerry Liu$(DRMACH_IO)/drmach_err.c: $(DRMACH_GENERR) $(SBD_IOCTL) 97a3114836SGerry Liu $(RM) $@ 98a3114836SGerry Liu $(DRMACH_GENERR) EX86 < $(SBD_IOCTL) > $(DRMACH_IO)/drmach_err.c 99a3114836SGerry Liu 100a3114836SGerry Liu$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/acpi/drmach_acpi/%.c 101a3114836SGerry Liu $(COMPILE.c) -o $@ $< 102a3114836SGerry Liu $(CTFCONVERT_O) 103a3114836SGerry Liu 1046732dbb3SVikram Hegde$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/amd_iommu/%.c 1056732dbb3SVikram Hegde $(COMPILE.c) -o $@ $< 1066732dbb3SVikram Hegde $(CTFCONVERT_O) 1076732dbb3SVikram Hegde 108a3114836SGerry Liu$(DR_GENERR): $(DR_IO)/sbdgenerr.pl 109a3114836SGerry Liu $(RM) $@ 110a3114836SGerry Liu $(CAT) $(DR_IO)/sbdgenerr.pl > $@ 111a3114836SGerry Liu $(CHMOD) +x $@ 112a3114836SGerry Liu 113a3114836SGerry Liu$(DR_IO)/dr_err.c: $(DR_GENERR) $(SBD_IOCTL) 114a3114836SGerry Liu $(RM) $@ 115a3114836SGerry Liu $(DR_GENERR) ESBD < $(SBD_IOCTL) > $(DR_IO)/dr_err.c 116a3114836SGerry Liu 117a3114836SGerry Liu$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/dr/%.c 118a3114836SGerry Liu $(COMPILE.c) -o $@ $< 119a3114836SGerry Liu $(CTFCONVERT_O) 120a3114836SGerry Liu 12117169044Sbrutus$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/ioat/%.c 12217169044Sbrutus $(COMPILE.c) -o $@ $< 12317169044Sbrutus $(CTFCONVERT_O) 12417169044Sbrutus 1257c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/pci/%.c 1267c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1277c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1287c478bd9Sstevel@tonic-gate 12970025d76Sjohnny$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/pciex/%.c 13070025d76Sjohnny $(COMPILE.c) -o $@ $< 13170025d76Sjohnny $(CTFCONVERT_O) 13270025d76Sjohnny 13326947304SEvan Yan$(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/pciex/hotplug/%.c 13426947304SEvan Yan $(COMPILE.c) -o $@ $< 13526947304SEvan Yan $(CTFCONVERT_O) 13626947304SEvan Yan 1377c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/pcplusmp/%.c 1387c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1397c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1407c478bd9Sstevel@tonic-gate 141*5d9d9091SRichard Lowe$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/pcplusmp/%.S 1427c478bd9Sstevel@tonic-gate $(COMPILE.s) -o $@ $< 1437c478bd9Sstevel@tonic-gate 1447ff178cdSJimmy Vetayases$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/apix/%.c 1457ff178cdSJimmy Vetayases $(COMPILE.c) -o $@ $< 1467ff178cdSJimmy Vetayases $(CTFCONVERT_O) 1477ff178cdSJimmy Vetayases 1482df1fe9cSrandyf$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/ppm/%.c 1492df1fe9cSrandyf $(COMPILE.c) -o $@ $< 1502df1fe9cSrandyf $(CTFCONVERT_O) 1512df1fe9cSrandyf 152*5d9d9091SRichard Lowe$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/ppm/%.S 1532df1fe9cSrandyf $(COMPILE.s) -o $@ $< 1542df1fe9cSrandyf 1557c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/psm/%.c 1567c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1577c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1587c478bd9Sstevel@tonic-gate 159*5d9d9091SRichard Lowe$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/psm/%.S 1607c478bd9Sstevel@tonic-gate $(COMPILE.s) -o $@ $< 1617c478bd9Sstevel@tonic-gate 1622bda830bSap$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/tzmon/%.c 1632bda830bSap $(COMPILE.c) -o $@ $< 1642bda830bSap $(CTFCONVERT_O) 1652bda830bSap 166*5d9d9091SRichard Lowe$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/ml/%.S 1677c478bd9Sstevel@tonic-gate $(COMPILE.s) -o $@ $< 1687c478bd9Sstevel@tonic-gate 1697c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/os/%.c 1706a59053bSAlex Wilson $(COMPILE.c) -_gcc=-fno-stack-protector -o $@ $< 1717c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1727c478bd9Sstevel@tonic-gate 1730e751525SEric Saxe$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/os/cpupm/%.c 1740e751525SEric Saxe $(COMPILE.c) -o $@ $< 1750e751525SEric Saxe $(CTFCONVERT_O) 1760e751525SEric Saxe 1779e3aeadeSAndy Fiddaman$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/promif/%.c 1789e3aeadeSAndy Fiddaman $(COMPILE.c) -o $@ $< 1799e3aeadeSAndy Fiddaman $(CTFCONVERT_O) 1809e3aeadeSAndy Fiddaman 181ae115bc7Smrj$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/boot/%.c 182ae115bc7Smrj $(COMPILE.c) -o $@ $< 183ae115bc7Smrj $(CTFCONVERT_O) 184ae115bc7Smrj 1857c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/vm/%.c 1867c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1877c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1887c478bd9Sstevel@tonic-gate 1897c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/common/io/%.c 1907c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1917c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1927c478bd9Sstevel@tonic-gate 1935cff7825Smh$(OBJS_DIR)/%.o: $(UTSBASE)/common/io/ppm/%.c 1945cff7825Smh $(COMPILE.c) -o $@ $< 1955cff7825Smh $(CTFCONVERT_O) 1965cff7825Smh 197c0da6274SZhi-Jun Robin Fu$(OBJS_DIR)/%.o: $(UTSBASE)/common/io/pciex/%.c 198c0da6274SZhi-Jun Robin Fu $(COMPILE.c) -o $@ $< 199c0da6274SZhi-Jun Robin Fu $(CTFCONVERT_O) 200c0da6274SZhi-Jun Robin Fu 2017c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/common/os/%.c 2027c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2037c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 2047c478bd9Sstevel@tonic-gate 2057c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(SRC)/common/dis/i386/%.c 2067c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2077c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 2087c478bd9Sstevel@tonic-gate 209fc1821feSrugrat$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/gfx_private/%.c 210fc1821feSrugrat $(COMPILE.c) -o $@ $< 211fc1821feSrugrat $(CTFCONVERT_O) 212fc1821feSrugrat 213ae115bc7Smrj$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/xsvc/%.c 21460405de4Skz $(COMPILE.c) -o $@ $< 21560405de4Skz $(CTFCONVERT_O) 21660405de4Skz 217349b53ddSStuart Maybee$(OBJS_DIR)/%.o: $(UTSBASE)/common/xen/os/%.c 218349b53ddSStuart Maybee $(COMPILE.c) -o $@ $< 219349b53ddSStuart Maybee $(CTFCONVERT_O) 220349b53ddSStuart Maybee 2211738dd6eSToomas Soome$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/dboot/%.c 2221738dd6eSToomas Soome $(COMPILE.c) -o $@ $< 2234c87aefeSPatrick Mooney $(CTFCONVERT_O) 2244c87aefeSPatrick Mooney 225ae115bc7Smrj# 226ae115bc7Smrj# dboot stuff is always 32 bit, linked to run with phys_addr == virt_addr 227ae115bc7Smrj# 228ae115bc7SmrjDBOOT_OBJS_DIR = dboot/$(OBJS_DIR) 229ae115bc7SmrjDBOOT_MACH_32 = -D_BOOT_TARGET_i386 230ae115bc7SmrjDBOOT_MACH_64 = -D_BOOT_TARGET_amd64 231ae115bc7SmrjDBOOT_DEFS = -D_BOOT $(DBOOT_MACH_$(CLASS)) 2323c4c5929SGordon RossDBOOT_DEFS += -D_MACHDEP -U_KERNEL -D_I32LPx 2339e59ac1cSToomas SoomeDBOOT_FLAGS = $(CFLAGS_XARCH_32) $(CCVERBOSE) $(CSTD) $(CERRWARN) 2349e59ac1cSToomas SoomeDBOOT_FLAGS += $(CCNOAUTOINLINE) 235*5d9d9091SRichard LoweDBOOT_ASFLAGS = $(ASFLAGS_XARCH_32) -D_ASM 236fd358c0dSmyers 2370181461bSKeith M WesolowskiDBOOT_CC_INCL = -I$(SRC)/common -I$(SRC)/common/util $(INCLUDE_PATH) 238ae115bc7SmrjDBOOT_AS_INCL = $(AS_INC_PATH) 2397aec1d6eScindi 240ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/i86pc/boot/%.c 2416a3e8e86SRichard Lowe $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 2427c478bd9Sstevel@tonic-gate 243ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/i86pc/dboot/%.c 2446a3e8e86SRichard Lowe $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 2457c478bd9Sstevel@tonic-gate 246cbc8e155SToomas Soome$(DBOOT_OBJS_DIR)/%.o: $(SRC)/common/font/%.c 247898c3fecSToomas Soome $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 248898c3fecSToomas Soome 249cbc8e155SToomas Soome$(DBOOT_OBJS_DIR)/$(FONT).c: $(FONT_DIR)/$(FONT_SRC).bdf 250cbc8e155SToomas Soome $(VTFONTCVT) -f source -o $@ $(FONT_DIR)/$(FONT_SRC).bdf 251898c3fecSToomas Soome 252898c3fecSToomas Soome$(DBOOT_OBJS_DIR)/%.o: $(DBOOT_OBJS_DIR)/%.c 253898c3fecSToomas Soome $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 254898c3fecSToomas Soome 255e65d07eeSKeith Wesolowski$(DBOOT_OBJS_DIR)/%.o: $(COMMONBASE)/crypto/sha1/%.c 2567f11fd00SRichard Lowe $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 257e65d07eeSKeith Wesolowski 258898c3fecSToomas Soome$(DBOOT_OBJS_DIR)/%.o: $(DBOOT_OBJS_DIR)/%.c 259898c3fecSToomas Soome $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 260898c3fecSToomas Soome 261ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(COMMONBASE)/util/%.c 2626a3e8e86SRichard Lowe $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 2637c478bd9Sstevel@tonic-gate 264*5d9d9091SRichard Lowe$(DBOOT_OBJS_DIR)/%.o: $(COMMONBASE)/util/i386/%.S 265*5d9d9091SRichard Lowe $(AS) $(DBOOT_DEFS) $(DBOOT_ASFLAGS) $(DBOOT_AS_INCL) -c -o $@ $< 2667c478bd9Sstevel@tonic-gate 267*5d9d9091SRichard Lowe$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/i86pc/dboot/%.S 268*5d9d9091SRichard Lowe $(AS) $(DBOOT_DEFS) $(DBOOT_ASFLAGS) $(DBOOT_AS_INCL) -c -o $@ $< 2697c478bd9Sstevel@tonic-gate 270ae115bc7Smrj# 271ae115bc7Smrj# Stuff to build bios_call.o for the kernel. 272ae115bc7Smrj# 273ae115bc7SmrjMAPFILE_BIOS = $(UTSBASE)/i86pc/conf/Mapfile.bios 274*5d9d9091SRichard Lowe$(OBJS_DIR)/bios_call.o: $(UTSBASE)/i86pc/ml/bios_call_src.S 275ae115bc7Smrj $(COMPILE.s) -o $(OBJS_DIR)/bios_call_src.o \ 276*5d9d9091SRichard Lowe $(UTSBASE)/i86pc/ml/bios_call_src.S 277ae115bc7Smrj $(LD) -dn -M $(MAPFILE_BIOS) \ 278ae115bc7Smrj -o $(OBJS_DIR)/bios_call_src $(OBJS_DIR)/bios_call_src.o 279ae115bc7Smrj @echo " .data" > $(OBJS_DIR)/bios_call.s 280ae115bc7Smrj @echo " .globl bios_image" >> $(OBJS_DIR)/bios_call.s 281ae115bc7Smrj @echo "bios_image:" >> $(OBJS_DIR)/bios_call.s 282ae115bc7Smrj $(ELFEXTRACT) $(OBJS_DIR)/bios_call_src >> $(OBJS_DIR)/bios_call.s 283ae115bc7Smrj @echo " .align 4" >> $(OBJS_DIR)/bios_call.s 284ae115bc7Smrj @echo " .globl bios_size" >> $(OBJS_DIR)/bios_call.s 285ae115bc7Smrj @echo "bios_size:" >> $(OBJS_DIR)/bios_call.s 286ae115bc7Smrj @echo " .long . - bios_image" >> $(OBJS_DIR)/bios_call.s 287ae115bc7Smrj $(COMPILE.s) -o $@ $(OBJS_DIR)/bios_call.s 2887c478bd9Sstevel@tonic-gate 28919397407SSherry Moore# 29019397407SSherry Moore# Stuff to build fb_swtch.o for the kernel. 29119397407SSherry Moore# 29219397407SSherry MooreMAPFILE_FBSWTCH = $(UTSBASE)/i86pc/conf/Mapfile.fb_swtch 293*5d9d9091SRichard Lowe$(OBJS_DIR)/fb_swtch.o: $(UTSBASE)/i86pc/ml/fb_swtch_src.S 29419397407SSherry Moore $(COMPILE.s) -o $(OBJS_DIR)/fb_swtch_src.o \ 295*5d9d9091SRichard Lowe $(UTSBASE)/i86pc/ml/fb_swtch_src.S 29619397407SSherry Moore $(LD) -dn -M $(MAPFILE_FBSWTCH) \ 29719397407SSherry Moore -o $(OBJS_DIR)/fb_swtch_src $(OBJS_DIR)/fb_swtch_src.o 29819397407SSherry Moore @echo " .data" > $(OBJS_DIR)/fb_swtch.s 29919397407SSherry Moore @echo " .globl fb_swtch_image" >> $(OBJS_DIR)/fb_swtch.s 30019397407SSherry Moore @echo "fb_swtch_image:" >> $(OBJS_DIR)/fb_swtch.s 30119397407SSherry Moore $(ELFEXTRACT) $(OBJS_DIR)/fb_swtch_src >> $(OBJS_DIR)/fb_swtch.s 30219397407SSherry Moore @echo " .align 4" >> $(OBJS_DIR)/fb_swtch.s 30319397407SSherry Moore @echo " .globl fb_swtch_size" >> $(OBJS_DIR)/fb_swtch.s 30419397407SSherry Moore @echo "fb_swtch_size:" >> $(OBJS_DIR)/fb_swtch.s 30519397407SSherry Moore @echo " .long . - fb_swtch_image" >> $(OBJS_DIR)/fb_swtch.s 30619397407SSherry Moore $(COMPILE.s) -o $@ $(OBJS_DIR)/fb_swtch.s 30719397407SSherry Moore 308ae115bc7Smrj# ridiculous contortions --- 309ae115bc7SmrjATOMIC_SUBDIR_32 = i386 310ae115bc7SmrjATOMIC_SUBDIR_64 = amd64 311ae115bc7SmrjATOMIC_SUBDIR = $(ATOMIC_SUBDIR_$(CLASS)) 3127c478bd9Sstevel@tonic-gate 313ae115bc7Smrj$(OBJS_DIR)/%.o: $(SRC)/common/atomic/$(ATOMIC_SUBDIR)/%.s 314ae115bc7Smrj $(COMPILE.s) -o $@ $< 3157c478bd9Sstevel@tonic-gate 316*5d9d9091SRichard Lowe$(OBJS_DIR)/%.o: $(SRC)/common/atomic/$(ATOMIC_SUBDIR)/%.S 317*5d9d9091SRichard Lowe $(COMPILE.s) -o $@ $< 318*5d9d9091SRichard Lowe 319ae115bc7Smrj# 320ae115bc7Smrj# dtrace stubs 321ae115bc7Smrj# 32230082d0cSmyers 3237c478bd9Sstevel@tonic-gate$(OBJS_DIR)/dtracestubs.s: $(UNIX_O) $(LIBS) 324425251fdSSam Gwydir $(NM) -u $(UNIX_O) $(LIBS) | \ 325425251fdSSam Gwydir $(EGREP) '(__dtrace_probe_|smap_(disable|enable))' | $(SORT) | \ 3267b07063dSIgor Kozhukhov $(UNIQ) | $(AWK) '{ \ 3277c478bd9Sstevel@tonic-gate printf("\t.globl %s\n\t.type %s,@function\n%s:\n", \ 3287c478bd9Sstevel@tonic-gate $$1, $$1, $$1); }' > $(OBJS_DIR)/dtracestubs.s 3297c478bd9Sstevel@tonic-gate 3307c478bd9Sstevel@tonic-gate$(DTRACESTUBS): $(DTRACESTUBS_O) 33102e56f3fSwesolows $(BUILD.SO) $(DTRACESTUBS_O) 332