diff options
| author | Loïc Guégan <manzerbredes@mailbox.org> | 2025-03-24 09:33:49 +0100 |
|---|---|---|
| committer | Loïc Guégan <manzerbredes@mailbox.org> | 2025-03-24 09:33:49 +0100 |
| commit | 7741f014456df395b655b72d9ebb848af72cc37e (patch) | |
| tree | 5ddae273929780ac7c0af2a26b64ba1a382e4b05 /Makefile | |
| parent | d3ecfe3498d73d3ba924063bc1001cca3f333170 (diff) | |
Init repository
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9720f63 --- /dev/null +++ b/Makefile @@ -0,0 +1,41 @@ +CPU=cortex-m0plus +TC=arm-none-eabi +CC_OPTS=-fno-builtin -fno-pie -no-pie -nolibc -nostartfiles -mcpu=$(CPU) +ELF2UF2=tools/elf2uf2/elf2uf2 +PAD_CHECKSUM=tools/pad_checksum.py + +all: firmware.uf2 + +firmware.uf2: firmware.elf + $(ELF2UF2) $^ $@ + +boot2.o: src/boot/boot2.S + $(TC)-gcc $(CC_OPTS) -c -o boot2.o $^ + +boot2_crc32.o: boot2.o + $(TC)-objcopy -O binary boot2.o boot2.bin + $(PAD_CHECKSUM) -p 256 -s 0xFFFFFFFF boot2.bin boot2_crc32.S + $(TC)-gcc -c -o boot2_crc32.o boot2_crc32.S + +%.o: src/boot/%.S + $(TC)-gcc $(CC_OPTS) -c -o $@ $^ + +%.o: src/%.c + $(TC)-gcc $(CC_OPTS) -c -o $@ $^ + +%.o: src/libs/%.c + $(TC)-gcc $(CC_OPTS) -c -o $@ $^ + +%.o: src/libs/usb/%.c + $(TC)-gcc $(CC_OPTS) -c -o $@ $^ + +firmware.elf: boot2_crc32.o main.o crt0.o interrupts.o lock.o gpio.o utils.o clock.o cusb.o cdc-acm.o tty.o + $(TC)-ld -T linker.ld -Map=$@.map -o $@ $^ + +clean: + @rm -f ./*.o ./*crc32.S ./*.elf ./*.bin ./*.map + +mrproper: clean + @rm -f firmware.uf2 + +.PHONY: clean mrproper |
