2 # Jailhouse, a Linux-based partitioning hypervisor
4 # Copyright (c) Siemens AG, 2013
7 # Jan Kiszka <jan.kiszka@siemens.com>
9 # This work is licensed under the terms of the GNU GPL, version 2. See
10 # the COPYING file in the top-level directory.
13 LINUXINCLUDE := -I$(src)/arch/$(SRCARCH)/include -I$(src)/include
14 KBUILD_CFLAGS := -g -Os -Wall -Wstrict-prototypes -Wtype-limits \
15 -Wmissing-declarations -Wmissing-prototypes \
16 -fno-strict-aliasing -fno-pic -fno-common \
17 -fno-stack-protector -fno-builtin-ffsl
20 KBUILD_CFLAGS += -mcmodel=kernel
21 KBUILD_CPPFLAGS += -m64
24 ifneq ($(wildcard $(src)/include/jailhouse/config.h),)
25 KBUILD_CFLAGS += -include $(src)/include/jailhouse/config.h
28 $(obj)/arch/$(SRCARCH)/built-in.o:
29 $(Q)$(MAKE) $(build)=$(obj)/arch/$(SRCARCH)
31 always := jailhouse.bin
33 hypervisor-y := setup.o printk.o paging.o control.o lib.o \
34 arch/$(SRCARCH)/built-in.o hypervisor.lds
35 targets += $(hypervisor-y)
37 HYPERVISOR_OBJS = $(addprefix $(obj)/,$(hypervisor-y))
39 LDFLAGS_hypervisor.o := -T
41 targets += hypervisor.o
42 $(obj)/hypervisor.o: $(src)/hypervisor.lds $(HYPERVISOR_OBJS)
45 OBJCOPYFLAGS_jailhouse.bin := -O binary
47 targets += jailhouse.bin
48 $(obj)/jailhouse.bin: $(obj)/hypervisor.o
49 $(call if_changed,objcopy)