xref: /illumos-gate/usr/src/test/bhyve-tests/tests/vmm/Makefile (revision 6e8a136ffaf56dd81447d589e81f22fc1a8cd773)
170ae9a33SPatrick Mooney#
270ae9a33SPatrick Mooney# This file and its contents are supplied under the terms of the
370ae9a33SPatrick Mooney# Common Development and Distribution License ("CDDL"), version 1.0.
470ae9a33SPatrick Mooney# You may only use this file in accordance with the terms of version
570ae9a33SPatrick Mooney# 1.0 of the CDDL.
670ae9a33SPatrick Mooney#
770ae9a33SPatrick Mooney# A full copy of the text of the CDDL should have accompanied this
870ae9a33SPatrick Mooney# source.  A copy of the CDDL is also available via the Internet at
970ae9a33SPatrick Mooney# http://www.illumos.org/license/CDDL.
1070ae9a33SPatrick Mooney#
1170ae9a33SPatrick Mooney
1262ac5a8aSPatrick Mooney# Copyright 2023 Oxide Computer Company
1370ae9a33SPatrick Mooney
1470ae9a33SPatrick Mooneyinclude $(SRC)/cmd/Makefile.cmd
1570ae9a33SPatrick Mooneyinclude $(SRC)/cmd/Makefile.cmd.64
1670ae9a33SPatrick Mooneyinclude $(SRC)/test/Makefile.com
1770ae9a33SPatrick Mooney
1870ae9a33SPatrick MooneyPROG =	mem_partial \
19957246c9SPatrick Mooney	mem_seg_map \
20*6e8a136fSPatrick Mooney	mem_high \
213d066281SPatrick Mooney	mem_devmem \
223466010bSPatrick Mooney	fpu_getset \
23e760f150SPatrick Mooney	interface_version \
24aa39f6d0SPatrick Mooney	check_iommu \
25aa39f6d0SPatrick Mooney	auto_destruct \
2642640e49SPatrick Mooney	legacy_destruct \
2742640e49SPatrick Mooney	self_destruct \
28578d9a56SPatrick Mooney	drv_hold \
29c8dbcfdeSPatrick Mooney	cpuid_ioctl \
30a77feb92SPatrick Mooney	default_capabs \
312cac0506SPatrick Mooney	datarw_constraints \
32ae8179d3SPatrick Mooney	datarw_msrs \
33ad4335f7SPatrick Mooney	datarw_vcpu \
3462ac5a8aSPatrick Mooney	pause_resume \
35717646f7SJordan Paige Hendricks	import_vlapic \
362cef7ad9SPatrick Mooney	time_data \
37b9b43e84SPatrick Mooney	maxcpu \
38b9b43e84SPatrick Mooney	npt_ops
3970ae9a33SPatrick Mooney
4070ae9a33SPatrick MooneyCOMMON_OBJS =	common.o
4170ae9a33SPatrick MooneyCLEAN_OBJS =	$(PROG:%=%.o)
4270ae9a33SPatrick Mooney
4370ae9a33SPatrick MooneyROOTOPTPKG = $(ROOT)/opt/bhyve-tests
4470ae9a33SPatrick MooneyTESTDIR = $(ROOTOPTPKG)/tests/vmm
4570ae9a33SPatrick Mooney
4670ae9a33SPatrick MooneyCMDS = $(PROG:%=$(TESTDIR)/%)
4770ae9a33SPatrick Mooney$(CMDS) := FILEMODE = 0555
4870ae9a33SPatrick Mooney
4970ae9a33SPatrick MooneyCSTD=		$(CSTD_GNU99)
5070ae9a33SPatrick MooneyCPPFLAGS =	-I$(COMPAT)/bhyve -I$(CONTRIB)/bhyve \
5170ae9a33SPatrick Mooney		-I$(COMPAT)/bhyve/amd64 -I$(CONTRIB)/bhyve/amd64 \
5270ae9a33SPatrick Mooney		$(CPPFLAGS.master) \
537c8c0b82SPatrick Mooney		-I$(SRC)/uts/intel/io/vmm \
544ac713daSLuqman Aden		-I$(SRC)/uts/intel \
554ac713daSLuqman Aden		-I../common
5670ae9a33SPatrick Mooney$(PROG) :=	LDLIBS += -lvmmapi
5770ae9a33SPatrick Mooney
5870ae9a33SPatrick Mooneyall: $(PROG)
5970ae9a33SPatrick Mooney
6070ae9a33SPatrick Mooneyinstall: all $(CMDS)
6170ae9a33SPatrick Mooney
6270ae9a33SPatrick Mooneyclean:
6370ae9a33SPatrick Mooney	-$(RM) $(CLEAN_OBJS) $(COMMON_OBJS)
6470ae9a33SPatrick Mooneyclobber: clean
6570ae9a33SPatrick Mooney	-$(RM) $(PROG)
6670ae9a33SPatrick Mooney
6770ae9a33SPatrick Mooney$(PROG): $(COMMON_OBJS)
6870ae9a33SPatrick Mooney
6970ae9a33SPatrick Mooney$(CMDS): $(TESTDIR) $(PROG)
7070ae9a33SPatrick Mooney
7170ae9a33SPatrick Mooney$(TESTDIR):
7270ae9a33SPatrick Mooney	$(INS.dir)
7370ae9a33SPatrick Mooney
7470ae9a33SPatrick Mooney$(TESTDIR)/%: %
7570ae9a33SPatrick Mooney	$(INS.file)
7670ae9a33SPatrick Mooney
774ac713daSLuqman Aden%.o: ../common/%.c
784ac713daSLuqman Aden	$(COMPILE.c) -o $@ $^
794ac713daSLuqman Aden	$(POST_PROCESS)
804ac713daSLuqman Aden
8170ae9a33SPatrick Mooney%: %.o
8270ae9a33SPatrick Mooney	$(LINK.c) -o $@ $< $(COMMON_OBJS) $(LDLIBS)
8370ae9a33SPatrick Mooney	$(POST_PROCESS)
84