This patch enables native builds on MSYS2 with symlinks disabled.
Signed-off-by: Helge Konetzka <hk@zapateado.de>
---
Without this patch these builds fail with:
make[1]: *** No rule to make target 'multiboot.bin', needed by 'all'. Stop.
make: *** [Makefile:189: pc-bios/optionrom/all] Error 2
make: *** Waiting for unfinished jobs....
...
==> ERROR: A failure occurred in build().
Aborting...
Builds fail because make cannot determine correct TOPSRC_DIR/SRC_DIR
based on copied instead of linked Makefile
After applying this patch to current master I succeeded in building
natively on Linux and Windows/MSYS2 with symlinks disabled and enabled
(winsymlinks:nativestrict, bash executed as Administrator).
configure | 4 ++++
pc-bios/optionrom/Makefile | 5 ++---
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/configure b/configure
index da2501489f..a12bc8edbf 100755
--- a/configure
+++ b/configure
@@ -5090,6 +5090,10 @@ for rom in seabios; do
echo "RANLIB=$ranlib" >> $config_mak
done
+config_mak=pc-bios/optionrom/config.mak
+echo "# Automatically generated by configure - do not modify" >
$config_mak
+echo "TOPSRC_DIR=$source_path" >> $config_mak
+
if test "$skip_meson" = no; then
cross="config-meson.cross.new"
meson_quote() {
diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
index 30771f8d17..3482508a86 100644
--- a/pc-bios/optionrom/Makefile
+++ b/pc-bios/optionrom/Makefile
@@ -1,6 +1,5 @@
-CURRENT_MAKEFILE := $(realpath $(word $(words
$(MAKEFILE_LIST)),$(MAKEFILE_LIST)))
-SRC_DIR := $(dir $(CURRENT_MAKEFILE))
-TOPSRC_DIR := $(SRC_DIR)/../..
+include config.mak
+SRC_DIR := $(TOPSRC_DIR)/pc-bios/optionrom
VPATH = $(SRC_DIR)
all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin