-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
79 lines (64 loc) · 2.02 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
BOARD ?= atlys
MSCDIR ?= build/misoc
#PROG ?= impact
PROG ?= adept
SERIAL ?= /dev/ttyVIZ0
#TARGET ?= hdmi2usb
TARGET ?= base
FILTER ?= tee
HDMI2USBDIR = ../..
PYTHON = python3
DATE = `date +%Y_%m_%d`
# We use the special PIPESTATUS which is bash only below.
SHELL := /bin/bash
CMD = $(PYTHON) \
make.py \
-X $(HDMI2USBDIR) \
-t $(BOARD)_$(TARGET) \
-Ot firmware_filename $(HDMI2USBDIR)/firmware/lm32_vga/firmware.bin \
-Op programmer $(PROG) \
$(MISOC_EXTRA_CMDLINE)
ifeq ($(OS),Windows_NT)
FLTERM = $(PYTHON) $(MSCDIR)/tools/flterm.py
else
FLTERM = $(MSCDIR)/tools/flterm
endif
include Makefile.$(TARGET)
help:
@echo "Environment:"
@echo " BOARD=atlys OR opsis (current: $(BOARD))"
@echo " TARGET=base OR hdmi2usb OR hdmi2ethernet"
@echo " (current: $(TARGET))"
@echo " PROG=programmer (current: $(PROG))"
@echo " SERIAL=serial port (current: $(SERIAL))"
@echo ""
@echo "Targets avaliable:"
@echo " make help"
@echo " make gateware"
@echo " make load-gateware"
@echo " make connect-lm32"
@make -s help-$(TARGET)
@echo " make clean"
@echo " make all"
clean: clean-$(TARGET)
cd $(MSCDIR) && $(CMD) clean
load: load-gateware load-$(TARGET)
# Gateware targets
gateware: gateware-$(TARGET)
cd $(MSCDIR) && $(CMD) --csr_csv $(HDMI2USBDIR)/test/csr.csv clean
cp hdl/encoder/vhdl/header.hex $(MSCDIR)/build/header.hex
#echo "$(CMD) --csr_csv $(HDMI2USBDIR)/test/csr.csv build-csr-csv build-bitstream"
cd $(MSCDIR) && $(CMD) --csr_csv $(HDMI2USBDIR)/test/csr.csv build-csr-csv build-bitstream \
| $(FILTER) $(PWD)/build/output.$(DATE).log; (exit $${PIPESTATUS[0]})
load-gateware:
cd $(MSCDIR) && $(CMD) load-bitstream
release-gateware:
cd $(MSCDIR)/build && tar -cvzf ../$(HDMI2USBDIR)/$(BOARD)_$(TARGET)_gateware_$(DATE).tar.gz *.bin *.bit
# Firmware targets
firmware: firmware-$(TARGET)
@true
connect-lm32:
$(FLTERM) --port $(SERIAL) --speed 115200
# All target
all: gateware load-gateware load-$(TARGET)
.PHONY: help clean load gateware load-gateware release-gateware connect-lm32 all