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-full
+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/
ifeq ($(DECODER),XED)
DECODER_SRCS := vmm_xed.c
DECODER_FLAGS := -L../lib/xed
+ifeq ($(ARCH),64)
+DECODER_LIBS := $(PROJECT_ROOT)/lib/xed/libxed32e.a
+else
DECODER_LIBS := $(PROJECT_ROOT)/lib/xed/libxed.a
+endif
else
# This is an error
endif
# This section defines programs that are used to build GeekOS.
# ----------------------------------------------------------------------
-
+ifeq ($(ARCH),64)
+V3_ARCH := __V3_64BIT__
+else
V3_ARCH := __V3_32BIT__
-#V3_ARCH := __V3_64BIT__
+endif
+
# Uncomment if cross compiling
#TARGET_CC_PREFIX := $(PROJECT_ROOT)/../devtools/i386/bin/i386-elf-
#TARGET_CC_PREFIX := i386-elf-
# Target C compiler. gcc 2.95.2 or later should work.
+ifeq ($(ARCH),64)
+TARGET_CC := $(TARGET_CC_PREFIX)gcc
+else
TARGET_CC := $(TARGET_CC_PREFIX)gcc -m32
+endif
#TARGET_CC := $(TARGET_CC_PREFIX)gcc34 -m32
CPP := cpp
+ifeq ($(ARCH),64)
+AS = as
+else
AS = as --32
+endif
+
# Tool to build PFAT filesystem images.
BUILDFAT := tools/builtFat.exe