]> rtime.felk.cvut.cz Git - jailhouse.git/blob - Makefile
tooling: Fix make problems with run-kbuild macro
[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 DOXYGEN ?= doxygen
26
27 kbuild = -C $(KDIR) M=$$PWD $@
28
29 modules:
30         $(Q)$(MAKE) $(kbuild)
31
32 hypervisor/jailhouse.bin: modules
33
34 # recursive build of tools
35 tools:
36         $(Q)$(MAKE) -C tools
37
38 # documentation, build needs to be triggered explicitly
39 docs:
40         $(DOXYGEN) Documentation/Doxyfile
41
42 # clean up kernel, tools and generated docs
43 clean:
44         $(Q)$(MAKE) $(kbuild)
45         $(Q)$(MAKE) -C tools $@
46         rm -rf Documentation/generated
47
48 modules_install: modules
49         $(Q)$(MAKE) $(kbuild)
50
51 firmware_install: hypervisor/jailhouse.bin $(DESTDIR)$(firmwaredir)
52         $(INSTALL_DATA) $^
53
54 install: modules_install firmware_install
55         $(Q)$(MAKE) -C tools $@
56
57 .PHONY: modules_install install clean firmware_install modules tools docs