Move it up one level so the hypervisor core can make use of it itself. Signed-off-by: Henning Schild <[email protected]> Tested-by: Ralf Ramsauer <[email protected]>
diff --git a/Kbuild b/Kbuild --- a/Kbuild +++ b/Kbuild @@ -1,7 +1,7 @@ # # Jailhouse, a Linux-based partitioning hypervisor # -# Copyright (c) Siemens AG, 2013-2015 +# Copyright (c) Siemens AG, 2013-2017 # # Authors: # Jan Kiszka <[email protected]> @@ -11,12 +11,40 @@ # the COPYING file in the top-level directory. # +define filechk_config_mk +( \ + echo "\$$(foreach config,\$$(filter CONFIG_%, \ + \$$(.VARIABLES)), \$$(eval undefine \$$(config)))"; \ + if [ -f $(src)/hypervisor/include/jailhouse/config.h ]; then \ + sed -e "/^#define \([^[:space:]]*\)[[:space:]]*1/!d" \ + -e "s/^#define \([^[:space:]]*\)[[:space:]]*1/\1=y/"\ + $(src)/hypervisor/include/jailhouse/config.h; \ + fi \ +) +endef + +FILE_CONFIG_MK := $(obj)/hypervisor/include/generated/config.mk +export FILE_CONFIG_MK +$(FILE_CONFIG_MK): $(src)/Makefile FORCE + $(call filechk,config_mk) + +define filechk_version + $(src)/scripts/gen_version_h $(src)/ +endef + +FILE_VERSION_H := $(obj)/hypervisor/include/generated/version.h +export FILE_VERSION_H +$(FILE_VERSION_H): $(src)/Makefile FORCE + $(call filechk,version) + +FORCE: + subdir-y := driver hypervisor configs inmates tools subdir-ccflags-y := -Werror -# inmates build depends on generated config.mk of the hypervisor, -# and the driver needs version.h from there -$(obj)/inmates $(obj)/driver: $(obj)/hypervisor +# directory dependencies on generated files +$(obj)/driver $(obj)/hypervisor: $(FILE_VERSION_H) +$(obj)/hypervisor $(obj)/inmates $(obj)/driver: $(FILE_CONFIG_MK) -clean-dirs := Documentation/generated +clean-dirs := Documentation/generated hypervisor/include/generated diff --git a/driver/Makefile b/driver/Makefile --- a/driver/Makefile +++ b/driver/Makefile @@ -20,7 +20,7 @@ jailhouse-y := cell.o main.o sysfs.o jailhouse-$(CONFIG_PCI) += pci.o jailhouse-$(CONFIG_OF) += vpci_template.dtb.o -$(obj)/main.o: $(obj)/../hypervisor/include/generated/version.h +$(obj)/main.o: $(FILE_VERSION_H) targets += vpci_template.dtb vpci_template.dtb.S diff --git a/hypervisor/Makefile b/hypervisor/Makefile --- a/hypervisor/Makefile +++ b/hypervisor/Makefile @@ -1,7 +1,7 @@ # # Jailhouse, a Linux-based partitioning hypervisor # -# Copyright (c) Siemens AG, 2013-2016 +# Copyright (c) Siemens AG, 2013-2017 # Copyright (c) Valentine Sinitsyn, 2014 # # Authors: @@ -35,26 +35,7 @@ GCOV_PROFILE := n CORE_OBJECTS = setup.o printk.o paging.o control.o lib.o mmio.o pci.o ivshmem.o CORE_OBJECTS += uart.o uart-8250.o -define filechk_config_mk -( \ - echo "\$$(foreach config,\$$(filter CONFIG_%, \ - \$$(.VARIABLES)), \$$(eval undefine \$$(config)))"; \ - if [ -f $(src)/include/jailhouse/config.h ]; then \ - sed -e "/^#define \([^[:space:]]*\)[[:space:]]*1/!d" \ - -e "s/^#define \([^[:space:]]*\)[[:space:]]*1/\1=y/" \ - $(src)/include/jailhouse/config.h; \ - fi \ -) -endef - -$(obj)/include/generated/config.mk: Makefile FORCE - $(call filechk,config_mk) - -define filechk_version - $(src)/../scripts/gen_version_h $(src)/.. -endef - -clean-dirs := include/generated arch/$(SRCARCH)/include/generated +clean-dirs := arch/$(SRCARCH)/include/generated define sed-y "/^=>/{s:=>#\(.*\):/* \1 */:; \ @@ -91,17 +72,13 @@ targets := $(defines-file) arch/$(SRCARC $(Q)mkdir -p $(dir $@) $(call cmd,defines) -$(obj)/include/generated/version.h: $(src)/Makefile FORCE - $(call filechk,version) - $(foreach co,$(CORE_OBJECTS),\ $(eval $(obj)/$(co): $(obj)/$(defines-file))) -$(obj)/setup.o: $(obj)/include/generated/version.h +$(obj)/setup.o: $(FILE_VERSION_H) -arch-builtin: $(obj)/$(defines-file) $(obj)/include/generated/config.mk FORCE - $(Q)$(MAKE) $(build)=$(obj)/arch/$(SRCARCH) \ - CONFIG_MK=$(obj)/include/generated/config.mk +arch-builtin: $(obj)/$(defines-file) FORCE + $(Q)$(MAKE) $(build)=$(obj)/arch/$(SRCARCH) always := diff --git a/hypervisor/arch/arm-common/Kbuild b/hypervisor/arch/arm-common/Kbuild --- a/hypervisor/arch/arm-common/Kbuild +++ b/hypervisor/arch/arm-common/Kbuild @@ -1,7 +1,7 @@ # # Jailhouse, a Linux-based partitioning hypervisor # -# Copyright (c) Siemens AG, 2013-2016 +# Copyright (c) Siemens AG, 2013-2017 # # Authors: # Jan Kiszka <[email protected]> @@ -10,7 +10,7 @@ # the COPYING file in the top-level directory. # -include $(CONFIG_MK) +include $(FILE_CONFIG_MK) GCOV_PROFILE := n -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
