1915894efSMatt Barden# 2915894efSMatt Barden# This file and its contents are supplied under the terms of the 3915894efSMatt Barden# Common Development and Distribution License ("CDDL"), version 1.0. 4915894efSMatt Barden# You may only use this file in accordance with the terms of version 5915894efSMatt Barden# 1.0 of the CDDL. 6915894efSMatt Barden# 7915894efSMatt Barden# A full copy of the text of the CDDL should have accompanied this 8915894efSMatt Barden# source. A copy of the CDDL is also available via the Internet at 9915894efSMatt Barden# http://www.illumos.org/license/CDDL. 10915894efSMatt Barden# 11915894efSMatt Barden 12915894efSMatt Barden# 13915894efSMatt Barden# Copyright 2020 Oxide Computer Company 14915894efSMatt Barden# Copyright 2021 Tintri by DDN, Inc. All rights reserved. 15915894efSMatt Barden# 16915894efSMatt Barden 17915894efSMatt BardenPROGS = stackalign 18915894efSMatt Barden 19915894efSMatt BardenPROGS32 = $(PROGS:%=%.32) 20915894efSMatt BardenPROGS64 = $(PROGS:%=%.64) 21915894efSMatt Barden 22915894efSMatt BardenOBJS = $(PROGS32:%=%.o) $(PROGS64:%=%.o) 23915894efSMatt Barden$(INTEL_BLD)OBJS += stack_i386.o stack_amd64.o 2449950d9cSToomas Soome$(SPARC_BLD)OBJS += stack_sparc.o stack_sparcv9.o 25915894efSMatt Barden 26915894efSMatt BardenROOTOPTDIR = $(ROOT)/opt/os-tests/tests 27915894efSMatt BardenROOTOPTSTACK = $(ROOTOPTDIR)/stackalign 28915894efSMatt BardenROOTOPTPROGS = $(PROGS32:%=$(ROOTOPTSTACK)/%) $(PROGS64:%=$(ROOTOPTSTACK)/%) 29915894efSMatt Barden 30915894efSMatt Bardeninclude $(SRC)/cmd/Makefile.cmd 31915894efSMatt Barden 32*5d9d9091SRichard LoweASFLAGS += -D_ASM 33*5d9d9091SRichard LoweASFLAGS64 += -D_ASM 34915894efSMatt BardenCFLAGS += -D_REENTRANT 35915894efSMatt Barden$(INTEL_BLD)LDFLAGS += -Wl,-zinitarray=get_stack_at_init 3649950d9cSToomas Soome$(SPARC_BLD)LDFLAGS += -Wl,-zinitarray=get_stack_at_init 37915894efSMatt Barden 38915894efSMatt Barden.KEEP_STATE: 39915894efSMatt Barden 40915894efSMatt Bardenall: $(PROGS32) $(PROGS64) 41915894efSMatt Barden 42915894efSMatt Bardeninstall: $(ROOTOPTPROGS) 43915894efSMatt Barden 44915894efSMatt Bardenclean: 45915894efSMatt Barden -$(RM) $(OBJS) 46915894efSMatt Barden 47915894efSMatt Barden$(ROOTOPTPROGS): $(PROGS32) $(PROGS64) $(ROOTOPTSTACK) 48915894efSMatt Barden 49915894efSMatt Barden$(ROOTOPTDIR): 50915894efSMatt Barden $(INS.dir) 51915894efSMatt Barden 52915894efSMatt Barden$(ROOTOPTSTACK): $(ROOTOPTDIR) 53915894efSMatt Barden $(INS.dir) 54915894efSMatt Barden 55915894efSMatt Barden$(ROOTOPTSTACK)/%: % 56915894efSMatt Barden $(INS.file) 57915894efSMatt Barden 58915894efSMatt Barden%.64.o: %.c 59915894efSMatt Barden $(COMPILE64.c) $< -o $@ 60915894efSMatt Barden 61915894efSMatt Barden%.32.o: %.c 62915894efSMatt Barden $(COMPILE.c) $< -o $@ 63915894efSMatt Barden 64*5d9d9091SRichard Lowestack_$(MACH).o: stack_$(MACH).S 65915894efSMatt Barden $(COMPILE.s) $< -o $@ 66915894efSMatt Barden 67*5d9d9091SRichard Lowestack_$(MACH64).o: stack_$(MACH64).S 68915894efSMatt Barden $(COMPILE64.s) $< -o $@ 69915894efSMatt Barden 7049950d9cSToomas Soome%.64: %.64.o stack_$(MACH64).o 71915894efSMatt Barden $(LINK64.c) -o $@ $^ $(LDLIBS64) 72915894efSMatt Barden $(POST_PROCESS) 73915894efSMatt Barden 7449950d9cSToomas Soome%.32: %.32.o stack_$(MACH).o 75915894efSMatt Barden $(LINK.c) -o $@ $^ $(LDLIBS) 76915894efSMatt Barden $(POST_PROCESS) 77915894efSMatt Barden 78915894efSMatt Bardenclobber: clean 79915894efSMatt Barden $(RM) $(PROGS32) $(PROGS64) 80915894efSMatt Barden 81915894efSMatt BardenFRC: 82