summaryrefslogtreecommitdiffstats
path: root/fpga/ebaz4205/ebaz4205_fpga/Makefile
blob: b991aa03ddb0b87433b71bfa60ea57095694d94d (plain)
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
HDLM=hdlmake
SIX=${HDLM}/lib/python3.11/site-packages/six.py
HDLMAKE=${PWD}/${HDLM}/bin/hdlmake 
VIVADO=${PWD}/../scripts/vivado
FB=build
FBC=Manifest.py  syn_post_bitstream_cmd.tcl xilinx_ise_vivado_license.lic
BIN=${FB}/ebaz4205_top.runs/impl_1/ebaz4205_top.bin
SRC=$(shell find src -type f)

default: ${BIN}

${BIN}:${SRC} ${FB}/Makefile
	${MAKE} -C ${FB} mrproper
	${MAKE} -C ${FB} 

${FB}/Makefile:${FS} ${HDLMAKE} ${FBC:%=${FB}/%}
	(cd ${FB} && ${HDLMAKE} clean)
	(cd ${FB} && ${HDLMAKE} makefile)
	sed -i -e 's%vivado%${VIVADO}%g' $@

${FB}/%:${FB}.clean/%
	mkdir -p ${FB}
	install -m 644 $< $@

${FB}/%:../src/%
	mkdir -p ${FB}
	install -m 644 $< $@



${HDLMAKE}: ${SIX}
	${HDLM}/bin/pip install hdlmake==3.3

${SIX}: ${HDLM}/bin/pip
	${HDLM}/bin/pip install six==1.17.0

hdlmake/bin/pip:
	python3.11 -mvenv ${HDLM}

clean:
	/bin/rm -rf ${FB}