Makefile (bf21cd9318e0a3a51b7f02c14a7c1b1aef2dc861) | Makefile (4c87aefe8930bd07275b8dd2e96ea5f24d93a52e) |
---|---|
1# 2# This file and its contents are supplied under the terms of the 3# Common Development and Distribution License ("CDDL"), version 1.0. 4# You may only use this file in accordance with the terms of version 5# 1.0 of the CDDL. 6# 7# A full copy of the text of the CDDL should have accompanied this 8# source. A copy of the CDDL is also available via the Internet at 9# http://www.illumos.org/license/CDDL. 10# 11 12# 13# Copyright 2014 Pluribus Networks Inc. | 1# 2# This file and its contents are supplied under the terms of the 3# Common Development and Distribution License ("CDDL"), version 1.0. 4# You may only use this file in accordance with the terms of version 5# 1.0 of the CDDL. 6# 7# A full copy of the text of the CDDL should have accompanied this 8# source. A copy of the CDDL is also available via the Internet at 9# http://www.illumos.org/license/CDDL. 10# 11 12# 13# Copyright 2014 Pluribus Networks Inc. |
14# Copyright 2019 Joyent, Inc. |
|
14# 15 16PROG = bhyve 17 18include ../Makefile.cmd | 15# 16 17PROG = bhyve 18 19include ../Makefile.cmd |
20include ../Makefile.cmd.64 21include ../Makefile.ctf |
|
19 | 22 |
20$(BUILD64)SUBDIRS += $(MACH64) | 23SUBDIRS = test |
21 22all := TARGET = all 23install := TARGET = install 24clean := TARGET = clean 25clobber := TARGET = clobber 26lint := TARGET = lint 27 | 24 25all := TARGET = all 26install := TARGET = install 27clean := TARGET = clean 28clobber := TARGET = clobber 29lint := TARGET = lint 30 |
31SRCS = acpi.c \ 32 atkbdc.c \ 33 bhyvegc.c \ 34 bhyverun.c \ 35 block_if.c \ 36 bootrom.c \ 37 console.c \ 38 consport.c \ 39 dbgport.c \ 40 fwctl.c \ 41 gdb.c \ 42 inout.c \ 43 ioapic.c \ 44 mem.c \ 45 mevent.c \ 46 mptbl.c \ 47 pci_ahci.c \ 48 pci_e82545.c \ 49 pci_emul.c \ 50 pci_fbuf.c \ 51 pci_hostbridge.c \ 52 pci_irq.c \ 53 pci_lpc.c \ 54 pci_nvme.c \ 55 pci_passthru.c \ 56 pci_uart.c \ 57 pci_virtio_block.c \ 58 pci_virtio_console.c \ 59 pci_virtio_net.c \ 60 pci_virtio_rnd.c \ 61 pci_xhci.c \ 62 pm.c \ 63 post.c \ 64 ps2kbd.c \ 65 ps2mouse.c \ 66 rfb.c \ 67 rtc.c \ 68 smbiostbl.c \ 69 sockstream.c \ 70 task_switch.c \ 71 uart_emul.c \ 72 usb_emul.c \ 73 usb_mouse.c \ 74 vga.c \ 75 virtio.c \ 76 vmm_instruction_emul.c \ 77 xmsr.c \ 78 spinup_ap.c \ 79 iov.c \ 80 bhyve_sol_glue.c 81 82# The virtio-scsi driver appears to include a slew of materials from FreeBSD's 83# native SCSI implementation. We will omit that complexity for now. 84 #ctl_util.c \ 85 #ctl_scsi_all.c \ 86 #pci_virtio_scsi.c \ 87 88 89OBJS = $(SRCS:.c=.o) 90 91CLOBBERFILES = $(ROOTUSRSBINPROG) 92 93MEVENT_TEST_PROG = mevent_test 94MEVENT_TEST_SRCS = mevent.c mevent_test.c 95MEVENT_TEST_OBJS = $(MEVENT_TEST_SRCS:.c=.o) 96 97CLEANFILES = $(PROG) $(MEVENT_TEST_PROG) $(MEVENT_TEST_OBJS) 98 99CFLAGS += $(CCVERBOSE) -_gcc=-Wimplicit-function-declaration -_gcc=-Wno-parentheses 100CPPFLAGS = -I$(COMPAT)/freebsd -I$(CONTRIB)/freebsd \ 101 -I$(COMPAT)/freebsd/amd64 -I$(CONTRIB)/freebsd/amd64 \ 102 -I$(CONTRIB)/freebsd/dev/usb/controller \ 103 -I$(CONTRIB)/freebsd/dev/mii \ 104 -I$(SRC)/uts/common/io/e1000api \ 105 $(CPPFLAGS.master) \ 106 -I$(SRC)/uts/i86pc/io/vmm \ 107 -I$(SRC)/uts/common \ 108 -I$(SRC)/uts/i86pc \ 109 -DWITHOUT_CAPSICUM 110 111# Disable the crypto code until it is wired up 112CPPFLAGS += -DNO_OPENSSL 113 114pci_nvme.o := CERRWARN += -_gcc=-Wno-pointer-sign 115 116SMOFF += all_func_returns,leaks,no_if_block 117 118# Force c99 for everything 119CSTD= $(CSTD_GNU99) 120C99MODE= -xc99=%all 121C99LMODE= -Xc99=%all 122 123$(PROG) := LDLIBS += -lsocket -lnsl -ldlpi -lmd -luuid -lvmmapi -lz 124$(MEVENT_TEST_PROG) := LDLIBS += -lsocket 125 |
|
28.KEEP_STATE: 29 | 126.KEEP_STATE: 127 |
30all clean clobber lint: $(SUBDIRS) | 128all: $(PROG) $(MEVENT_TEST_PROG) $(SUBDIRS) |
31 | 129 |
32install: $(SUBDIRS) 33 -$(RM) $(ROOTUSRSBINPROG) 34 -$(LN) $(ISAEXEC) $(ROOTUSRSBINPROG) | 130$(PROG): $(OBJS) 131 $(LINK.c) -o $@ $(OBJS) $(LDFLAGS) $(LDLIBS) 132 $(POST_PROCESS) |
35 | 133 |
36$(SUBDIRS): FRC 37 @cd $@; pwd; $(MAKE) CW_NO_SHADOW=true __GNUC= $(TARGET) | 134$(MEVENT_TEST_PROG): $(MEVENT_TEST_OBJS) 135 $(LINK.c) -o $@ $(MEVENT_TEST_OBJS) $(LDFLAGS) $(LDLIBS) |
38 | 136 |
137install: all $(ROOTUSRSBINPROG) $(SUBDIRS) 138 139clean: $(SUBDIRS) 140 $(RM) $(OBJS) $(CLEANFILES) 141 142clobber: clean $(SUBDIRS) 143 $(RM) $(CLOBBERFILES) 144 145lint: lint_SRCS $(SUBDIRS) 146 147$(SUBDIRS): FRC 148 @cd $@; pwd; $(MAKE) $(TARGET) 149 |
|
39FRC: 40 | 150FRC: 151 |
41include ../Makefile.targ | 152%.o: $(SRC)/uts/i86pc/io/vmm/%.c 153 $(COMPILE.c) $< 154 $(POST_PROCESS_O) |