The shell builtin 'source' command is a bash extension.
Use the '.' portable command.
This fix building when /bin/sh is dash (Ubuntu 16):
$ make -C roms efi
[...]
Fd File Name:QEMU_EFI
(/source/qemu/roms/edk2/Build/ArmVirtQemu-AARCH64/DEBUG_GCC5/FV/QEMU_EFI.fd)
Fd File Name:QEMU_VARS
(/source/qemu/roms/edk2/Build/ArmVirtQemu-AARCH64/DEBUG_GCC5/FV/QEMU_VARS.fd)
GUID cross reference file can be found at
/source/qemu/roms/edk2/Build/ArmVirtQemu-AARCH64/DEBUG_GCC5/FV/Guid.xref
- Done -
Build end time: 16:33:29, Mar.09 2019
Build total time: 00:03:35
cp edk2/Build/ArmVirtQemu-AARCH64/DEBUG_/FV/QEMU_EFI.fd \
../pc-bios/edk2-aarch64-code.fd
cp: cannot stat 'edk2/Build/ArmVirtQemu-AARCH64/DEBUG_/FV/QEMU_EFI.fd':
No such file or directory
Makefile.edk2:45: recipe for target '../pc-bios/edk2-aarch64-code.fd' failed
make[1]: *** [../pc-bios/edk2-aarch64-code.fd] Error 1
make[1]: Leaving directory '/source/qemu/roms'
Makefile:148: recipe for target 'efi' failed
make: *** [efi] Error 2
make: Leaving directory '/source/qemu/roms'
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
roms/Makefile.edk2 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/roms/Makefile.edk2 b/roms/Makefile.edk2
index ad6fff044c..6c5e9b9eea 100644
--- a/roms/Makefile.edk2
+++ b/roms/Makefile.edk2
@@ -11,7 +11,7 @@
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
# WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-toolchain = $(shell source ./edk2-funcs.sh && qemu_edk2_get_toolchain $(1))
+toolchain = $(shell . ./edk2-funcs.sh && qemu_edk2_get_toolchain $(1))
licenses := \
edk2/License.txt \
--
2.20.1