mirror of
https://github.com/tillitis/tillitis-key1.git
synced 2025-04-24 17:09:21 -04:00

This is an import of the fw-2 tag of tkey-libs. We import the entire tkey-libs repo minus dot files into the tillitis-key1 repo to make it very simple not to make mistakes regarding which firmware tag depends on which tkey-libs tag, especially considering locking down with NVCM. Please see README for information about developing with another tkey-libs or how to import future tkey-libs. Since tkey-libs is now a part of the repo we also add tkey-libs to the clean_fw target.
34 lines
1002 B
Makefile
34 lines
1002 B
Makefile
P := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
|
|
LIBDIR ?= $(P)/../
|
|
OBJCOPY ?= llvm-objcopy
|
|
CC = clang
|
|
|
|
# If you want debug_puts() etcetera to output something on our QEMU
|
|
# debug port, use -DQEMU_DEBUG below, or -DTKEY_DEBUG to use Tkeys USB debug pipe
|
|
CFLAGS = -g -target riscv32-unknown-none-elf -march=rv32iczmmul -mabi=ilp32 -mcmodel=medany \
|
|
-static -std=gnu99 -O2 -ffast-math -fno-common -fno-builtin-printf \
|
|
-fno-builtin-putchar -nostdlib -mno-relax -flto \
|
|
-Wall -Werror=implicit-function-declaration \
|
|
-I $(LIBDIR)/include -I $(LIBDIR)
|
|
# -DQEMU_DEBUG -DTKEY_DEBUG
|
|
|
|
INCLUDE=$(LIBDIR)/include
|
|
|
|
LDFLAGS=-T $(LIBDIR)/app.lds -L $(LIBDIR) -lcommon -lcrt0
|
|
|
|
.PHONY: all
|
|
all: blue.bin
|
|
|
|
# Turn elf into bin for device
|
|
%.bin: %.elf
|
|
$(OBJCOPY) --input-target=elf32-littleriscv --output-target=binary $^ $@
|
|
chmod a-x $@
|
|
|
|
BLUEOBJS=blue.o
|
|
blue.elf: blue.o
|
|
$(CC) $(CFLAGS) $(BLUEOBJS) $(LDFLAGS) -I $(LIBDIR) -o $@
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -f blue.bin blue.elf $(BLUEOBJS)
|