xref: /illumos-gate/usr/src/test/bhyve-tests/tests/viona/Makefile (revision ce489a5e0a9c618cd26b66d6b1fd397d8545db9b)
1a26f9c14SPatrick Mooney#
2a26f9c14SPatrick Mooney# This file and its contents are supplied under the terms of the
3a26f9c14SPatrick Mooney# Common Development and Distribution License ("CDDL"), version 1.0.
4a26f9c14SPatrick Mooney# You may only use this file in accordance with the terms of version
5a26f9c14SPatrick Mooney# 1.0 of the CDDL.
6a26f9c14SPatrick Mooney#
7a26f9c14SPatrick Mooney# A full copy of the text of the CDDL should have accompanied this
8a26f9c14SPatrick Mooney# source.  A copy of the CDDL is also available via the Internet at
9a26f9c14SPatrick Mooney# http://www.illumos.org/license/CDDL.
10a26f9c14SPatrick Mooney#
11a26f9c14SPatrick Mooney
12*ce489a5eSPatrick Mooney# Copyright 2024 Oxide Computer Company
13a26f9c14SPatrick Mooney
14a26f9c14SPatrick Mooneyinclude $(SRC)/cmd/Makefile.cmd
15a26f9c14SPatrick Mooneyinclude $(SRC)/cmd/Makefile.cmd.64
16a26f9c14SPatrick Mooneyinclude $(SRC)/test/Makefile.com
17a26f9c14SPatrick Mooney
18*ce489a5eSPatrick MooneyPROGS =	interface_version create_delete link_params
19a26f9c14SPatrick Mooney
20*ce489a5eSPatrick MooneySCRIPTS =	setup cleanup
21*ce489a5eSPatrick Mooney
22*ce489a5eSPatrick MooneyCOMMON_OBJS =	in_guest.o common.o viona_suite.o null_payload.o
23*ce489a5eSPatrick Mooney
24*ce489a5eSPatrick MooneyCLEAN_OBJS =	$(PROGS:%=%.o) $(COMMON_OBJS)
25a26f9c14SPatrick Mooney
26a26f9c14SPatrick MooneyROOTOPTPKG = $(ROOT)/opt/bhyve-tests
27a26f9c14SPatrick MooneyTESTDIR = $(ROOTOPTPKG)/tests/viona
28a26f9c14SPatrick Mooney
29*ce489a5eSPatrick MooneyCMDS = \
30*ce489a5eSPatrick Mooney	$(PROGS:%=$(TESTDIR)/%) \
31*ce489a5eSPatrick Mooney	$(SCRIPTS:%=$(TESTDIR)/%)
32*ce489a5eSPatrick Mooney
33a26f9c14SPatrick Mooney$(CMDS) := FILEMODE = 0555
34a26f9c14SPatrick Mooney
35a26f9c14SPatrick MooneyCSTD=		$(CSTD_GNU99)
36*ce489a5eSPatrick MooneyCPPFLAGS =	-I$(COMPAT)/bhyve -I$(CONTRIB)/bhyve \
37*ce489a5eSPatrick Mooney		-I$(COMPAT)/bhyve/amd64 -I$(CONTRIB)/bhyve/amd64 \
38*ce489a5eSPatrick Mooney		$(CPPFLAGS.master) \
39*ce489a5eSPatrick Mooney		-I$(SRC)/uts/intel/io/vmm \
40*ce489a5eSPatrick Mooney		-I$(SRC)/uts/intel \
41*ce489a5eSPatrick Mooney		-I../common
42a26f9c14SPatrick Mooney
43*ce489a5eSPatrick Mooney$(PROGS) :=	LDLIBS += -lvmmapi -ldladm
44*ce489a5eSPatrick Mooneylink_params :=	LDLIBS += -lnvpair
45*ce489a5eSPatrick Mooney
46*ce489a5eSPatrick Mooneyall: $(PROGS)
47a26f9c14SPatrick Mooney
48a26f9c14SPatrick Mooneyinstall: all $(CMDS)
49a26f9c14SPatrick Mooney
50a26f9c14SPatrick Mooneyclean:
51a26f9c14SPatrick Mooney	-$(RM) $(CLEAN_OBJS)
52a26f9c14SPatrick Mooneyclobber: clean
53*ce489a5eSPatrick Mooney	-$(RM) $(PROGS)
54a26f9c14SPatrick Mooney
55*ce489a5eSPatrick Mooney$(CMDS): $(TESTDIR)
56a26f9c14SPatrick Mooney
57a26f9c14SPatrick Mooney$(TESTDIR):
58a26f9c14SPatrick Mooney	$(INS.dir)
59a26f9c14SPatrick Mooney
60a26f9c14SPatrick Mooney$(TESTDIR)/%: %
61a26f9c14SPatrick Mooney	$(INS.file)
62a26f9c14SPatrick Mooney
63*ce489a5eSPatrick Mooney$(TESTDIR)/%: %.ksh
64*ce489a5eSPatrick Mooney	$(INS.rename)
65*ce489a5eSPatrick Mooney
66*ce489a5eSPatrick Mooney%.o: ../common/%.c
67*ce489a5eSPatrick Mooney	$(COMPILE.c) -o $@ $^
68*ce489a5eSPatrick Mooney	$(POST_PROCESS)
69*ce489a5eSPatrick Mooney
70*ce489a5eSPatrick Mooney%: %.o $(COMMON_OBJS)
71*ce489a5eSPatrick Mooney	$(LINK.c) -o $@ $^ $(LDLIBS)
72a26f9c14SPatrick Mooney	$(POST_PROCESS)
73