From eba9a6f546934c77516cfaacf94563111171a300 Mon Sep 17 00:00:00 2001 From: Miguel Bernal Marin Date: Mon, 28 Jan 2019 13:24:09 -0600 Subject: [PATCH] use upstream patches --- ...te-mistakes-due-to-deprecated-PLATFO.patch | 54 +++++ 0001-makefile-install-debug.patch | 28 --- ...ile-support-SBL-binary-for-E2E-build.patch | 91 ++++++++ ...les-for-installing-debug-information.patch | 47 ++++ 0004-Use-MAKE-when-recursing.patch | 206 ++++++++++++++++++ 0005-Makefile-add-missing-dependency.patch | 36 +++ series | 6 +- 7 files changed, 439 insertions(+), 29 deletions(-) create mode 100644 0001-Makefile-eliminate-mistakes-due-to-deprecated-PLATFO.patch delete mode 100644 0001-makefile-install-debug.patch create mode 100644 0002-Makefile-support-SBL-binary-for-E2E-build.patch create mode 100644 0003-Makefile-add-rules-for-installing-debug-information.patch create mode 100644 0004-Use-MAKE-when-recursing.patch create mode 100644 0005-Makefile-add-missing-dependency.patch diff --git a/0001-Makefile-eliminate-mistakes-due-to-deprecated-PLATFO.patch b/0001-Makefile-eliminate-mistakes-due-to-deprecated-PLATFO.patch new file mode 100644 index 0000000..00cf5e0 --- /dev/null +++ b/0001-Makefile-eliminate-mistakes-due-to-deprecated-PLATFO.patch @@ -0,0 +1,54 @@ +From 46ed395bc516beb1818a88902277dafc28ace7d4 Mon Sep 17 00:00:00 2001 +From: Tw +Date: Tue, 18 Dec 2018 13:42:53 +0800 +Subject: [PATCH 1/5] Makefile: eliminate mistakes due to deprecated PLATFORM + +commit c932faa241af5129e6f096513d04d996b6607be9 master + +PLATFORM is deprecated, let's use it only for board detection + +Tracked-On: #1995 +Signed-off-by: Tw +Reviewed-by: Binbin Wu +Signed-off-by: Miguel Bernal Marin +--- + Makefile | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 9eeda63f..87eb0c93 100644 +--- a/Makefile ++++ b/Makefile +@@ -16,6 +16,7 @@ BOARD ?= apl-mrb + else ifeq ($(PLATFORM),uefi) + BOARD ?= apl-nuc + endif ++undefine PLATFORM + + ifndef BOARD + $(error BOARD must be set (apl-mrb, apl-nuc, cb2_dnv, nuc6cayh) +@@ -47,7 +48,7 @@ all: hypervisor devicemodel tools + hypervisor: + make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) RELEASE=$(RELEASE) clean + make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) RELEASE=$(RELEASE) +-ifeq ($(PLATFORM),uefi) ++ifeq ($(FIRMWARE),uefi) + echo "building hypervisor as EFI executable..." + make -C $(T)/efi-stub HV_OBJDIR=$(HV_OUT) EFI_OBJDIR=$(EFI_OUT) + endif +@@ -78,10 +79,10 @@ clean: + install: hypervisor-install devicemodel-install tools-install + + hypervisor-install: +-ifeq ($(PLATFORM),sbl) ++ifeq ($(FIRMWARE),sbl) + make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) RELEASE=$(RELEASE) install + endif +-ifeq ($(PLATFORM),uefi) ++ifeq ($(FIRMWARE),uefi) + make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) RELEASE=$(RELEASE) + make -C $(T)/efi-stub HV_OBJDIR=$(HV_OUT) EFI_OBJDIR=$(EFI_OUT) all install + endif +-- +2.20.0 + diff --git a/0001-makefile-install-debug.patch b/0001-makefile-install-debug.patch deleted file mode 100644 index 248a890..0000000 --- a/0001-makefile-install-debug.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 8cfc0cdbcd2931d335abefe93dc441527a008c3a Mon Sep 17 00:00:00 2001 -From: Alek Du -Date: Wed, 19 Dec 2018 13:14:12 +0000 -Subject: [PATCH 2/2] makefile: install-debug - -Signed-off-by: Alek Du ---- - Makefile | 9 ++++++++- - 1 file changed, 7 insertions(+), 0 deletion(-) - -diff --git a/Makefile b/Makefile -index 87eb0c93..010e1d74 100644 ---- a/Makefile -+++ b/Makefile -@@ -90,6 +90,13 @@ endif - sbl-hypervisor-install: - make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) install - -+hypervisor-install-debug: -+ make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) RELEASE=$(RELEASE) -+ make -C $(T)/efi-stub HV_OBJDIR=$(HV_OUT) EFI_OBJDIR=$(EFI_OUT) all install-debug -+ -+sbl-hypervisor-install-debug: -+ make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl PLATFORM=sbl RELEASE=$(RELEASE) install-debug -+ - devicemodel-install: - make -C $(T)/devicemodel DM_OBJDIR=$(DM_OUT) install - diff --git a/0002-Makefile-support-SBL-binary-for-E2E-build.patch b/0002-Makefile-support-SBL-binary-for-E2E-build.patch new file mode 100644 index 0000000..21b2117 --- /dev/null +++ b/0002-Makefile-support-SBL-binary-for-E2E-build.patch @@ -0,0 +1,91 @@ +From 7a1ac37e13bf221ff49bff0ad08e6b0c94369b15 Mon Sep 17 00:00:00 2001 +From: Tw +Date: Wed, 16 Jan 2019 10:17:01 +0800 +Subject: [PATCH 2/5] Makefile: support SBL binary for E2E build + +commit fe35dde42111520d92b7e68ce6475fbb0e4fce60 master + +Currently, we support SBL on two different boards. +So build and install them all in E2E build. + +Tracked-On: #2344 +Signed-off-by: Tw +Reviewed-by: Binbin Wu +Signed-off-by: Miguel Bernal Marin +--- + Makefile | 11 +++++++---- + devicemodel/Makefile | 2 +- + hypervisor/Makefile | 9 +++++++++ + 3 files changed, 17 insertions(+), 5 deletions(-) + +diff --git a/Makefile b/Makefile +index 87eb0c93..a155af36 100644 +--- a/Makefile ++++ b/Makefile +@@ -54,9 +54,11 @@ ifeq ($(FIRMWARE),uefi) + endif + + sbl-hypervisor: +- @mkdir -p $(HV_OUT)-sbl +- make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) clean +- make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) ++ @mkdir -p $(HV_OUT)-sbl/apl-mrb $(HV_OUT)-sbl/up2 ++ make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) clean ++ make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) ++ make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/up2 BOARD=up2 FIRMWARE=sbl RELEASE=$(RELEASE) clean ++ make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/up2 BOARD=up2 FIRMWARE=sbl RELEASE=$(RELEASE) + + devicemodel: tools + make -C $(T)/devicemodel DM_OBJDIR=$(DM_OUT) clean +@@ -88,7 +90,8 @@ ifeq ($(FIRMWARE),uefi) + endif + + sbl-hypervisor-install: +- make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) install ++ make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) install ++ make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/up2 BOARD=up2 FIRMWARE=sbl RELEASE=$(RELEASE) install + + devicemodel-install: + make -C $(T)/devicemodel DM_OBJDIR=$(DM_OUT) install +diff --git a/devicemodel/Makefile b/devicemodel/Makefile +index 63b7769e..aaeabee6 100644 +--- a/devicemodel/Makefile ++++ b/devicemodel/Makefile +@@ -208,7 +208,7 @@ $(DM_OBJDIR)/%.o: %.c $(HEADERS) + [ ! -e $@ ] && mkdir -p $(dir $@); \ + $(CC) $(CFLAGS) -c $< -o $@ + +-install: $(DM_OBJDIR)/$(PROGRAM) install-samples-nuc install-samples-mrb install-bios install-vmcfg ++install: $(DM_OBJDIR)/$(PROGRAM) install-samples-nuc install-samples-mrb install-bios install-vmcfg install-samples-up2 + install -D --mode=0755 $(DM_OBJDIR)/$(PROGRAM) $(DESTDIR)/usr/bin/$(PROGRAM) + + install-samples-nuc: $(SAMPLES_NUC) +diff --git a/hypervisor/Makefile b/hypervisor/Makefile +index 879028c0..53cdfc50 100644 +--- a/hypervisor/Makefile ++++ b/hypervisor/Makefile +@@ -278,12 +278,21 @@ all: lib $(HV_OBJDIR)/$(HV_FILE).32.out $(HV_OBJDIR)/$(HV_FILE).bin + + ifeq ($(CONFIG_PLATFORM_SBL),y) + install: lib $(HV_OBJDIR)/$(HV_FILE).32.out ++ifeq ($(BOARD),up2) ++ install -D $(HV_OBJDIR)/$(HV_FILE).32.out $(DESTDIR)/usr/lib/acrn/$(HV_FILE).up2.sbl ++else + install -D $(HV_OBJDIR)/$(HV_FILE).32.out $(DESTDIR)/usr/lib/acrn/$(HV_FILE).sbl ++endif + + install-debug: $(HV_OBJDIR)/$(HV_FILE).map $(HV_OBJDIR)/$(HV_FILE).out ++ifeq ($(BOARD),up2) ++ install -D $(HV_OBJDIR)/$(HV_FILE).out $(DESTDIR)/usr/lib/acrn/$(HV_FILE).up2.sbl.out ++ install -D $(HV_OBJDIR)/$(HV_FILE).map $(DESTDIR)/usr/lib/acrn/$(HV_FILE).up2.sbl.map ++else + install -D $(HV_OBJDIR)/$(HV_FILE).out $(DESTDIR)/usr/lib/acrn/$(HV_FILE).sbl.out + install -D $(HV_OBJDIR)/$(HV_FILE).map $(DESTDIR)/usr/lib/acrn/$(HV_FILE).sbl.map + endif ++endif + + .PHONY: header + header: $(VERSION) $(HV_OBJDIR)/$(HV_CONFIG_H) $(TARGET_ACPI_INFO_HEADER) +-- +2.20.0 + diff --git a/0003-Makefile-add-rules-for-installing-debug-information.patch b/0003-Makefile-add-rules-for-installing-debug-information.patch new file mode 100644 index 0000000..cb8bf57 --- /dev/null +++ b/0003-Makefile-add-rules-for-installing-debug-information.patch @@ -0,0 +1,47 @@ +From 2c62ea5c8610506d2547a62a92da2be398d9d9f9 Mon Sep 17 00:00:00 2001 +From: Tw +Date: Tue, 22 Jan 2019 11:12:53 +0800 +Subject: [PATCH 3/5] Makefile: add rules for installing debug information + +commit 862ed16ed74894aa4d5831bc344d5eb91be378f3 master + +Add rules for installing debug information. + +Tracked-On: #2344 +Signed-off-by: Tw +Reviewed-by: Binbin Wu +Signed-off-by: Miguel Bernal Marin +--- + Makefile | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/Makefile b/Makefile +index a155af36..770a0dc5 100644 +--- a/Makefile ++++ b/Makefile +@@ -89,10 +89,22 @@ ifeq ($(FIRMWARE),uefi) + make -C $(T)/efi-stub HV_OBJDIR=$(HV_OUT) EFI_OBJDIR=$(EFI_OUT) all install + endif + ++hypervisor-install-debug: ++ifeq ($(FIRMWARE),sbl) ++ make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) RELEASE=$(RELEASE) install-debug ++endif ++ifeq ($(FIRMWARE),uefi) ++ make -C $(T)/efi-stub HV_OBJDIR=$(HV_OUT) EFI_OBJDIR=$(EFI_OUT) all install-debug ++endif ++ + sbl-hypervisor-install: + make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) install + make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/up2 BOARD=up2 FIRMWARE=sbl RELEASE=$(RELEASE) install + ++sbl-hypervisor-install-debug: ++ make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) install-debug ++ make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/up2 BOARD=up2 FIRMWARE=sbl RELEASE=$(RELEASE) install-debug ++ + devicemodel-install: + make -C $(T)/devicemodel DM_OBJDIR=$(DM_OUT) install + +-- +2.20.0 + diff --git a/0004-Use-MAKE-when-recursing.patch b/0004-Use-MAKE-when-recursing.patch new file mode 100644 index 0000000..821264f --- /dev/null +++ b/0004-Use-MAKE-when-recursing.patch @@ -0,0 +1,206 @@ +From d909107ab74da0770335c7feef0215c2ba1837ce Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Wed, 16 Jan 2019 21:35:20 +0000 +Subject: [PATCH 4/5] Use $(MAKE) when recursing + +commit 5ba4afcffeaf699102c3f46e19cd38d6ca30d6bb master + +Using 'make' directly means that the jobserver environment variables don't get +passed down, so sub-builds for example don't use -j. + +This is documented as the wrong thing to do: +https://www.gnu.org/software/make/manual/html_node/MAKE-Variable.html#MAKE-Variable + +Use $(MAKE) instead, and compile times drastically improve: + + acrn-devicemodel do_compile -13.5s -89.6% 15.0s -> 1.6s + +Tracked-On: #2370 +Signed-off-by: Ross Burton +Signed-off-by: Miguel Bernal Marin +--- + Makefile | 48 ++++++++++++++++++++++---------------------- + devicemodel/Makefile | 4 ++-- + tools/Makefile | 28 +++++++++++++------------- + 3 files changed, 40 insertions(+), 40 deletions(-) + +diff --git a/Makefile b/Makefile +index 770a0dc5..5c16aea0 100644 +--- a/Makefile ++++ b/Makefile +@@ -46,35 +46,35 @@ export TOOLS_OUT + all: hypervisor devicemodel tools + + hypervisor: +- make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) RELEASE=$(RELEASE) clean +- make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) RELEASE=$(RELEASE) ++ $(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) RELEASE=$(RELEASE) clean ++ $(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) RELEASE=$(RELEASE) + ifeq ($(FIRMWARE),uefi) + echo "building hypervisor as EFI executable..." +- make -C $(T)/efi-stub HV_OBJDIR=$(HV_OUT) EFI_OBJDIR=$(EFI_OUT) ++ $(MAKE) -C $(T)/efi-stub HV_OBJDIR=$(HV_OUT) EFI_OBJDIR=$(EFI_OUT) + endif + + sbl-hypervisor: + @mkdir -p $(HV_OUT)-sbl/apl-mrb $(HV_OUT)-sbl/up2 +- make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) clean +- make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) +- make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/up2 BOARD=up2 FIRMWARE=sbl RELEASE=$(RELEASE) clean +- make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/up2 BOARD=up2 FIRMWARE=sbl RELEASE=$(RELEASE) ++ $(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) clean ++ $(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) ++ $(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/up2 BOARD=up2 FIRMWARE=sbl RELEASE=$(RELEASE) clean ++ $(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/up2 BOARD=up2 FIRMWARE=sbl RELEASE=$(RELEASE) + + devicemodel: tools +- make -C $(T)/devicemodel DM_OBJDIR=$(DM_OUT) clean +- make -C $(T)/devicemodel DM_OBJDIR=$(DM_OUT) DM_BUILD_VERSION=$(BUILD_VERSION) DM_BUILD_TAG=$(BUILD_TAG) ++ $(MAKE) -C $(T)/devicemodel DM_OBJDIR=$(DM_OUT) clean ++ $(MAKE) -C $(T)/devicemodel DM_OBJDIR=$(DM_OUT) DM_BUILD_VERSION=$(BUILD_VERSION) DM_BUILD_TAG=$(BUILD_TAG) + + tools: + mkdir -p $(TOOLS_OUT) +- make -C $(T)/tools OUT_DIR=$(TOOLS_OUT) RELEASE=$(RELEASE) ++ $(MAKE) -C $(T)/tools OUT_DIR=$(TOOLS_OUT) RELEASE=$(RELEASE) + + doc: +- make -C $(T)/doc html BUILDDIR=$(DOC_OUT) ++ $(MAKE) -C $(T)/doc html BUILDDIR=$(DOC_OUT) + + .PHONY: clean + clean: +- make -C $(T)/tools OUT_DIR=$(TOOLS_OUT) clean +- make -C $(T)/doc BUILDDIR=$(DOC_OUT) clean ++ $(MAKE) -C $(T)/tools OUT_DIR=$(TOOLS_OUT) clean ++ $(MAKE) -C $(T)/doc BUILDDIR=$(DOC_OUT) clean + rm -rf $(ROOT_OUT) + + .PHONY: install +@@ -82,31 +82,31 @@ install: hypervisor-install devicemodel-install tools-install + + hypervisor-install: + ifeq ($(FIRMWARE),sbl) +- make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) RELEASE=$(RELEASE) install ++ $(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) RELEASE=$(RELEASE) install + endif + ifeq ($(FIRMWARE),uefi) +- make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) RELEASE=$(RELEASE) +- make -C $(T)/efi-stub HV_OBJDIR=$(HV_OUT) EFI_OBJDIR=$(EFI_OUT) all install ++ $(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) RELEASE=$(RELEASE) ++ $(MAKE) -C $(T)/efi-stub HV_OBJDIR=$(HV_OUT) EFI_OBJDIR=$(EFI_OUT) all install + endif + + hypervisor-install-debug: + ifeq ($(FIRMWARE),sbl) +- make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) RELEASE=$(RELEASE) install-debug ++ $(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) RELEASE=$(RELEASE) install-debug + endif + ifeq ($(FIRMWARE),uefi) +- make -C $(T)/efi-stub HV_OBJDIR=$(HV_OUT) EFI_OBJDIR=$(EFI_OUT) all install-debug ++ $(MAKE) -C $(T)/efi-stub HV_OBJDIR=$(HV_OUT) EFI_OBJDIR=$(EFI_OUT) all install-debug + endif + + sbl-hypervisor-install: +- make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) install +- make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/up2 BOARD=up2 FIRMWARE=sbl RELEASE=$(RELEASE) install ++ $(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) install ++ $(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/up2 BOARD=up2 FIRMWARE=sbl RELEASE=$(RELEASE) install + + sbl-hypervisor-install-debug: +- make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) install-debug +- make -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/up2 BOARD=up2 FIRMWARE=sbl RELEASE=$(RELEASE) install-debug ++ $(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) install-debug ++ $(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/up2 BOARD=up2 FIRMWARE=sbl RELEASE=$(RELEASE) install-debug + + devicemodel-install: +- make -C $(T)/devicemodel DM_OBJDIR=$(DM_OUT) install ++ $(MAKE) -C $(T)/devicemodel DM_OBJDIR=$(DM_OUT) install + + tools-install: +- make -C $(T)/tools OUT_DIR=$(TOOLS_OUT) RELEASE=$(RELEASE) install ++ $(MAKE) -C $(T)/tools OUT_DIR=$(TOOLS_OUT) RELEASE=$(RELEASE) install +diff --git a/devicemodel/Makefile b/devicemodel/Makefile +index aaeabee6..b928bbd0 100644 +--- a/devicemodel/Makefile ++++ b/devicemodel/Makefile +@@ -164,7 +164,7 @@ all: $(DM_OBJDIR)/$(PROGRAM) + @echo -n "" + + $(VMCFG_CONFIG_H): +- make -C $(BASEDIR)/vmcfg $@ BASEDIR=$(BASEDIR) DM_OBJDIR=$(DM_OBJDIR) ++ $(MAKE) -C $(BASEDIR)/vmcfg $@ BASEDIR=$(BASEDIR) DM_OBJDIR=$(DM_OBJDIR) + + $(DM_OBJDIR)/$(PROGRAM): $(OBJS) + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $^ $(LIBS) +@@ -224,4 +224,4 @@ install-bios: $(BIOS_BIN) + install -D --mode=0664 -t $(DESTDIR)/usr/share/acrn/bios $^ + + install-vmcfg: +- make -C $(BASEDIR)/vmcfg install DESTDIR=$(DESTDIR) BASEDIR=$(BASEDIR) ++ $(MAKE) -C $(BASEDIR)/vmcfg install DESTDIR=$(DESTDIR) BASEDIR=$(BASEDIR) +diff --git a/tools/Makefile b/tools/Makefile +index ed5077e8..f0102427 100644 +--- a/tools/Makefile ++++ b/tools/Makefile +@@ -9,26 +9,26 @@ all: acrnlog acrn-manager acrntrace acrnbridge + endif + + acrn-crashlog: +- make -C $(T)/acrn-crashlog OUT_DIR=$(OUT_DIR) RELEASE=$(RELEASE) ++ $(MAKE) -C $(T)/acrn-crashlog OUT_DIR=$(OUT_DIR) RELEASE=$(RELEASE) + + acrnlog: +- make -C $(T)/acrnlog OUT_DIR=$(OUT_DIR) ++ $(MAKE) -C $(T)/acrnlog OUT_DIR=$(OUT_DIR) + + acrn-manager: +- make -C $(T)/acrn-manager OUT_DIR=$(OUT_DIR) RELEASE=$(RELEASE) ++ $(MAKE) -C $(T)/acrn-manager OUT_DIR=$(OUT_DIR) RELEASE=$(RELEASE) + + acrntrace: +- make -C $(T)/acrntrace OUT_DIR=$(OUT_DIR) ++ $(MAKE) -C $(T)/acrntrace OUT_DIR=$(OUT_DIR) + + acrnbridge: +- make -C $(T)/acrnbridge OUT_DIR=$(OUT_DIR) ++ $(MAKE) -C $(T)/acrnbridge OUT_DIR=$(OUT_DIR) + + .PHONY: clean + clean: +- make -C $(T)/acrn-crashlog OUT_DIR=$(OUT_DIR) clean +- make -C $(T)/acrn-manager OUT_DIR=$(OUT_DIR) clean +- make -C $(T)/acrntrace OUT_DIR=$(OUT_DIR) clean +- make -C $(T)/acrnlog OUT_DIR=$(OUT_DIR) clean ++ $(MAKE) -C $(T)/acrn-crashlog OUT_DIR=$(OUT_DIR) clean ++ $(MAKE) -C $(T)/acrn-manager OUT_DIR=$(OUT_DIR) clean ++ $(MAKE) -C $(T)/acrntrace OUT_DIR=$(OUT_DIR) clean ++ $(MAKE) -C $(T)/acrnlog OUT_DIR=$(OUT_DIR) clean + rm -rf $(OUT_DIR) + + .PHONY: install +@@ -39,16 +39,16 @@ install: acrnlog-install acrn-manager-install acrntrace-install acrnbridge-insta + endif + + acrn-crashlog-install: +- make -C $(T)/acrn-crashlog OUT_DIR=$(OUT_DIR) install ++ $(MAKE) -C $(T)/acrn-crashlog OUT_DIR=$(OUT_DIR) install + + acrnlog-install: +- make -C $(T)/acrnlog OUT_DIR=$(OUT_DIR) install ++ $(MAKE) -C $(T)/acrnlog OUT_DIR=$(OUT_DIR) install + + acrn-manager-install: +- make -C $(T)/acrn-manager OUT_DIR=$(OUT_DIR) install ++ $(MAKE) -C $(T)/acrn-manager OUT_DIR=$(OUT_DIR) install + + acrntrace-install: +- make -C $(T)/acrntrace OUT_DIR=$(OUT_DIR) install ++ $(MAKE) -C $(T)/acrntrace OUT_DIR=$(OUT_DIR) install + + acrnbridge-install: +- make -C $(T)/acrnbridge OUT_DIR=$(OUT_DIR) install ++ $(MAKE) -C $(T)/acrnbridge OUT_DIR=$(OUT_DIR) install +-- +2.20.0 + diff --git a/0005-Makefile-add-missing-dependency.patch b/0005-Makefile-add-missing-dependency.patch new file mode 100644 index 0000000..e826850 --- /dev/null +++ b/0005-Makefile-add-missing-dependency.patch @@ -0,0 +1,36 @@ +From 294d821bda413223727ab8374f22ad76b28e4cd2 Mon Sep 17 00:00:00 2001 +From: Tw +Date: Thu, 24 Jan 2019 13:54:49 +0800 +Subject: [PATCH 5/5] Makefile: add missing dependency + +commit 6584b5476e10524acc67d72deae479a068f7302b master + +There is a missing dependency between lib and bin in Makefile. +BTW, this issue is triggered by concurrent build. + +Tracked-On: #2370 +Signed-off-by: Tw +Reviewed-by: Binbin Wu +Signed-off-by: Miguel Bernal Marin +--- + hypervisor/Makefile | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/hypervisor/Makefile b/hypervisor/Makefile +index 53cdfc50..22b49a3a 100644 +--- a/hypervisor/Makefile ++++ b/hypervisor/Makefile +@@ -320,7 +320,9 @@ $(HV_OBJDIR)/$(HV_FILE).bin: $(HV_OBJDIR)/$(HV_FILE).out + + $(HV_OBJDIR)/$(HV_FILE).out: $(C_OBJS) $(S_OBJS) + ${BASH} ${LD_IN_TOOL} $(ARCH_LDSCRIPT_IN) $(ARCH_LDSCRIPT) ${HV_OBJDIR}/.config +- $(CC) -Wl,-Map=$(HV_OBJDIR)/$(HV_FILE).map -o $@ $(LDFLAGS) $(ARCH_LDFLAGS) -T$(ARCH_LDSCRIPT) $^ $(LIB_FLAGS) ++ $(CC) -Wl,-Map=$(HV_OBJDIR)/$(HV_FILE).map -o $@ $(LDFLAGS) $(ARCH_LDFLAGS) -T$(ARCH_LDSCRIPT) $^ ++ ++$(LIB_FLAGS): lib + + .PHONY: clean + clean: +-- +2.20.0 + diff --git a/series b/series index 425af56..dc14cbf 100644 --- a/series +++ b/series @@ -1,2 +1,6 @@ #this is only for beta branch 150000* tag -0001-makefile-install-debug.patch +0001-Makefile-eliminate-mistakes-due-to-deprecated-PLATFO.patch +0002-Makefile-support-SBL-binary-for-E2E-build.patch +0003-Makefile-add-rules-for-installing-debug-information.patch +0004-Use-MAKE-when-recursing.patch +0005-Makefile-add-missing-dependency.patch