]> rtime.felk.cvut.cz Git - jailhouse.git/blobdiff - inmates/Makefile
jailhouse: inmates: bench: Add -R option -- repeats count.
[jailhouse.git] / inmates / Makefile
index abb26867ca7b3acca01b239fd0ef16be2494369d..502425bbeb31ecdf91e4077226841624245cc750 100644 (file)
 # the COPYING file in the top-level directory.
 #
 
-LINUXINCLUDE := -I$(src)
+INMATES_LIB = $(src)/lib/$(SRCARCH)
+export INMATES_LIB
+
+INCLUDES := -I$(INMATES_LIB) \
+           -I$(src)/../hypervisor/arch/$(SRCARCH)/include \
+           -I$(src)/../hypervisor/include
+
+LINUXINCLUDE  :=
+KBUILD_AFLAGS += $(INCLUDES)
 KBUILD_CFLAGS := -g -Os -Wall -Wstrict-prototypes -Wtype-limits \
                 -Wmissing-declarations -Wmissing-prototypes \
                 -fno-strict-aliasing -fomit-frame-pointer -fno-pic \
-                -fno-common -fno-stack-protector -I. \
-                -I$(src)/../hypervisor/arch/$(SRCARCH)/include \
-                -I$(src)/../hypervisor/include
+                -fno-common -fno-stack-protector -DJAILHOUSE $(INCLUDES)
 ifneq ($(wildcard $(src)/../hypervisor/include/jailhouse/config.h),)
 KBUILD_CFLAGS += -include $(src)/../hypervisor/include/jailhouse/config.h
 endif
 
 OBJCOPYFLAGS := -O binary
-LDFLAGS += -T
-
-
-ifeq ($(SRCARCH), x86)
-KBUILD_CFLAGS += -m64
-INMATES := tiny-demo.bin apic-demo.bin
-endif
-
-tiny-demo-y := tiny-demo.o header.o printk.o pm-timer.o
-
-apic-demo-y := apic-demo.o header.o printk.o pm-timer.o
-
-
-always := $(INMATES)
-
-# $(NAME-y) NAME-linked.o NAME.bin
-targets += $(foreach t,$(INMATES:.bin=-y),$($t)) $(INMATES:.bin=-linked.o) \
-               $(INMATES)
-
-# prevent deleting intermediate files which would cause rebuilds
-.SECONDARY: $(addprefix $(obj)/,$(targets))
+LDFLAGS += --gc-sections -T
 
-# obj/NAME-linked.o: ... obj/$(NAME-y)
-.SECONDEXPANSION:
-$(obj)/%-linked.o: $(src)/inmate.lds $$(addprefix $$(obj)/,$$($$*-y))
-       $(call if_changed,ld)
+subdir-y := lib/$(SRCARCH) demos/$(SRCARCH) tools/$(SRCARCH)
 
-$(obj)/%.bin: $(obj)/%-linked.o
-       $(call if_changed,objcopy)
+# demos and tools depend on the library
+$(obj)/demos/$(SRCARCH) $(obj)/tools/$(SRCARCH): $(obj)/lib/$(SRCARCH)