aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile29
1 files changed, 29 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..9beb347
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,29 @@
+BSP ?= rpi2
+DEBUG ?= 0
+AUTO ?= 0
+DEV_SERIAL ?= /dev/ttyUSB0
+TARGET=armv7a-none-eabi
+QEMU_BINARY=qemu-system-arm
+QEMU_MACHINE_TYPE=raspi2b
+QEMU_RELEASE_ARGS=-cpu=cortex-a7 -m 1G -display none
+OBJDUMP_BINARY=arm-none-eabi-objdump
+NM_BINARY=arm-none-eabi-nm
+READELF_BINARY=arm-none-eabi-readelf
+LINKER_FILE=src/bsp/raspberrypi/linker.ld
+RUSTC_MISC_ARGS=-C target-cpu=cortex-a7
+QEMU_RELEASE_ARGS=-chardev stdio,id=char0,mux=on,logfile=serial.log,signal=on -serial chardev:char0 -mon chardev=char0
+KERNEL_ELF=target/$(TARGET)/release/kernel
+RUSTFLAGS=-C link-arg=-T$(LINKER_FILE) $(RUSTC_MISC_ARGS)
+RUSTFLAGS_PEDANTIC=$(RUSTFLAGS) -D warnings -D missing_docs
+FEATURES=--features bsp_$(BSP)
+COMPILER_ARGS=--target=$(TARGET) $(FEATURES) --release
+RUSTC_CMD=cargo rustc $(COMPILER_ARGS)
+export LINKER_FILE
+
+.PHONY: build clean
+
+build:
+ @RUSTFLAGS="$(RUSTFLAGS_PEDANTIC)" $(RUSTC_CMD)
+
+clean:
+ rm -rf target