# Northwestern University
# (c) 2008, Jack Lange <jarusl@cs.northwestern.edu>
# (c) 2008, Peter Dinda <pdinda@northwestern.edu>
-# (c) 2008, Lei Xia <xiaxlei@gmail.com>
+# (c) 2008, Lei Xia <lxia@northwestern.edu>
# (c) 2008, The V3VEE Project <http://www.v3vee.org>
#
# Based on GeekOS Makefile:
#
ifeq ($(LEAN_AND_MEAN),1)
-DEBUG=0
-DEBUG_SECTIONS=
+DEBUG := 0
+DEBUG_SECTIONS :=
else
-DEBUG=1
-DEBUG_SECTIONS=
+DEBUG := 1
+DEBUG_SECTIONS :=
endif
# List of targets to build by default.
# These targets encompass everything needed to boot
# and run GeekOS.
-ALL_TARGETS := vmm vm_kernel
+ALL_TARGETS := vmm force_payload
VMM_OBJS := \
palacios/vmm_msr.o \
palacios/svm_msr.o \
palacios/vmm_socket.o \
+ palacios/vmm_xed.o \
+ palacios/vmm_rbtree.o \
+ palacios/vmm_profiler.o \
# vmx.c vmcs_gen.c vmcs.c
xed/v3-xed-compat.o \
xed/v3-udiv-compat.o \
-$(XED_OBJS) :: EXTRA_CFLAGS =
-
+$(XED_OBJS) :: EXTRA_CFLAGS = \
+ $(JRLDEBUG) \
DEVICES_OBJS := \
devices/generic.o \
devices/ramdisk.o \
devices/cdrom.o \
devices/bochs_debug.o \
+ devices/os_debug.o \
-$(DEVICES_OBJS) :: EXTRA_CFLAGS =
-
-#
-# DECODER is the decoder that will be used
-# currently we only support xed
-#
-DECODER=XED
-
-ifeq ($(DECODER),XED)
-VMM_OBJS += palacios/vmm_xed.o
-else
-# This is an error
-endif
+$(DEVICES_OBJS) :: EXTRA_CFLAGS = \
+ $(JRLDEBUG) \
$(EXTRA_C_OPTS) \
$(VMM_FLAGS) \
-I$(PROJECT_ROOT)/include \
- -fPIC \
-Werror \
+ -fPIC \
-Wp,-MD,$(@D)/.$(@F).d \
-Wp,-MT,$@ \
+#-fPIC \
#-fvisibility=hidden