diff --git a/Makefile b/Makefile index a6da156f7e8f9818259af8688db08e14c81db490..93f95bdc9213d7c9633239d7be2c1f58a34a2f10 100644 --- a/Makefile +++ b/Makefile @@ -6,12 +6,14 @@ ifneq ($(TARGET),) CARGOFLAGS+="--target=$(TARGET)" endif +CARGO?=cargo + ifeq ($(TARGET),aarch64-unknown-linux-gnu) - CC=aarch64-linux-gnu-gcc + CC?=aarch64-linux-gnu-gcc endif ifeq ($(TARGET),x86_64-unknown-redox) - CC=x86_64-unknown-redox-gcc + CC?=x86_64-unknown-redox-gcc endif SRC=\ @@ -26,11 +28,11 @@ SRC=\ all: | libc libm clean: - cargo clean + $(CARGO) clean make -C tests clean check: - cargo check + $(CARGO) check fmt: ./fmt.sh @@ -64,27 +66,27 @@ test: sysroot make -C tests run $(BUILD)/debug/libc.a: $(SRC) - cargo build $(CARGOFLAGS) + $(CARGO) build $(CARGOFLAGS) touch $@ $(BUILD)/debug/crt0.o: $(SRC) - CARGO_INCREMENTAL=0 cargo rustc --manifest-path src/crt0/Cargo.toml $(CARGOFLAGS) -- --emit obj=$@ + CARGO_INCREMENTAL=0 $(CARGO) rustc --manifest-path src/crt0/Cargo.toml $(CARGOFLAGS) -- --emit obj=$@ touch $@ $(BUILD)/release/libc.a: $(SRC) - cargo build --release $(CARGOFLAGS) + $(CARGO) build --release $(CARGOFLAGS) touch $@ $(BUILD)/release/crt0.o: $(SRC) - CARGO_INCREMENTAL=0 cargo rustc --release --manifest-path src/crt0/Cargo.toml $(CARGOFLAGS) -- --emit obj=$@ + CARGO_INCREMENTAL=0 $(CARGO) rustc --release --manifest-path src/crt0/Cargo.toml $(CARGOFLAGS) -- --emit obj=$@ touch $@ $(BUILD)/release/crti.o: $(SRC) - CARGO_INCREMENTAL=0 cargo rustc --release --manifest-path src/crti/Cargo.toml $(CARGOFLAGS) -- --emit obj=$@ + CARGO_INCREMENTAL=0 $(CARGO) rustc --release --manifest-path src/crti/Cargo.toml $(CARGOFLAGS) -- --emit obj=$@ touch $@ $(BUILD)/release/crtn.o: $(SRC) - CARGO_INCREMENTAL=0 cargo rustc --release --manifest-path src/crtn/Cargo.toml $(CARGOFLAGS) -- --emit obj=$@ + CARGO_INCREMENTAL=0 $(CARGO) rustc --release --manifest-path src/crtn/Cargo.toml $(CARGOFLAGS) -- --emit obj=$@ touch $@ $(BUILD)/include: $(SRC)