Sylvain Munaut | f5d7bf2 | 2020-09-14 10:23:50 +0200 | [diff] [blame] | 1 | #ice1usb |
| 2 | #ice1usb-proto-icebreaker |
| 3 | #ice1usb-proto-bitsty |
| 4 | #e1-tracer |
| 5 | BOARD ?= e1-tracer |
| 6 | CROSS ?= riscv-none-embed- |
| 7 | CC = $(CROSS)gcc |
| 8 | OBJCOPY = $(CROSS)objcopy |
| 9 | ICEPROG = iceprog |
| 10 | DFU_UTIL = dfu-util |
| 11 | |
Harald Welte | 3255b74 | 2020-12-17 13:15:12 +0100 | [diff] [blame] | 12 | TAG_PREFIX = e1_tracer-fw |
| 13 | GITVER = $(shell git describe --match '$(TAG_PREFIX)*') |
| 14 | TARGET = $(GITVER) |
| 15 | |
Sylvain Munaut | f5d7bf2 | 2020-09-14 10:23:50 +0200 | [diff] [blame] | 16 | BOARD_DEFINE=BOARD_$(shell echo $(BOARD) | tr a-z\- A-Z_) |
Sylvain Munaut | 4d9a04e | 2020-10-29 13:27:19 +0100 | [diff] [blame] | 17 | CFLAGS=-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 Munaut | f5d7bf2 | 2020-09-14 10:23:50 +0200 | [diff] [blame] | 18 | |
| 19 | NO2USB_FW_VERSION=0 |
| 20 | include ../../../gateware/cores/no2usb/fw/fw.mk |
| 21 | CFLAGS += $(INC_no2usb) |
| 22 | |
| 23 | LNK=../common/lnk-app.lds |
| 24 | |
| 25 | HEADERS_common := $(addprefix ../common/, \ |
| 26 | console.h \ |
| 27 | dma.h \ |
| 28 | led.h \ |
| 29 | mini-printf.h \ |
| 30 | spi.h \ |
| 31 | utils.h \ |
| 32 | ) |
| 33 | |
| 34 | SOURCES_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 | |
| 44 | HEADERS_common += $(HEADERS_no2usb) |
| 45 | SOURCES_common += $(SOURCES_no2usb) |
| 46 | |
| 47 | HEADERS_app=\ |
| 48 | config.h \ |
| 49 | e1.h \ |
| 50 | misc.h \ |
| 51 | usb_str_app.gen.h \ |
| 52 | $(NULL) |
| 53 | |
| 54 | SOURCES_app=\ |
| 55 | e1.c \ |
| 56 | fw_app.c \ |
| 57 | misc.c \ |
| 58 | usb_desc_app.c \ |
| 59 | usb_e1.c \ |
| 60 | $(NULL) |
| 61 | |
| 62 | |
Harald Welte | 3255b74 | 2020-12-17 13:15:12 +0100 | [diff] [blame] | 63 | all: $(GITVER).bin $(TAG_PREFIX).bin $(TAG_PREFIX).elf |
Sylvain Munaut | f5d7bf2 | 2020-09-14 10:23:50 +0200 | [diff] [blame] | 64 | |
| 65 | |
Harald Welte | 3255b74 | 2020-12-17 13:15:12 +0100 | [diff] [blame] | 66 | $(GITVER).elf: $(LNK) $(HEADERS_app) $(SOURCES_app) $(HEADERS_common) $(SOURCES_common) |
Sylvain Munaut | f5d7bf2 | 2020-09-14 10:23:50 +0200 | [diff] [blame] | 67 | $(CC) $(CFLAGS) -Wl,-Bstatic,-T,$(LNK),--strip-debug -o $@ $(SOURCES_common) $(SOURCES_app) |
| 68 | |
| 69 | |
| 70 | %.hex: %.bin |
| 71 | ../common/bin2hex.py $< $@ |
| 72 | |
| 73 | %.bin: %.elf |
| 74 | $(OBJCOPY) -O binary $< $@ |
| 75 | |
Harald Welte | 3255b74 | 2020-12-17 13:15:12 +0100 | [diff] [blame] | 76 | $(TAG_PREFIX).bin: $(GITVER).bin |
| 77 | ln -sf $< $@ |
| 78 | |
| 79 | $(TAG_PREFIX).elf: $(GITVER).elf |
| 80 | ln -sf $< $@ |
| 81 | |
| 82 | |
| 83 | prog: $(GITVER).bin |
Sylvain Munaut | f5d7bf2 | 2020-09-14 10:23:50 +0200 | [diff] [blame] | 84 | $(ICEPROG) -o 640k $< |
| 85 | |
Harald Welte | 3255b74 | 2020-12-17 13:15:12 +0100 | [diff] [blame] | 86 | dfuprog: $(GITVER).bin |
Sylvain Munaut | f5d7bf2 | 2020-09-14 10:23:50 +0200 | [diff] [blame] | 87 | $(DFU_UTIL) -R -a 1 -D $< |
| 88 | |
| 89 | |
| 90 | clean: |
| 91 | rm -f *.bin *.hex *.elf *.o *.gen.h |
| 92 | |
| 93 | .PHONY: prog dfuprog clean |