# ----------------------------------------------------------------------
PROJECT_ROOT := ..
PALACIOS_BUILD_DIR := $(PROJECT_ROOT)/palacios/build
+KITTEN_TOP_DIR := $(PROJECT_ROOT)/kitten
GEEKOS_BUILD_DIR := $(PROJECT_ROOT)/geekos/build
GUEST_ISO_DIR := /opt/vmm-tools/isos
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
+
# ----------------------------------------------------------------------
# Targets -
palacios:
+ (cd $(PALACIOS_BUILD_DIR) && make $(DEBUG_SECTIONS))
+
+
+palacios-full:
(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)
+
+kitten: palacios-full64
+ cp $(PALACIOS_BUILD_DIR)/libv3vee.a $(KITTEN_TOP_DIR)/palacios/
+ cp $(PALACIOS_BUILD_DIR)/../lib/xed/libxed32e.a $(KITTEN_TOP_DIR)/palacios/
+ cp $(PALACIOS_BUILD_DIR)/vm_kernel $(KITTEN_TOP_DIR)/palacios/
+ (cd $(KITTEN_TOP_DIR) && make oldconfig && make)
+
geekos:
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)
+
+
+geekos-full:
+ 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)
+world: palacios-full geekos-full
+
+lean-and-mean: palacios-lean geekos-full
+
# make ready to boot over PXE
-geekos-pxe: geekos
+geekos-pxe:
cp $(GEEKOS_BUILD_DIR)/vmm.img /tftpboot/vmm.img
-geekos-run: geekos
+geekos-run:
$(QEMU) -m 1024 -serial file:serial.out -cdrom $(GUEST_ISO_DIR)/puppy.iso -fda $(GEEKOS_BUILD_DIR)/vmm.img
-geekos-iso: geekos
+geekos-iso:
cp $(GEEKOS_BUILD_DIR)/vmm.img iso/vmm.img
mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o test.iso iso