blob: 5fa38faef13daefa9e9cd957d91f465238909a9f [file] [log] [blame]
Sylvain Munautf5d7bf22020-09-14 10:23:50 +02001#ice1usb
2#ice1usb-proto-icebreaker
3#ice1usb-proto-bitsty
4#e1-tracer
5BOARD ?= e1-tracer
6CROSS ?= riscv-none-embed-
7CC = $(CROSS)gcc
8OBJCOPY = $(CROSS)objcopy
9ICEPROG = iceprog
10DFU_UTIL = dfu-util
11
Harald Welte3255b742020-12-17 13:15:12 +010012TAG_PREFIX = e1_tracer-fw
13GITVER = $(shell git describe --match '$(TAG_PREFIX)*')
14TARGET = $(GITVER)
15
Sylvain Munautf5d7bf22020-09-14 10:23:50 +020016BOARD_DEFINE=BOARD_$(shell echo $(BOARD) | tr a-z\- A-Z_)
Sylvain Munaut4d9a04e2020-10-29 13:27:19 +010017CFLAGS=-Wall -Wextra -Wno-unused -Os -march=rv32i -mabi=ilp32 -ffreestanding -flto -nostartfiles -fomit-frame-pointer -Wl,--gc-section --specs=nano.specs -D$(BOARD_DEFINE) -I. -I../common
Sylvain Munautf5d7bf22020-09-14 10:23:50 +020018
19NO2USB_FW_VERSION=0
20include ../../../gateware/cores/no2usb/fw/fw.mk
21CFLAGS += $(INC_no2usb)
22
23LNK=../common/lnk-app.lds
24
25HEADERS_common := $(addprefix ../common/, \
26 console.h \
27 dma.h \
28 led.h \
29 mini-printf.h \
30 spi.h \
31 utils.h \
32)
33
34SOURCES_common := $(addprefix ../common/, \
35 ../common/start.S \
36 console.c \
37 dma.c \
38 led.c \
39 mini-printf.c \
40 spi.c \
41 utils.c \
42)
43
44HEADERS_common += $(HEADERS_no2usb)
45SOURCES_common += $(SOURCES_no2usb)
46
47HEADERS_app=\
48 config.h \
49 e1.h \
Harald Welte6cb6e6e2022-11-01 16:07:03 +010050 idt82v2081.h \
51 idt82v2081_regs.h \
Sylvain Munautf5d7bf22020-09-14 10:23:50 +020052 misc.h \
53 usb_str_app.gen.h \
54 $(NULL)
55
56SOURCES_app=\
57 e1.c \
58 fw_app.c \
Harald Welte6cb6e6e2022-11-01 16:07:03 +010059 idt82v2081.c \
60 idt82v2081_no2spi.c \
Sylvain Munautf5d7bf22020-09-14 10:23:50 +020061 misc.c \
62 usb_desc_app.c \
63 usb_e1.c \
64 $(NULL)
65
66
Harald Welte3255b742020-12-17 13:15:12 +010067all: $(GITVER).bin $(TAG_PREFIX).bin $(TAG_PREFIX).elf
Sylvain Munautf5d7bf22020-09-14 10:23:50 +020068
69
Harald Welte3255b742020-12-17 13:15:12 +010070$(GITVER).elf: $(LNK) $(HEADERS_app) $(SOURCES_app) $(HEADERS_common) $(SOURCES_common)
Sylvain Munautf5d7bf22020-09-14 10:23:50 +020071 $(CC) $(CFLAGS) -Wl,-Bstatic,-T,$(LNK),--strip-debug -o $@ $(SOURCES_common) $(SOURCES_app)
72
73
74%.hex: %.bin
75 ../common/bin2hex.py $< $@
76
77%.bin: %.elf
78 $(OBJCOPY) -O binary $< $@
79
Harald Welte3255b742020-12-17 13:15:12 +010080$(TAG_PREFIX).bin: $(GITVER).bin
81 ln -sf $< $@
82
83$(TAG_PREFIX).elf: $(GITVER).elf
84 ln -sf $< $@
85
86
87prog: $(GITVER).bin
Sylvain Munautf5d7bf22020-09-14 10:23:50 +020088 $(ICEPROG) -o 640k $<
89
Harald Welte3255b742020-12-17 13:15:12 +010090dfuprog: $(GITVER).bin
Harald Weltee08adb02022-11-01 08:53:01 +010091 $(DFU_UTIL) -R -d 1d50:6151,1d50:6150 -a 1 -D $<
Sylvain Munautf5d7bf22020-09-14 10:23:50 +020092
93
94clean:
95 rm -f *.bin *.hex *.elf *.o *.gen.h
96
97.PHONY: prog dfuprog clean