Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


updated msr map to allow early hooking
[palacios.git] / build / Makefile
1 # Top level Makefile for V3Vee
2 #
3 #  Northwestern University 
4 # (c) 2008, Jack Lange <jarusl@cs.northwestern.edu>
5 # (c) 2008, Peter Dinda <pdinda@northwestern.edu> 
6 # (c) 2008, Lei Xia <xiaxlei@gmail.com>
7 # (c) 2008, The V3VEE Project <http://www.v3vee.org> 
8 #
9 # Required software to build V3Vee:
10 # - GNU Make (http://www.gnu.org/software/make)
11 # - nasm (http://nasm.sourceforge.net)
12 # - Perl5, AWK (any version), egrep
13 #
14
15
16 PROJECT_ROOT := ..
17 GEEKOS_BUILD_DIR := $(PROJECT_ROOT)/geekos/build
18 GUEST_ISO_DIR := /opt/vmm-tools/isos
19
20 # List of targets to build by default.
21 # These targets encompass everything needed to boot
22 # and run GeekOS.
23 ALL_TARGETS := geekos-full
24
25 QEMU := /usr/local/qemu/bin/qemu-system-x86_64
26
27
28 ifeq ($(PROFILE_VMM),1)
29   GEEKOS_FLAGS:= $(GEEKOS_FLAGS) PROFILE_VMM=1
30 endif
31
32 ifeq ($(INSTRUMENT_VMM),1)
33   GEEKOS_FLAGS:= $(GEEKOS_FLAGS) INSTRUMENT_VMM=1
34 endif
35
36
37
38 # ----------------------------------------------------------------------
39 # Targets -
40 #   Specifies files to be built
41 # ----------------------------------------------------------------------
42
43 # Default target - see definition of ALL_TARGETS in Configuration section
44 all : $(ALL_TARGETS)
45
46
47 geekos:
48         cp $(PROJECT_ROOT)/libv3vee.a $(GEEKOS_BUILD_DIR)/palacios/
49         (cd $(GEEKOS_BUILD_DIR) && make $(GEEKOS_FLAGS))
50
51
52 # make ready to boot over PXE
53 geekos-pxe: 
54         cp $(GEEKOS_BUILD_DIR)/vmm.img /tftpboot/vmm.img
55
56 geekos-run: 
57         $(QEMU) -m 1024 -serial file:serial.out -cdrom $(GUEST_ISO_DIR)/puppy.iso -fda $(GEEKOS_BUILD_DIR)/vmm.img 
58
59 geekos-iso: 
60         cp $(GEEKOS_BUILD_DIR)/vmm.img iso/vmm.img
61         mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o test.iso iso
62
63
64
65 force:
66
67
68
69
70 # Clean build directories of generated files
71 clean :
72         for d in $(GEEKOS_BUILD_DIR) do \
73                 (cd $$d && make clean); \
74         done
75
76