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*fe7a23c8SAndy Fiddaman# Copyright 2019 OmniOS Community Edition (OmniOSce) Association. 267c478bd9Sstevel@tonic-gate# 277c478bd9Sstevel@tonic-gate 287c478bd9Sstevel@tonic-gate# This Makefile defines the build rules for the directory uts/i86pc 297c478bd9Sstevel@tonic-gate# and its children. These are the source files which are i86pc 307c478bd9Sstevel@tonic-gate# "implementation architecture" dependent. 317c478bd9Sstevel@tonic-gate# 327c478bd9Sstevel@tonic-gate# The following two-level ordering must be maintained in this file. 337c478bd9Sstevel@tonic-gate# Lines are sorted first in order of decreasing specificity based on 34eb0cc229Sedp# the first directory component. That is, i86pc rules come before 35eb0cc229Sedp# intel rules come before common rules. 367c478bd9Sstevel@tonic-gate# 377c478bd9Sstevel@tonic-gate# Lines whose initial directory components are equal are sorted 387c478bd9Sstevel@tonic-gate# alphabetically by the remaining components. 397c478bd9Sstevel@tonic-gate 407c478bd9Sstevel@tonic-gate# 417c478bd9Sstevel@tonic-gate# Section 1a: C object build rules 427c478bd9Sstevel@tonic-gate# 437c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/conf/%.c 447c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 457c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 467c478bd9Sstevel@tonic-gate 477aec1d6eScindi$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/cpu/amd_opteron/%.c 487aec1d6eScindi $(COMPILE.c) -o $@ $< 497aec1d6eScindi $(CTFCONVERT_O) 507aec1d6eScindi 5120c794b3Sgavinm$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/cpu/authenticamd/%.c 5220c794b3Sgavinm $(COMPILE.c) -o $@ $< 5320c794b3Sgavinm $(CTFCONVERT_O) 547aec1d6eScindi 557aec1d6eScindi$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/cpu/generic_cpu/%.c 567aec1d6eScindi $(COMPILE.c) -o $@ $< 577aec1d6eScindi $(CTFCONVERT_O) 587aec1d6eScindi 5920c794b3Sgavinm$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/cpu/genuineintel/%.c 6020c794b3Sgavinm $(COMPILE.c) -o $@ $< 6120c794b3Sgavinm $(CTFCONVERT_O) 6220c794b3Sgavinm 637c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/%.c 647c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 657c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 667c478bd9Sstevel@tonic-gate 67d2ec54f7Sphitran$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/acpi_drv/%.c 687b840e52Sphitran $(COMPILE.c) -o $@ $< 697b840e52Sphitran $(CTFCONVERT_O) 707b840e52Sphitran 71eca2601cSRandy Fishel$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/fipe/%.c 72eca2601cSRandy Fishel $(COMPILE.c) -o $@ $< 73eca2601cSRandy Fishel $(CTFCONVERT_O) 74eca2601cSRandy Fishel 75b72d5b75SMichael Corcoran$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/acpi/acpidev/%.c 76b72d5b75SMichael Corcoran $(COMPILE.c) -o $@ $< 77b72d5b75SMichael Corcoran $(CTFCONVERT_O) 78b72d5b75SMichael Corcoran 79b72d5b75SMichael Corcoran$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/acpi/acpinex/%.c 80b72d5b75SMichael Corcoran $(COMPILE.c) -o $@ $< 81b72d5b75SMichael Corcoran $(CTFCONVERT_O) 82b72d5b75SMichael Corcoran 83a3114836SGerry LiuSBD_IOCTL = $(UTSBASE)/i86pc/sys/sbd_ioctl.h 84a3114836SGerry LiuDRMACH_IO = $(UTSBASE)/i86pc/io/acpi/drmach_acpi 85a3114836SGerry LiuDRMACH_GENERR = $(DRMACH_IO)/sbdgenerr 86a3114836SGerry LiuDR_IO = $(UTSBASE)/i86pc/io/dr 87a3114836SGerry LiuDR_GENERR = $(DR_IO)/sbdgenerr 88a3114836SGerry Liu 89a3114836SGerry Liu$(DRMACH_GENERR): $(DR_IO)/sbdgenerr.pl 90a3114836SGerry Liu $(RM) $@ 91a3114836SGerry Liu $(CAT) $(DR_IO)/sbdgenerr.pl > $@ 92a3114836SGerry Liu $(CHMOD) +x $@ 93a3114836SGerry Liu 94a3114836SGerry Liu$(DRMACH_IO)/drmach_err.c: $(DRMACH_GENERR) $(SBD_IOCTL) 95a3114836SGerry Liu $(RM) $@ 96a3114836SGerry Liu $(DRMACH_GENERR) EX86 < $(SBD_IOCTL) > $(DRMACH_IO)/drmach_err.c 97a3114836SGerry Liu 98a3114836SGerry Liu$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/acpi/drmach_acpi/%.c 99a3114836SGerry Liu $(COMPILE.c) -o $@ $< 100a3114836SGerry Liu $(CTFCONVERT_O) 101a3114836SGerry Liu 1026732dbb3SVikram Hegde$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/amd_iommu/%.c 1036732dbb3SVikram Hegde $(COMPILE.c) -o $@ $< 1046732dbb3SVikram Hegde $(CTFCONVERT_O) 1056732dbb3SVikram Hegde 106a3114836SGerry Liu$(DR_GENERR): $(DR_IO)/sbdgenerr.pl 107a3114836SGerry Liu $(RM) $@ 108a3114836SGerry Liu $(CAT) $(DR_IO)/sbdgenerr.pl > $@ 109a3114836SGerry Liu $(CHMOD) +x $@ 110a3114836SGerry Liu 111a3114836SGerry Liu$(DR_IO)/dr_err.c: $(DR_GENERR) $(SBD_IOCTL) 112a3114836SGerry Liu $(RM) $@ 113a3114836SGerry Liu $(DR_GENERR) ESBD < $(SBD_IOCTL) > $(DR_IO)/dr_err.c 114a3114836SGerry Liu 115a3114836SGerry Liu$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/dr/%.c 116a3114836SGerry Liu $(COMPILE.c) -o $@ $< 117a3114836SGerry Liu $(CTFCONVERT_O) 118a3114836SGerry Liu 11917169044Sbrutus$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/ioat/%.c 12017169044Sbrutus $(COMPILE.c) -o $@ $< 12117169044Sbrutus $(CTFCONVERT_O) 12217169044Sbrutus 1237c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/pci/%.c 1247c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1257c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1267c478bd9Sstevel@tonic-gate 12770025d76Sjohnny$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/pciex/%.c 12870025d76Sjohnny $(COMPILE.c) -o $@ $< 12970025d76Sjohnny $(CTFCONVERT_O) 13070025d76Sjohnny 13126947304SEvan Yan$(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/pciex/hotplug/%.c 13226947304SEvan Yan $(COMPILE.c) -o $@ $< 13326947304SEvan Yan $(CTFCONVERT_O) 13426947304SEvan Yan 1357c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/pcplusmp/%.c 1367c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1377c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1387c478bd9Sstevel@tonic-gate 1397c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/pcplusmp/%.s 1407c478bd9Sstevel@tonic-gate $(COMPILE.s) -o $@ $< 1417c478bd9Sstevel@tonic-gate 1427ff178cdSJimmy Vetayases$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/apix/%.c 1437ff178cdSJimmy Vetayases $(COMPILE.c) -o $@ $< 1447ff178cdSJimmy Vetayases $(CTFCONVERT_O) 1457ff178cdSJimmy Vetayases 1462df1fe9cSrandyf$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/ppm/%.c 1472df1fe9cSrandyf $(COMPILE.c) -o $@ $< 1482df1fe9cSrandyf $(CTFCONVERT_O) 1492df1fe9cSrandyf 1502df1fe9cSrandyf$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/ppm/%.s 1512df1fe9cSrandyf $(COMPILE.s) -o $@ $< 1522df1fe9cSrandyf 1537c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/psm/%.c 1547c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1557c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1567c478bd9Sstevel@tonic-gate 1577c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/psm/%.s 1587c478bd9Sstevel@tonic-gate $(COMPILE.s) -o $@ $< 1597c478bd9Sstevel@tonic-gate 1602bda830bSap$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/tzmon/%.c 1612bda830bSap $(COMPILE.c) -o $@ $< 1622bda830bSap $(CTFCONVERT_O) 1632bda830bSap 1647c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/ml/%.s 1657c478bd9Sstevel@tonic-gate $(COMPILE.s) -o $@ $< 1667c478bd9Sstevel@tonic-gate 1677c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/os/%.c 1686a59053bSAlex Wilson $(COMPILE.c) -_gcc=-fno-stack-protector -o $@ $< 1697c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1707c478bd9Sstevel@tonic-gate 1710e751525SEric Saxe$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/os/cpupm/%.c 1720e751525SEric Saxe $(COMPILE.c) -o $@ $< 1730e751525SEric Saxe $(CTFCONVERT_O) 1740e751525SEric Saxe 175ae115bc7Smrj$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/boot/%.c 176ae115bc7Smrj $(COMPILE.c) -o $@ $< 177ae115bc7Smrj $(CTFCONVERT_O) 178ae115bc7Smrj 1797c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/vm/%.c 1807c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1817c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1827c478bd9Sstevel@tonic-gate 1837c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/common/io/%.c 1847c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1857c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1867c478bd9Sstevel@tonic-gate 1875cff7825Smh$(OBJS_DIR)/%.o: $(UTSBASE)/common/io/ppm/%.c 1885cff7825Smh $(COMPILE.c) -o $@ $< 1895cff7825Smh $(CTFCONVERT_O) 1905cff7825Smh 191c0da6274SZhi-Jun Robin Fu$(OBJS_DIR)/%.o: $(UTSBASE)/common/io/pciex/%.c 192c0da6274SZhi-Jun Robin Fu $(COMPILE.c) -o $@ $< 193c0da6274SZhi-Jun Robin Fu $(CTFCONVERT_O) 194c0da6274SZhi-Jun Robin Fu 1957c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(UTSBASE)/common/os/%.c 1967c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1977c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1987c478bd9Sstevel@tonic-gate 1997c478bd9Sstevel@tonic-gate$(OBJS_DIR)/%.o: $(SRC)/common/dis/i386/%.c 2007c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 2017c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 2027c478bd9Sstevel@tonic-gate 203fc1821feSrugrat$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/gfx_private/%.c 204fc1821feSrugrat $(COMPILE.c) -o $@ $< 205fc1821feSrugrat $(CTFCONVERT_O) 206fc1821feSrugrat 207ae115bc7Smrj$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/xsvc/%.c 20860405de4Skz $(COMPILE.c) -o $@ $< 20960405de4Skz $(CTFCONVERT_O) 21060405de4Skz 211349b53ddSStuart Maybee$(OBJS_DIR)/%.o: $(UTSBASE)/common/xen/os/%.c 212349b53ddSStuart Maybee $(COMPILE.c) -o $@ $< 213349b53ddSStuart Maybee $(CTFCONVERT_O) 214349b53ddSStuart Maybee 2151738dd6eSToomas Soome$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/dboot/%.c 2161738dd6eSToomas Soome $(COMPILE.c) -o $@ $< 2171738dd6eSToomas Soome $(CTFCONVERT_O) 2181738dd6eSToomas Soome 219ae115bc7Smrj# 220ae115bc7Smrj# dboot stuff is always 32 bit, linked to run with phys_addr == virt_addr 221ae115bc7Smrj# 222ae115bc7SmrjDBOOT_OBJS_DIR = dboot/$(OBJS_DIR) 223ae115bc7SmrjDBOOT_MACH_32 = -D_BOOT_TARGET_i386 224ae115bc7SmrjDBOOT_MACH_64 = -D_BOOT_TARGET_amd64 225ae115bc7SmrjDBOOT_DEFS = -D_BOOT $(DBOOT_MACH_$(CLASS)) 2263c4c5929SGordon RossDBOOT_DEFS += -D_MACHDEP -U_KERNEL -D_I32LPx 227bd0ce624SYuri PankovDBOOT_FLAGS = $(CCVERBOSE) $(CSTD) $(CERRWARN) $(CCNOAUTOINLINE) 228fd358c0dSmyers 2290181461bSKeith M WesolowskiDBOOT_CC_INCL = -I$(SRC)/common -I$(SRC)/common/util $(INCLUDE_PATH) 230ae115bc7SmrjDBOOT_AS_INCL = $(AS_INC_PATH) 2317aec1d6eScindi 232ae115bc7SmrjDBOOT_AS = $(ONBLD_TOOLS)/bin/$(MACH)/aw 2337c478bd9Sstevel@tonic-gate 234ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/i86pc/boot/%.c 2356a3e8e86SRichard Lowe $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 2367c478bd9Sstevel@tonic-gate 237ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/i86pc/dboot/%.c 2386a3e8e86SRichard Lowe $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 2397c478bd9Sstevel@tonic-gate 240551bc2a6Smrj$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/intel/ia32/%.s 241551bc2a6Smrj $(DBOOT_AS) -P -D_ASM $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $< 242551bc2a6Smrj 243cbc8e155SToomas Soome$(DBOOT_OBJS_DIR)/%.o: $(SRC)/common/font/%.c 244898c3fecSToomas Soome $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 245898c3fecSToomas Soome 246cbc8e155SToomas Soome$(DBOOT_OBJS_DIR)/$(FONT).c: $(FONT_DIR)/$(FONT_SRC).bdf 247cbc8e155SToomas Soome $(VTFONTCVT) -f source -o $@ $(FONT_DIR)/$(FONT_SRC).bdf 248898c3fecSToomas Soome 249898c3fecSToomas Soome$(DBOOT_OBJS_DIR)/%.o: $(DBOOT_OBJS_DIR)/%.c 250898c3fecSToomas Soome $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 251898c3fecSToomas Soome 252e65d07eeSKeith Wesolowski$(DBOOT_OBJS_DIR)/%.o: $(COMMONBASE)/crypto/sha1/%.c 2537f11fd00SRichard Lowe $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 254e65d07eeSKeith Wesolowski 255898c3fecSToomas Soome$(DBOOT_OBJS_DIR)/%.o: $(DBOOT_OBJS_DIR)/%.c 256898c3fecSToomas Soome $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 257898c3fecSToomas Soome 258ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(COMMONBASE)/util/%.c 2596a3e8e86SRichard Lowe $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< 2607c478bd9Sstevel@tonic-gate 261ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(COMMONBASE)/util/i386/%.s 262ae115bc7Smrj $(DBOOT_AS) -P -D_ASM $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $< 2637c478bd9Sstevel@tonic-gate 264ae115bc7Smrj$(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/i86pc/dboot/%.s 265ae115bc7Smrj $(DBOOT_AS) -P -D_ASM $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $< 2667c478bd9Sstevel@tonic-gate 267ae115bc7Smrj# 268ae115bc7Smrj# Stuff to build bios_call.o for the kernel. 269ae115bc7Smrj# 270ae115bc7SmrjMAPFILE_BIOS = $(UTSBASE)/i86pc/conf/Mapfile.bios 271ae115bc7Smrj$(OBJS_DIR)/bios_call.o: $(UTSBASE)/i86pc/ml/bios_call_src.s 272ae115bc7Smrj $(COMPILE.s) -o $(OBJS_DIR)/bios_call_src.o \ 273ae115bc7Smrj $(UTSBASE)/i86pc/ml/bios_call_src.s 274ae115bc7Smrj $(LD) -dn -M $(MAPFILE_BIOS) \ 275ae115bc7Smrj -o $(OBJS_DIR)/bios_call_src $(OBJS_DIR)/bios_call_src.o 276ae115bc7Smrj @echo " .data" > $(OBJS_DIR)/bios_call.s 277ae115bc7Smrj @echo " .globl bios_image" >> $(OBJS_DIR)/bios_call.s 278ae115bc7Smrj @echo "bios_image:" >> $(OBJS_DIR)/bios_call.s 279ae115bc7Smrj $(ELFEXTRACT) $(OBJS_DIR)/bios_call_src >> $(OBJS_DIR)/bios_call.s 280ae115bc7Smrj @echo " .align 4" >> $(OBJS_DIR)/bios_call.s 281ae115bc7Smrj @echo " .globl bios_size" >> $(OBJS_DIR)/bios_call.s 282ae115bc7Smrj @echo "bios_size:" >> $(OBJS_DIR)/bios_call.s 283ae115bc7Smrj @echo " .long . - bios_image" >> $(OBJS_DIR)/bios_call.s 284ae115bc7Smrj $(COMPILE.s) -o $@ $(OBJS_DIR)/bios_call.s 2857c478bd9Sstevel@tonic-gate 28619397407SSherry Moore# 28719397407SSherry Moore# Stuff to build fb_swtch.o for the kernel. 28819397407SSherry Moore# 28919397407SSherry MooreMAPFILE_FBSWTCH = $(UTSBASE)/i86pc/conf/Mapfile.fb_swtch 29019397407SSherry Moore$(OBJS_DIR)/fb_swtch.o: $(UTSBASE)/i86pc/ml/fb_swtch_src.s 29119397407SSherry Moore $(COMPILE.s) -o $(OBJS_DIR)/fb_swtch_src.o \ 29219397407SSherry Moore $(UTSBASE)/i86pc/ml/fb_swtch_src.s 29319397407SSherry Moore $(LD) -dn -M $(MAPFILE_FBSWTCH) \ 29419397407SSherry Moore -o $(OBJS_DIR)/fb_swtch_src $(OBJS_DIR)/fb_swtch_src.o 29519397407SSherry Moore @echo " .data" > $(OBJS_DIR)/fb_swtch.s 29619397407SSherry Moore @echo " .globl fb_swtch_image" >> $(OBJS_DIR)/fb_swtch.s 29719397407SSherry Moore @echo "fb_swtch_image:" >> $(OBJS_DIR)/fb_swtch.s 29819397407SSherry Moore $(ELFEXTRACT) $(OBJS_DIR)/fb_swtch_src >> $(OBJS_DIR)/fb_swtch.s 29919397407SSherry Moore @echo " .align 4" >> $(OBJS_DIR)/fb_swtch.s 30019397407SSherry Moore @echo " .globl fb_swtch_size" >> $(OBJS_DIR)/fb_swtch.s 30119397407SSherry Moore @echo "fb_swtch_size:" >> $(OBJS_DIR)/fb_swtch.s 30219397407SSherry Moore @echo " .long . - fb_swtch_image" >> $(OBJS_DIR)/fb_swtch.s 30319397407SSherry Moore $(COMPILE.s) -o $@ $(OBJS_DIR)/fb_swtch.s 30419397407SSherry Moore 305ae115bc7Smrj# ridiculous contortions --- 306ae115bc7SmrjATOMIC_SUBDIR_32 = i386 307ae115bc7SmrjATOMIC_SUBDIR_64 = amd64 308ae115bc7SmrjATOMIC_SUBDIR = $(ATOMIC_SUBDIR_$(CLASS)) 3097c478bd9Sstevel@tonic-gate 310ae115bc7Smrj$(OBJS_DIR)/%.o: $(SRC)/common/atomic/$(ATOMIC_SUBDIR)/%.s 311ae115bc7Smrj $(COMPILE.s) -o $@ $< 3127c478bd9Sstevel@tonic-gate 313ae115bc7Smrj# 314ae115bc7Smrj# dtrace stubs 315ae115bc7Smrj# 31630082d0cSmyers 3177c478bd9Sstevel@tonic-gate$(OBJS_DIR)/dtracestubs.s: $(UNIX_O) $(LIBS) 318620753d0Sjmcp $(NM) -u $(UNIX_O) $(LIBS) | $(GREP) __dtrace_probe_ | $(SORT) | \ 3197b07063dSIgor Kozhukhov $(UNIQ) | $(AWK) '{ \ 3207c478bd9Sstevel@tonic-gate printf("\t.globl %s\n\t.type %s,@function\n%s:\n", \ 3217c478bd9Sstevel@tonic-gate $$1, $$1, $$1); }' > $(OBJS_DIR)/dtracestubs.s 3227c478bd9Sstevel@tonic-gate 3237c478bd9Sstevel@tonic-gate$(DTRACESTUBS): $(DTRACESTUBS_O) 32402e56f3fSwesolows $(BUILD.SO) $(DTRACESTUBS_O) 325