2525# Binaries
2626CARGO ?= cargo
2727CARGOFLAGS ?=
28- RUSTC_ARCH ?= # should be empty except for cross-build, not --target $(shell rustc --print host-tuple)
2928
3029# prefix prepended to all binaries and library dir
3130PROG_PREFIX ?=
@@ -46,8 +45,11 @@ INSTALLDIR_BIN=$(DESTDIR)$(BINDIR)
4645BASEDIR ?= $(shell pwd)
4746ifdef CARGO_TARGET_DIR
4847BUILDDIR := $(CARGO_TARGET_DIR ) /${PROFILE}
48+ BUILDDIR_UUDOC := $(CARGO_TARGET_DIR ) /${PROFILE}
4949else
50- BUILDDIR := $(BASEDIR ) /target/${PROFILE}
50+ BUILDDIR := $(BASEDIR ) /target/$(CARGO_BUILD_TARGET ) /${PROFILE}
51+ # uudoc should not be cross build
52+ BUILDDIR_UUDOC := $(BASEDIR ) /target/$(PROFILE )
5153endif
5254PKG_BUILDDIR := $(BUILDDIR ) /deps
5355DOCSDIR := $(BASEDIR ) /docs
@@ -316,14 +318,14 @@ all: build
316318build-pkgs :
317319ifneq (${MULTICALL}, y)
318320ifdef BUILD_SPEC_FEATURE
319- ${CARGO} build ${CARGOFLAGS} --features "$(BUILD_SPEC_FEATURE)" ${PROFILE_CMD} $(foreach pkg,$(EXES),-p uu_$(pkg)) $(RUSTC_ARCH)
321+ ${CARGO} build ${CARGOFLAGS} --features "$(BUILD_SPEC_FEATURE)" ${PROFILE_CMD} $(foreach pkg,$(EXES),-p uu_$(pkg))
320322else
321- ${CARGO} build ${CARGOFLAGS} ${PROFILE_CMD} $(foreach pkg,$(EXES),-p uu_$(pkg)) $(RUSTC_ARCH)
323+ ${CARGO} build ${CARGOFLAGS} ${PROFILE_CMD} $(foreach pkg,$(EXES),-p uu_$(pkg))
322324endif
323325endif
324326
325327build-coreutils :
326- ${CARGO} build ${CARGOFLAGS} --features " ${EXES} $( BUILD_SPEC_FEATURE) " ${PROFILE_CMD} --no-default-features $( RUSTC_ARCH )
328+ ${CARGO} build ${CARGOFLAGS} --features " ${EXES} $( BUILD_SPEC_FEATURE) " ${PROFILE_CMD} --no-default-features
327329
328330build : build-coreutils build-pkgs locales
329331
@@ -373,21 +375,21 @@ busytest: $(BUILDDIR)/busybox $(addprefix test_busybox_,$(filter-out $(SKIP_UTIL
373375endif
374376
375377clean :
376- cargo clean $( RUSTC_ARCH )
377- cd $(DOCSDIR ) && $(MAKE ) clean $( RUSTC_ARCH )
378+ cargo clean
379+ cd $(DOCSDIR ) && $(MAKE ) clean
378380
379381distclean : clean
380- $(CARGO ) clean $(CARGOFLAGS ) $( RUSTC_ARCH ) && $(CARGO ) update $(CARGOFLAGS ) $( RUSTC_ARCH )
382+ $(CARGO ) clean $(CARGOFLAGS ) && $(CARGO ) update $(CARGOFLAGS )
381383
382384ifeq ($(MANPAGES ) ,y)
385+ # Do not cross-build uudoc
383386build-uudoc :
384- # Use same PROFILE with coreutils to share crates (if not cross-build)
385- ${CARGO} build ${CARGOFLAGS} --bin uudoc --features " uudoc ${EXES} " ${PROFILE_CMD} --no-default-features
387+ @unset CARGO_BUILD_TARGET && ${CARGO} build ${CARGOFLAGS} --bin uudoc --features " uudoc ${EXES} " ${PROFILE_CMD} --no-default-features
386388
387389install-manpages : build-uudoc
388390 mkdir -p $(DESTDIR )$(DATAROOTDIR ) /man/man1
389391 $(foreach prog, $(INSTALLEES ) $(HASHSUM_PROGS ) , \
390- $(BUILDDIR ) /uudoc manpage $(prog ) > $(DESTDIR )$(DATAROOTDIR ) /man/man1/$(PROG_PREFIX )$(prog ) .1 $(newline ) \
392+ $(BUILDDIR_UUDOC ) /uudoc manpage $(prog ) > $(DESTDIR )$(DATAROOTDIR ) /man/man1/$(PROG_PREFIX )$(prog ) .1 $(newline ) \
391393 )
392394else
393395install-manpages :
@@ -400,9 +402,9 @@ install-completions: build-uudoc
400402 mkdir -p $(DESTDIR )$(DATAROOTDIR ) /bash-completion/completions
401403 mkdir -p $(DESTDIR )$(DATAROOTDIR ) /fish/vendor_completions.d
402404 $(foreach prog, $(INSTALLEES ) $(HASHSUM_PROGS ) , \
403- $(BUILDDIR ) /uudoc completion $(prog ) zsh > $(DESTDIR )$(DATAROOTDIR ) /zsh/site-functions/_$(PROG_PREFIX )$(prog ) $(newline ) \
404- $(BUILDDIR ) /uudoc completion $(prog ) bash > $(DESTDIR )$(DATAROOTDIR ) /bash-completion/completions/$(PROG_PREFIX )$(prog ) .bash $(newline ) \
405- $(BUILDDIR ) /uudoc completion $(prog ) fish > $(DESTDIR )$(DATAROOTDIR ) /fish/vendor_completions.d/$(PROG_PREFIX )$(prog ) .fish $(newline ) \
405+ $(BUILDDIR_UUDOC ) /uudoc completion $(prog ) zsh > $(DESTDIR )$(DATAROOTDIR ) /zsh/site-functions/_$(PROG_PREFIX )$(prog ) $(newline ) \
406+ $(BUILDDIR_UUDOC ) /uudoc completion $(prog ) bash > $(DESTDIR )$(DATAROOTDIR ) /bash-completion/completions/$(PROG_PREFIX )$(prog ) .bash $(newline ) \
407+ $(BUILDDIR_UUDOC ) /uudoc completion $(prog ) fish > $(DESTDIR )$(DATAROOTDIR ) /fish/vendor_completions.d/$(PROG_PREFIX )$(prog ) .fish $(newline ) \
406408 )
407409else
408410install-completions :
0 commit comments