vap/Makefile

40 lines
817 B
Makefile
Raw Normal View History

2023-03-08 13:18:38 -08:00
arch ?= ppc32
target ?= powerpc-unknown-linux-gnu
2023-03-13 15:31:06 -07:00
build_type ?= release
kernel ?= target/$(target)/$(build_type)/vap
linker_script := assembly/$(arch)/linker.ld
2023-03-09 02:28:59 -08:00
KERNEL_FLAGS ?= -Zbuild-std=core,alloc
2023-03-13 15:31:06 -07:00
final = build/$(target)/$(build_type)/vap
2023-03-08 13:18:38 -08:00
ifeq "$(arch)" "ppc32"
target := powerpc-unknown-linux-gnu
2023-03-13 15:31:06 -07:00
kernel := target/$(target)/$(build_type)/vap
linker_script := assembly/$(arch)/linker.ld
2023-03-08 13:18:38 -08:00
KERNEL_FLAGS :=
endif
2023-03-13 15:31:06 -07:00
ifeq "$(build_type)" "release"
KERNEL_FLAGS += --release
endif
2023-03-08 13:18:38 -08:00
.PHONY: all clean quick_invalidate
all: $(final)
clean:
@cargo clean
@rm -rf build
quick_invalidate:
2023-03-10 03:20:15 -08:00
@rm -rf build
2023-03-08 13:18:38 -08:00
@rm -rf $(kernel)
$(final): $(kernel)
@mkdir -p $(shell dirname $@)
@cp $(kernel) $(final)
$(kernel):
2023-03-13 15:31:06 -07:00
@RUST_TARGET_PATH="$(shell pwd)" VAP_ARCH="$(arch)" cross +nightly build --target $(target) $(KERNEL_FLAGS)