1*a98a962fSPatrick Mooney# 2*a98a962fSPatrick Mooney# This file and its contents are supplied under the terms of the 3*a98a962fSPatrick Mooney# Common Development and Distribution License ("CDDL"), version 1.0. 4*a98a962fSPatrick Mooney# You may only use this file in accordance with the terms of version 5*a98a962fSPatrick Mooney# 1.0 of the CDDL. 6*a98a962fSPatrick Mooney# 7*a98a962fSPatrick Mooney# A full copy of the text of the CDDL should have accompanied this 8*a98a962fSPatrick Mooney# source. A copy of the CDDL is also available via the Internet at 9*a98a962fSPatrick Mooney# http://www.illumos.org/license/CDDL. 10*a98a962fSPatrick Mooney# 11*a98a962fSPatrick Mooney 12*a98a962fSPatrick Mooney# Copyright 2023 Oxide Computer Company 13*a98a962fSPatrick Mooney 14*a98a962fSPatrick Mooneyinclude $(SRC)/cmd/Makefile.cmd 15*a98a962fSPatrick Mooneyinclude $(SRC)/cmd/Makefile.cmd.64 16*a98a962fSPatrick Mooneyinclude $(SRC)/test/Makefile.com 17*a98a962fSPatrick Mooney 18*a98a962fSPatrick MooneyPROG = entry_exit 19*a98a962fSPatrick Mooney 20*a98a962fSPatrick Mooney# C-based payloads need additional utils object 21*a98a962fSPatrick MooneyCPAYLOADS = entry_exit 22*a98a962fSPatrick Mooney 23*a98a962fSPatrick MooneyPAYLOADS = $(PROG) 24*a98a962fSPatrick Mooneyinclude ../Makefile.in_guest 25*a98a962fSPatrick Mooney 26*a98a962fSPatrick MooneyCOMMON_OBJS = in_guest.o common.o 27*a98a962fSPatrick Mooney 28*a98a962fSPatrick MooneyCLEANFILES = $(COMMON_OBJS) $(PAYLOAD_CLEANFILES) payload_utils.o 29*a98a962fSPatrick MooneyCLOBBERFILES = $(PROG) 30*a98a962fSPatrick Mooney 31*a98a962fSPatrick MooneyROOTOPTPKG = $(ROOT)/opt/bhyve-tests 32*a98a962fSPatrick MooneyTESTDIR = $(ROOTOPTPKG)/tests/perf 33*a98a962fSPatrick Mooney 34*a98a962fSPatrick MooneyCMDS = $(PROG:%=$(TESTDIR)/%) 35*a98a962fSPatrick Mooney$(CMDS) := FILEMODE = 0555 36*a98a962fSPatrick Mooney 37*a98a962fSPatrick MooneyCSTD= $(CSTD_GNU99) 38*a98a962fSPatrick MooneyCPPFLAGS = -I$(COMPAT)/bhyve -I$(CONTRIB)/bhyve \ 39*a98a962fSPatrick Mooney -I$(COMPAT)/bhyve/amd64 -I$(CONTRIB)/bhyve/amd64 \ 40*a98a962fSPatrick Mooney $(CPPFLAGS.master) \ 41*a98a962fSPatrick Mooney -I$(SRC)/uts/intel/io/vmm \ 42*a98a962fSPatrick Mooney -I$(SRC)/uts/intel \ 43*a98a962fSPatrick Mooney -I../common 44*a98a962fSPatrick Mooney 45*a98a962fSPatrick MooneyASFLAGS += -D_ASM 46*a98a962fSPatrick MooneyASFLAGS64 += -D_ASM 47*a98a962fSPatrick Mooney 48*a98a962fSPatrick Mooney$(PROG) := LDLIBS += -lvmmapi 49*a98a962fSPatrick Mooney 50*a98a962fSPatrick Mooneyall: $(PROG) 51*a98a962fSPatrick Mooney 52*a98a962fSPatrick Mooneyinstall: all $(CMDS) 53*a98a962fSPatrick Mooney 54*a98a962fSPatrick Mooneyclean: 55*a98a962fSPatrick Mooney -$(RM) $(CLEANFILES) 56*a98a962fSPatrick Mooneyclobber: clean 57*a98a962fSPatrick Mooney -$(RM) $(CLOBBERFILES) 58*a98a962fSPatrick Mooney 59*a98a962fSPatrick Mooney$(CMDS): $(TESTDIR) $(PROG) 60*a98a962fSPatrick Mooney 61*a98a962fSPatrick Mooney$(TESTDIR): 62*a98a962fSPatrick Mooney $(INS.dir) 63*a98a962fSPatrick Mooney 64*a98a962fSPatrick Mooney$(TESTDIR)/%: % 65*a98a962fSPatrick Mooney $(INS.file) 66*a98a962fSPatrick Mooney 67*a98a962fSPatrick Mooney%: %.c pobj_%.o $(COMMON_OBJS) 68*a98a962fSPatrick Mooney $(LINK.c) -o $@ $^ $(LDLIBS) 69*a98a962fSPatrick Mooney $(POST_PROCESS) 70*a98a962fSPatrick Mooney 71*a98a962fSPatrick Mooney%: %.o 72*a98a962fSPatrick Mooney $(LINK.c) -o $@ $^ $(LDLIBS) 73*a98a962fSPatrick Mooney $(POST_PROCESS) 74*a98a962fSPatrick Mooney 75*a98a962fSPatrick Mooney$(CPAYLOADS:%=payload_%): payload_utils.o 76