]> rtime.felk.cvut.cz Git - hercules2020/jailhouse-build.git/blob - build/Makefile
Makefile: Add dependency on JH configs
[hercules2020/jailhouse-build.git] / build / Makefile
1 all: buildroot/images/rootfs.cpio.uboot linux-4.4/vmlinux
2
3 NPROC:=$(shell nproc)
4
5 # TX2 U-Boot does not support FIT images
6 image.fit: buildroot/images/rootfs.cpio.uboot linux-4.4/vmlinux
7         mkimage -f auto -d linux-4.4/arch/arm64/boot/Image -i buildroot/images/rootfs.cpio.uboot -b linux-4.4/arch/arm64/boot/dts/tegra186-quill-p3310-1000-c03-00-base.dtb image.fit
8
9 buildroot/images/rootfs.cpio.uboot: ./buildroot/.config
10 buildroot/images/rootfs.cpio.uboot: rootfs-overlay/lib/firmware/jailhouse.bin rootfs-overlay/lib/modules/4.4.38+/modules.dep
11 buildroot/images/rootfs.cpio.uboot: $(shell find rootfs-overlay)
12         $(MAKE) -j1 -C buildroot ROOTFS_CPIO_COMPRESS_CMD="gzip --fast -c"
13
14 rootfs-overlay/lib/firmware/jailhouse.bin: ../jailhouse/hypervisor/jailhouse.bin
15 rootfs-overlay/lib/firmware/jailhouse.bin: $(wildcard ../jailhouse/configs/arm64/*.cell)
16         $(MAKE) -C ../jailhouse -j$(NPROC) install KDIR=$(CURDIR)/linux-4.4 ARCH=arm64 DESTDIR=$(CURDIR)/rootfs-overlay  prefix=/usr
17         mkdir -p rootfs-overlay/jailhouse/configs/ rootfs-overlay/jailhouse/demos/
18 #       cp ../jailhouse/inmates/demos/arm64/my-demo.bin rootfs-overlay/jailhouse/demos/
19         cp ../jailhouse/configs/arm64/jetson-tx2.cell rootfs-overlay/jailhouse/configs/
20         cp ../jailhouse/configs/arm64/jetson-tx2-demo.cell rootfs-overlay/jailhouse/configs/
21
22 ../jailhouse/hypervisor/jailhouse.bin: ../jailhouse/include/jailhouse/config.h
23 ../jailhouse/hypervisor/jailhouse.bin: linux-4.4/vmlinux
24 ../jailhouse/hypervisor/jailhouse.bin: $(addprefix ../jailhouse/,$(shell cd ../jailhouse && git ls-files))
25         $(MAKE) -C ../jailhouse -j$(NPROC) KDIR=$(CURDIR)/linux-4.4 ARCH=arm64 prefix=/usr
26
27 ../jailhouse/include/jailhouse/config.h: Makefile
28         rm -f $@.tmp
29         echo '#define CONFIG_TRACE_ERROR             1' >> $@.tmp
30         echo '#define CONFIG_ARM_GIC_V2              1' >> $@.tmp
31         echo '#define CONFIG_MACH_JETSON_TX2         1' >> $@.tmp
32         mv --update $@.tmp $@
33
34 rootfs-overlay/lib/modules/4.4.38+/modules.dep: linux-4.4/vmlinux
35         $(MAKE) -C linux-4.4 -j$(NPROC)  modules_install INSTALL_MOD_PATH=$(CURDIR)/rootfs-overlay
36
37 linux-4.4/vmlinux:
38         $(MAKE) -C $(@D) -j$(NPROC)
39
40 clean:
41         rm buildroot/images/rootfs.cpio.uboot linux-4.4/vmlinux