]> rtime.felk.cvut.cz Git - jailhouse.git/blob - Makefile
tooling: Fix parallel kbuild
[jailhouse.git] / Makefile
1 #
2 # Jailhouse, a Linux-based partitioning hypervisor
3 #
4 # Copyright (c) Siemens AG, 2013, 2014
5 #
6 # Authors:
7 #  Jan Kiszka <jan.kiszka@siemens.com>
8 #
9 # This work is licensed under the terms of the GNU GPL, version 2.  See
10 # the COPYING file in the top-level directory.
11 #
12
13 # no recipes above this one (also no includes)
14 all: modules tools
15
16 # includes installation-related variables and definitions
17 include scripts/include.mk
18
19 # out-of-tree build for our kernel-module, firmware and inmates
20 KDIR ?= /lib/modules/`uname -r`/build
21
22 INSTALL_MOD_PATH ?= $(DESTDIR)
23 export INSTALL_MOD_PATH
24
25 define run-kbuild =
26         +$(Q)$(MAKE) -C $(KDIR) M=$$PWD $@
27 endef
28
29 modules:
30         $(run-kbuild)
31
32 hypervisor/jailhouse.bin: modules
33
34 # recursive build of tools
35 tools:
36         $(Q)$(MAKE) -C tools
37
38 # clean up kernel and tools
39 clean:
40         $(run-kbuild)
41         $(Q)$(MAKE) -C tools $@
42
43 modules_install: modules
44         $(run-kbuild)
45
46 firmware_install: hypervisor/jailhouse.bin $(DESTDIR)$(firmwaredir)
47         $(INSTALL_DATA) $^
48
49 install: modules_install firmware_install
50         $(Q)$(MAKE) -C tools $@
51
52 .PHONY: modules_install install clean firmware_install modules tools