#
-
-
-
-
PROJECT_ROOT := ..
-PALACIOS_BUILD_DIR := $(PROJECT_ROOT)/palacios/build
GEEKOS_BUILD_DIR := $(PROJECT_ROOT)/geekos/build
GUEST_ISO_DIR := /opt/vmm-tools/isos
QEMU := /usr/local/qemu/bin/qemu-system-x86_64
-
-#when -DNDEBUG is set the kassert functions are disabled
-#JRLDEBUG=-DNDEBUG
-
-# DEBUG=1 means VMM_DEBUG, VMM_INFO, and VMM_TRACE are enabled
-# as are SERIAL_PRINT_DEBUG
-#
-DEBUG_SECTIONS := DEBUG=1
-
-ifeq ($(DEBUG_ALL),1)
- DEBUG_SECTIONS:= $(DEBUG_SECTIONS) DEBUG_ALL=1
-endif
-
-ifeq ($(DEBUG_SHADOW_PAGING),1)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_SHADOW_PAGING=1
-else
-ifeq ($(DEBUG_SHADOW_PAGING),0)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_SHADOW_PAGING=0
-endif
-endif
-
-ifeq ($(DEBUG_CTRL_REGS),1)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_CTRL_REGS=1
-else
-ifeq ($(DEBUG_CTRL_REGS),0)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_CTRL_REGS=0
-endif
-endif
-
-ifeq ($(DEBUG_INTERRUPTS),1)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_INTERRUPTS=1
-else
-ifeq ($(DEBUG_INTERRUPTS),0)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_INTERRUPTS=0
-endif
-endif
-
-ifeq ($(DEBUG_IO),1)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_IO=1
-else
-ifeq ($(DEBUG_IO),0)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_IO=0
-endif
-endif
-
-ifeq ($(DEBUG_KEYBOARD),1)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_KEYBOARD=1
-else
-ifeq ($(DEBUG_KEYBOARD),0)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_KEYBOARD=0
-endif
-endif
-
-ifeq ($(DEBUG_PIC),1)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_PIC=1
-else
-ifeq ($(DEBUG_PIC),0)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_PIC=0
-endif
-endif
-
-ifeq ($(DEBUG_PIT),1)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_PIT=1
-else
-ifeq ($(DEBUG_PIT),0)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_PIT=0
-endif
-endif
-
-ifeq ($(DEBUG_NVRAM),1)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_NVRAM=1
-else
-ifeq ($(DEBUG_NVRAM),0)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_NVRAM=0
-endif
-endif
-
-ifeq ($(DEBUG_GENERIC),1)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_GENERIC=1
-else
-ifeq ($(DEBUG_GENERIC),0)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_GENERIC=0
-endif
-endif
-
-ifeq ($(DEBUG_EMULATOR),1)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_EMULATOR=1
-else
-ifeq ($(DEBUG_EMULATOR),0)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_EMULATOR=0
-endif
-endif
-
-ifeq ($(DEBUG_RAMDISK),1)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_RAMDISK=1
-else
-ifeq ($(DEBUG_RAMDISK),0)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_RAMDISK=0
-endif
-endif
-
-ifeq ($(DEBUG_XED),1)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_XED=1
-else
-ifeq ($(DEBUG_XED),0)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_XED=0
-endif
-endif
-
-ifeq ($(DEBUG_HALT),1)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_HALT=1
-else
-ifeq ($(DEBUG_HALT),0)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_HALT=0
-endif
-endif
-
-ifeq ($(DEBUG_DEV_MGR),1)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_DEV_MGR=1
-else
-ifeq ($(DEBUG_DEV_MGR),0)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_DEV_MGR=0
-endif
-endif
-
-
ifeq ($(PROFILE_VMM),1)
GEEKOS_FLAGS:= $(GEEKOS_FLAGS) PROFILE_VMM=1
endif
GEEKOS_FLAGS:= $(GEEKOS_FLAGS) INSTRUMENT_VMM=1
endif
+
+
# ----------------------------------------------------------------------
# Targets -
# Specifies files to be built
all : $(ALL_TARGETS)
-palacios64:
- (cd $(PALACIOS_BUILD_DIR) && make ARCH=64 $(DEBUG_SECTIONS))
-
-palacios32:
- (cd $(PALACIOS_BUILD_DIR) && make $(DEBUG_SECTIONS))
-
-
-palacios-full32:
- (cd $(PALACIOS_BUILD_DIR) && make $(DEBUG_SECTIONS) world)
-
-palacios-full64:
- (cd $(PALACIOS_BUILD_DIR) && make ARCH=64 $(DEBUG_SECTIONS) world)
-
-palacios-lean:
- (cd $(PALACIOS_BUILD_DIR) && make LEAN_AND_MEAN=1 world)
-
-
-
-geekos: palacios32
- cp $(PALACIOS_BUILD_DIR)/libv3vee.a $(GEEKOS_BUILD_DIR)/palacios/
- cp $(PALACIOS_BUILD_DIR)/../lib/xed/libxed.a $(GEEKOS_BUILD_DIR)/palacios/
- cp $(PALACIOS_BUILD_DIR)/vm_kernel $(GEEKOS_BUILD_DIR)/palacios/
+geekos:
+ cp $(PROJECT_ROOT)/libv3vee.a $(GEEKOS_BUILD_DIR)/palacios/
(cd $(GEEKOS_BUILD_DIR) && make $(GEEKOS_FLAGS))
-geekos-full: palacios-full32
- cp $(PALACIOS_BUILD_DIR)/libv3vee.a $(GEEKOS_BUILD_DIR)/palacios/
- cp $(PALACIOS_BUILD_DIR)/../lib/xed/libxed.a $(GEEKOS_BUILD_DIR)/palacios/
- cp $(PALACIOS_BUILD_DIR)/vm_kernel $(GEEKOS_BUILD_DIR)/palacios/
- (cd $(GEEKOS_BUILD_DIR) && make clean && make $(GEEKOS_FLAGS))
-
-
-world: geekos-full palacios-full64
-
-lean-and-mean: palacios-lean geekos-full
-
-
-
# make ready to boot over PXE
geekos-pxe:
cp $(GEEKOS_BUILD_DIR)/vmm.img /tftpboot/vmm.img
# Clean build directories of generated files
clean :
- for d in $(GEEKOS_BUILD_DIR) $(PALACIOS_BUILD_DIR); do \
+ for d in $(GEEKOS_BUILD_DIR) do \
(cd $$d && make clean); \
done