Skip to content

Commit 6166d32

Browse files
authored
make: Support CARGO_TARGET for multi-arch builds (#497)
This change adds support for a `CARGO_TARGET` environment variable. When set, this value is passed to i.e. `cargo build --target` to support cross-compilation for multi-architecture builds. Signed-off-by: jaerik <[email protected]> Co-authored-by: Erik Jansson <[email protected]>
1 parent 96984db commit 6166d32

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

Makefile

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
TARGET = target/debug
1+
CARGO_TARGET ?= $(shell rustup show |sed -n 's/^Default host: \(.*\)/\1/p')
2+
TARGET = target/$(CARGO_TARGET)/debug
23
ifdef CARGO_RELEASE
34
RELEASE = --release
4-
TARGET = target/release
5+
TARGET = target/$(CARGO_TARGET)/release
56
endif
67

78
ifndef PACKAGE_VERSION
@@ -20,8 +21,8 @@ PKG = $(PKG_NAME).tar.gz
2021
SHASUM = shasum -a 256
2122

2223
CARGO ?= cargo
23-
CARGO_BUILD = $(CARGO) build --frozen $(RELEASE)
24-
CARGO_TEST = $(CARGO) test --frozen $(RELEASE)
24+
CARGO_BUILD = $(CARGO) build --frozen $(RELEASE) --target $(CARGO_TARGET)
25+
CARGO_TEST = $(CARGO) test --frozen $(RELEASE) --target $(CARGO_TARGET)
2526
CARGO_FMT = $(CARGO) fmt --all
2627

2728
DOCKER = docker
@@ -112,3 +113,4 @@ docker: Dockerfile Cargo.lock
112113

113114
.PHONY: all
114115
all: build test
116+

0 commit comments

Comments
 (0)