X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=Makefile;h=8e51d8f8947df774b37c5b1067ecf8b64a145326;hb=210c49c1f9b523ff94fd5b6791961d242d5bbae4;hp=f483b058cf16bd841dc6041ea5b767de9878af55;hpb=d0aa5bd27c22a33f04f47363910f9773fdeab7eb;p=palacios.git diff --git a/Makefile b/Makefile index f483b05..8e51d8f 100644 --- a/Makefile +++ b/Makefile @@ -483,6 +483,13 @@ else DEFAULT_EXTRA_TARGETS= endif +ifdef V3_CONFIG_NAUTILUS +DEFAULT_EXTRA_TARGETS=nautilus +else +DEFAULT_EXTRA_TARGETS= +endif + + # The all: target is the default when no target is given on the # command line. # This allow a user to issue only 'make' to build a kernel including modules @@ -493,8 +500,19 @@ all: palacios $(DEFAULT_EXTRA_TARGETS) ifdef V3_CONFIG_LINUX CFLAGS += -mcmodel=kernel else +ifdef V3_CONFIG_NAUTILUS +CFLAGS += -O2 \ + -fno-omit-frame-pointer \ + -ffreestanding \ + -fno-stack-protector \ + -fno-strict-aliasing \ + -mno-red-zone \ + -mcmodel=large +LDFLAGS += -z max-page-size=0x1000 +else CFLAGS += -fPIC endif +endif ifdef V3_CONFIG_FRAME_POINTER CFLAGS += -fno-omit-frame-pointer $(call cc-option,-fno-optimize-sibling-calls,) @@ -521,7 +539,7 @@ NOSTDINC_FLAGS += # disable pointer signedness warnings in gcc 4.0 CFLAGS += $(call cc-option,-Wno-pointer-sign,) -CFLAGS += -O +CFLAGS += -O2 # Default kernel image to build when no specific target is given. # KBUILD_IMAGE may be overruled on the commandline or @@ -639,6 +657,11 @@ linux_module/v3vee.ko: linux_module/*.c linux_module/*.h libv3vee.a linux_module: linux_module/v3vee.ko +nautilus/libnautilus.a: nautilus/*.c nautilus/*.h libv3vee.a + cd nautilus/ && make + cp nautilus/libnautilus.a . + +nautilus: nautilus/libnautilus.a palacios.asm: palacios