# the COPYING file in the top-level directory.
#
+# Check make version
+need := 3.82
+ifneq ($(need),$(firstword $(sort $(MAKE_VERSION) $(need))))
+$(error Too old make version $(MAKE_VERSION), at least $(need) required)
+endif
+
# no recipes above this one (also no includes)
all: modules tools
modules:
$(Q)$(MAKE) $(kbuild)
-hypervisor/jailhouse.bin: modules
-
# recursive build of tools
tools:
$(Q)$(MAKE) -C tools
docs:
$(DOXYGEN) Documentation/Doxyfile
+# remove generated docs
+docs_clean:
+ rm -rf Documentation/generated
+
# clean up kernel, tools and generated docs
-clean:
+clean: docs_clean
$(Q)$(MAKE) $(kbuild)
$(Q)$(MAKE) -C tools $@
- rm -rf Documentation/generated
modules_install: modules
$(Q)$(MAKE) $(kbuild)
-firmware_install: hypervisor/jailhouse.bin $(DESTDIR)$(firmwaredir)
- $(INSTALL_DATA) $^
+firmware_install: $(DESTDIR)$(firmwaredir) modules
+ $(INSTALL_DATA) hypervisor/jailhouse*.bin $<
+
+ifeq ($(ARCH),x86)
+TOOL_INMATES_INSTALL := tool_inmates_install
+tool_inmates_install: $(DESTDIR)$(libexecdir)/jailhouse
+ $(INSTALL_DATA) inmates/tools/$(ARCH)/*.bin $<
+endif
-install: modules_install firmware_install
+install: modules_install firmware_install $(TOOL_INMATES_INSTALL)
$(Q)$(MAKE) -C tools $@
-.PHONY: modules_install install clean firmware_install modules tools docs
+.PHONY: modules_install install clean firmware_install modules tools docs \
+ docs_clean