In Makefile the target $(CARGO_TARGET_DIR): mkdir -p $@ is not necessary. With this change:
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -49,11 +49,8 @@ bin:
mkdir -p $@
-$(CARGO_TARGET_DIR):
- mkdir -p $@
-
.PHONY: build
build: bin/netavark
-bin/netavark: $(SOURCES) bin $(CARGO_TARGET_DIR)
+bin/netavark: $(SOURCES) bin
$(CARGO) build $(release)
cp $(CARGO_TARGET_DIR)/$(profile)/netavark bin/netavark
CARGO_TARGET_DIR=abc make, make CARGO_TARGET_DIR=def and make do create the target directory as expected using cargo 1.89.0.