--- Makefile.orig 2026-07-31 11:12:15 +++ Makefile 2026-07-31 11:12:48 @@ -80,14 +80,14 @@ LIBRARY_RELEASE_Linux = target/release/$(KRUN_BINARY_Linux) LIBRARY_DEBUG_Linux = target/debug/$(KRUN_BINARY_Linux) -LIBRARY_RELEASE_Darwin = target/release/$(KRUN_BINARY_Darwin) +LIBRARY_RELEASE_Darwin = target/$(CARGO_BUILD_TARGET)/release/$(KRUN_BINARY_Darwin) LIBRARY_DEBUG_Darwin = target/debug/$(KRUN_BINARY_Darwin) LIBDIR_Linux = lib64 LIBDIR_Darwin = lib ifeq ($(PREFIX),) - PREFIX := /usr/local + PREFIX := @@DEFAULT_PREFIX@@ endif .PHONY: install clean test test-prefix $(LIBRARY_RELEASE_$(OS)) $(LIBRARY_DEBUG_$(OS)) libkrun.pc clean-sysroot clean-all @@ -110,7 +110,7 @@ GCC_TRIPLET = $(subst arm64,aarch64,$(ARCH))-linux-gnu GCC_LIB_DIR = $(abspath $(SYSROOT_LINUX))/usr/lib/gcc/$(GCC_TRIPLET)/$(GCC_VERSION) # Cross-compile on macOS with the LLVM linker (brew install lld) - CC_LINUX=$(CLANG) -target $(GCC_TRIPLET) -fuse-ld=lld -Wl,-strip-debug --sysroot $(abspath $(SYSROOT_LINUX)) -B$(GCC_LIB_DIR) -L$(GCC_LIB_DIR) -Wno-c23-extensions + CC_LINUX=$(CLANG) -target $(GCC_TRIPLET) -fuse-ld=lld-mp-22 -Wl,-strip-debug --sysroot $(abspath $(SYSROOT_LINUX)) -B$(GCC_LIB_DIR) -L$(GCC_LIB_DIR) -Wno-c23-extensions else # Build on Linux host CC_LINUX=$(CC) @@ -133,7 +133,7 @@ SYSROOT_BSD_TARGET = endif # Cross-compile on macOS with the LLVM linker (brew install lld) - CC_BSD=$(CLANG) -target $(ARCH)-unknown-freebsd -fuse-ld=lld -stdlib=libc++ -Wl,-strip-debug --sysroot $(SYSROOT_BSD) + CC_BSD=$(CLANG) -target $(ARCH)-unknown-freebsd -fuse-ld=lld-mp-22 -stdlib=libc++ -Wl,-strip-debug --sysroot $(SYSROOT_BSD) else ifeq ($(OS),Linux) # Linux -> FreeBSD cross-compilation ifeq ($(SYSROOT_BSD),) @@ -218,12 +218,10 @@ mv target/release/libkrun.so target/release/$(KRUN_BASE_$(OS)) endif ifeq ($(OS),Darwin) -ifeq ($(EFI),1) - install_name_tool -id $(PREFIX)/$(LIBDIR_$(OS))/$(KRUN_SONAME_$(OS)) target/release/libkrun.dylib + install_name_tool -id $(PREFIX)/$(LIBDIR_$(OS))/$(KRUN_SONAME_$(OS)) target/$(CARGO_BUILD_TARGET)/release/libkrun.dylib + mv target/$(CARGO_BUILD_TARGET)/release/libkrun.dylib target/$(CARGO_BUILD_TARGET)/release/$(KRUN_BASE_$(OS)) endif - mv target/release/libkrun.dylib target/release/$(KRUN_BASE_$(OS)) -endif - cp target/release/$(KRUN_BASE_$(OS)) $(LIBRARY_RELEASE_$(OS)) + cp target/$(CARGO_BUILD_TARGET)/release/$(KRUN_BASE_$(OS)) $(LIBRARY_RELEASE_$(OS)) $(LIBRARY_DEBUG_$(OS)): $(SYSROOT_TARGET) $(INIT_BINARY_BSD) cargo build $(FEATURE_FLAGS)