xref: /illumos-gate/usr/src/test/bhyve-tests/tests/Makefile.in_guest (revision 5d9d9091f564c198a760790b0bfa72c44e17912b)
15103e761SPatrick Mooney#
25103e761SPatrick Mooney# This file and its contents are supplied under the terms of the
35103e761SPatrick Mooney# Common Development and Distribution License ("CDDL"), version 1.0.
45103e761SPatrick Mooney# You may only use this file in accordance with the terms of version
55103e761SPatrick Mooney# 1.0 of the CDDL.
65103e761SPatrick Mooney#
75103e761SPatrick Mooney# A full copy of the text of the CDDL should have accompanied this
85103e761SPatrick Mooney# source.  A copy of the CDDL is also available via the Internet at
95103e761SPatrick Mooney# http://www.illumos.org/license/CDDL.
105103e761SPatrick Mooney#
115103e761SPatrick Mooney
125103e761SPatrick Mooney# Copyright 2022 Oxide Computer Company
135103e761SPatrick Mooney
145103e761SPatrick MooneyPAYLOAD_CLEANFILES =	payload_start.o	\
155103e761SPatrick Mooney		$(PAYLOADS:%=payload_%)		\
165103e761SPatrick Mooney		$(PAYLOADS:%=payload_%.o)		\
175103e761SPatrick Mooney		$(PAYLOADS:%=pobj_%.o)		\
185103e761SPatrick Mooney		$(PAYLOADS:%=pobj_%.s)
195103e761SPatrick Mooney
205103e761SPatrick Mooney$(PAYLOADS:%=payload_%.o) := AS_CPPFLAGS += -I../common
21578d9a56SPatrick Mooney# Without a real runtime in the payload, the stack protector must be disabled
22578d9a56SPatrick Mooney$(PAYLOADS:%=payload_%.o) := STACKPROTECT = none
23578d9a56SPatrick Mooney# Like our own kernel, prevent the compiler from using the FPU via SIMD
24578d9a56SPatrick Mooney$(PAYLOADS:%=payload_%.o) := CFLAGS64 += $(STAND_FLAGS_64)
255103e761SPatrick Mooney
265103e761SPatrick Mooneypayload_%: payload_start.o payload_%.o
275103e761SPatrick Mooney	$(LD) -dn -e _start -M ../common/Mapfile.payload -o $@ $^
285103e761SPatrick Mooney
295103e761SPatrick Mooneypobj_%.s: payload_%
305103e761SPatrick Mooney	@echo " .data"                                  > $@
315103e761SPatrick Mooney	@echo " .globl payload_data"                    >> $@
325103e761SPatrick Mooney	@echo "payload_data:"                           >> $@
335103e761SPatrick Mooney	$(ELFEXTRACT) $^                                >> $@
345103e761SPatrick Mooney	@echo " .size  payload_data, [.-payload_data]"  >> $@
355103e761SPatrick Mooney	@echo " .align 4"                               >> $@
365103e761SPatrick Mooney	@echo " .globl payload_size"                    >> $@
375103e761SPatrick Mooney	@echo " .size payload_size, 4"                  >> $@
385103e761SPatrick Mooney	@echo "payload_size:"                           >> $@
395103e761SPatrick Mooney	@echo " .data"                                  >> $@
405103e761SPatrick Mooney	@echo " .long  [.-payload_data]"                >> $@
415103e761SPatrick Mooney
425103e761SPatrick Mooneypobj_%.o: pobj_%.s
435103e761SPatrick Mooney	$(COMPILE.s) -o $@ $^
445103e761SPatrick Mooney	$(POST_PROCESS)
455103e761SPatrick Mooney
46*5d9d9091SRichard Lowe%.o: ../common/%.S
475103e761SPatrick Mooney	$(COMPILE.s) -o $@ $^
485103e761SPatrick Mooney	$(POST_PROCESS)
495103e761SPatrick Mooney
505103e761SPatrick Mooney%.o: ../common/%.c
515103e761SPatrick Mooney	$(COMPILE.c) -o $@ $^
525103e761SPatrick Mooney	$(POST_PROCESS)
53