]> rtime.felk.cvut.cz Git - jailhouse-test.git/blobdiff - build/l4/Makefile
build: l4: Add new target "make bench-bare" for launching fiasco without hypervisor...
[jailhouse-test.git] / build / l4 / Makefile
index df8037943cd6e937a6dd5d4b52615fe41b32d02a..ca3244e7b3fb25cbbad45fee234f8c8311ec64d6 100644 (file)
@@ -1,21 +1,41 @@
 all: fiasco l4re
 
+help:
+       @echo "Supported targets:"
+       @echo "  all           - Build all"
+       @echo "  fiasco        - Build Fiasco kernel"
+       @echo "  fiasco-config - Reconfigure Fiasco kernel"
+       @echo "  l4re          - Build L4 runtime environment"
+       @echo "  l4re-config   - Reconfigure L4 runtime environment"
+       @echo "  hello         - Build image with hello entry for jailhouse"
+       @echo "  benchmarks    - (Re)Build ferret directory & prepare image with ferret scalar demo"
+       @echo "  bench         - (Re)Build benchmark directory & prepare image with benchmark for jailhouse"
+       @echo "  bench-bare    - (Re)Build benchmark directory & prepare image with benchmark for bare hardware launch"
+
 .NOTPARALLEL:
 
+########## Fiasco ##########
+
+.PHONY: fiasco
 fiasco: fiasco/globalconfig.out
-       $(MAKE) -C $(CURDIR)/fiasco
+       $(MAKE) -C fiasco
 
+.PHONY: fiasco-config
 fiasco-config: fiasco/globalconfig.out
 
 ifeq ($(MAKECMDGOALS),fiasco-config)
 .PHONY: fiasco/globalconfig.out
 endif
 
-fiasco/globalconfig.out: $(CURDIR)/fiasco
-       $(MAKE) -C $(CURDIR)/fiasco config
+fiasco/globalconfig.out: fiasco/.stamp-jh
+       $(MAKE) -C $(@D) config
+       touch $@
 
-$(CURDIR)/fiasco:
-       $(MAKE) -C ../../l4/kernel/fiasco BUILDDIR=$@
+fiasco/.stamp-jh:
+       $(MAKE) -C ../../l4/kernel/fiasco BUILDDIR=$(CURDIR)/$(@D)
+       touch $@
+
+########## L4Re ##########
 
 L4RE_PKGS = acpica bootstrap cxx_thread drivers drivers-frst fb-drv    \
 hello input io/io io/libio io/libio-direct io/libio-io io/libvbus      \
@@ -29,24 +49,44 @@ l4re-core/libstdc++-v3-minimal l4re-core/libsupc++                  \
 l4re-core/libsupc++-minimal l4re-core/lua l4re-core/moe l4re-core/ned  \
 l4re-core/sigma0 l4re-core/uclibc l4re-core/uclibc-headers             \
 l4re-core/uclibc-minimal libedid libirq libvcpu loader log lxfuxlibc   \
-rtc shmc x86emu
+rtc shmcKE) -C l4re MODULE_SEARCH_PATH=$(CURDIR)/fiasco E=hello elfimage x86emu
 
 .PHONY: l4re
-l4re: l4/.kconfig
-       $(MAKE) -C l4 #S="$(L4RE_PKGS:%=pkg/%)"
+l4re: l4re/.kconfig
+       $(MAKE) -C l4re #S="$(L4RE_PKGS:%=pkg/%)"
 
-l4re-config: l4/.kconfig
+.PHONY: l4re-config
+l4re-config: l4re/.kconfig
 
-ifeq ($(MAKECMDGOALS),l4-config)
-.PHONY: l4/.kconfig
+ifeq ($(MAKECMDGOALS),l4re-config)
+.PHONY: l4re/.kconfig
 endif
 
-l4/.kconfig: $(CURDIR)/l4
-       $(MAKE) -C l4 config
+l4re/.kconfig: l4re/.stamp-jh
+       $(MAKE) -C $(@D) config
+       touch $@
+
+l4re/.stamp-jh:
+       $(MAKE) -C ../../l4/l4 B=$(CURDIR)/$(@D)
+       touch $@
 
-$(CURDIR)/l4:
-       $(MAKE) -C ../../l4/l4 B=$@
+########## Application ##########
 
 .PHONY: hello
 hello:
-       $(MAKE) -C l4 MODULE_SEARCH_PATH=$(CURDIR)/fiasco E=hello elfimage
+       $(MAKE) -C l4re MODULE_SEARCH_PATH=$(CURDIR)/fiasco E=hello BOOTSTRAP_PKG=bootstrap_custom elfimage
+
+.PHONY: benchmarks
+benchmarks:
+       $(MAKE) -C l4re MODULE_SEARCH_PATH=$(CURDIR)/fiasco S=pkg/ferret:pkg/ferret/examples/monitors/simple_mon_re
+       $(MAKE) -C l4re MODULES_LIST=$(CURDIR)/ferret-modules.list MODULE_SEARCH_PATH=$(CURDIR)/fiasco:$(CURDIR)/ned-confs/ E=ferret-bench BOOTSTRAP_PKG=bootstrap_custom elfimage
+
+.PHONY: bench
+bench:
+       $(MAKE) -C l4re MODULE_SEARCH_PATH=$(CURDIR)/fiasco S=pkg/benchmark
+       $(MAKE) -C l4re MODULES_LIST=$(CURDIR)/ferret-modules.list MODULE_SEARCH_PATH=$(CURDIR)/fiasco:$(CURDIR)/ned-confs/ E=bench BOOTSTRAP_PKG=bootstrap_custom elfimage
+
+.PHONY: bench-bare
+bench-bare:
+       $(MAKE) -C l4re MODULE_SEARCH_PATH=$(CURDIR)/fiasco S=pkg/benchmark
+       $(MAKE) -C l4re MODULES_LIST=$(CURDIR)/ferret-modules.list MODULE_SEARCH_PATH=$(CURDIR)/fiasco:$(CURDIR)/ned-confs/ E=bench-bare BOOTSTRAP_PKG=bootstrap elfimage