xhyve/Makefile

127 lines
2.4 KiB
Makefile
Raw Normal View History

GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags)
2015-06-09 21:28:44 -07:00
ifeq ($V, 1)
VERBOSE =
else
VERBOSE = @
endif
include config.mk
VMM_SRC := \
src/vmm/x86.c \
src/vmm/vmm.c \
src/vmm/vmm_host.c \
src/vmm/vmm_mem.c \
src/vmm/vmm_lapic.c \
src/vmm/vmm_instruction_emul.c \
src/vmm/vmm_ioport.c \
src/vmm/vmm_callout.c \
src/vmm/vmm_stat.c \
src/vmm/vmm_util.c \
src/vmm/vmm_api.c \
src/vmm/intel/vmx.c \
src/vmm/intel/vmx_msr.c \
src/vmm/intel/vmcs.c \
src/vmm/io/vatpic.c \
src/vmm/io/vatpit.c \
src/vmm/io/vhpet.c \
src/vmm/io/vioapic.c \
src/vmm/io/vlapic.c \
src/vmm/io/vpmtmr.c \
src/vmm/io/vrtc.c
XHYVE_SRC := \
2015-06-26 23:41:00 -07:00
src/acpitbl.c \
2015-06-09 21:28:44 -07:00
src/atkbdc.c \
src/block_if.c \
src/consport.c \
src/dbgport.c \
src/inout.c \
src/ioapic.c \
src/md5c.c \
src/mem.c \
src/mevent.c \
src/mptbl.c \
src/pci_ahci.c \
src/pci_emul.c \
src/pci_hostbridge.c \
src/pci_irq.c \
src/pci_lpc.c \
src/pci_uart.c \
2016-02-01 01:58:56 +01:00
src/pci_virtio_9p.c \
2015-06-09 21:28:44 -07:00
src/pci_virtio_block.c \
src/pci_virtio_net_tap.c \
src/pci_virtio_net_vmnet.c \
2015-06-09 21:28:44 -07:00
src/pci_virtio_rnd.c \
src/pm.c \
src/post.c \
src/rtc.c \
src/smbiostbl.c \
src/task_switch.c \
src/uart_emul.c \
src/xhyve.c \
src/virtio.c \
src/xmsr.c
FIRMWARE_SRC := \
2015-06-26 23:41:00 -07:00
src/firmware/kexec.c \
src/firmware/fbsd.c
2015-06-09 21:28:44 -07:00
2016-02-01 01:58:56 +01:00
LIB9P_SRC := \
lib9p/connection.c \
lib9p/hashtable.c \
lib9p/log.c \
lib9p/pack.c \
lib9p/request.c \
lib9p/utils.c \
lib9p/sbuf/sbuf.c \
lib9p/backend/fs.c
2015-06-09 21:28:44 -07:00
SRC := \
$(VMM_SRC) \
$(XHYVE_SRC) \
$(FIRMWARE_SRC)
2016-02-01 01:58:56 +01:00
OBJ := $(SRC:src/%.c=build/%.o) $(LIB9P_SRC:lib9p/%.c=build/lib9p/%.o)
2015-06-09 21:28:44 -07:00
DEP := $(OBJ:%.o=%.d)
2016-02-01 01:58:56 +01:00
INC := -Iinclude -Ilib9p
2015-06-09 21:28:44 -07:00
CFLAGS += -DVERSION=\"$(GIT_VERSION)\"
2015-06-09 21:28:44 -07:00
TARGET = build/xhyve
all: $(TARGET) | build
.PHONY: clean all
.SUFFIXES:
-include $(DEP)
build:
@mkdir -p build
build/%.o: src/%.c
@echo cc $<
@mkdir -p $(dir $@)
$(VERBOSE) $(ENV) $(CC) $(CFLAGS) $(INC) $(DEF) -MMD -MT $@ -MF build/$*.d -o $@ -c $<
2016-02-01 01:58:56 +01:00
build/lib9p/%.o: lib9p/%.c
@echo cc $<
@mkdir -p $(dir $@)
$(VERBOSE) $(ENV) $(CC) $(CFLAGS) $(CFLAGS_LIB9P) $(INC) $(DEF) -MMD -MT $@ -MF build/lib9p/$*.d -o $@ -c $<
2015-06-09 21:28:44 -07:00
$(TARGET).sym: $(OBJ)
@echo ld $(notdir $@)
$(VERBOSE) $(ENV) $(LD) $(LDFLAGS) -Xlinker $(TARGET).lto.o -o $@ $(OBJ)
@echo dsym $(notdir $(TARGET).dSYM)
$(VERBOSE) $(ENV) $(DSYM) $@ -o $(TARGET).dSYM
$(TARGET): $(TARGET).sym
@echo strip $(notdir $@)
$(VERBOSE) $(ENV) $(STRIP) $(TARGET).sym -o $@
clean:
@rm -rf build
2016-02-01 01:58:56 +01:00