63 lines
1.4 KiB
Makefile
63 lines
1.4 KiB
Makefile
ROOT=../../..
|
|
SWBASE=$(ROOT)/src/main/c/murax
|
|
SOCSW=hello_world
|
|
SOCMEMSRC=$(SWBASE)/$(SOCSW)/build/$(SOCSW).v
|
|
SOCMEM=build/soc.mem
|
|
|
|
TOP=Murax
|
|
|
|
all : build/latest.bit
|
|
|
|
../../../$(TOP).v : toplevel.v
|
|
(cd ../../..; sbt "runMain vexriscv.demo.Murax_arty")
|
|
|
|
.PHONY: $(SOCMEMSRC)
|
|
$(SOCMEMSRC):
|
|
mkdir -p build
|
|
make -C $(SWBASE)/$(SOCSW)
|
|
|
|
$(SOCMEM) : $(SOCMEMSRC)
|
|
cp -u $(SOCMEMSRC) $(SOCMEM)
|
|
|
|
build/vivado_project/fpga.runs/impl_1/toplevel.bit : toplevel.v arty_a7.xdc ../../../$(TOP).v
|
|
mkdir -p build
|
|
./make_vivado_project
|
|
cp build/vivado_project/fpga.runs/impl_1/toplevel.bit build/latest.bit
|
|
|
|
build/soc.mmi: build/vivado_project/fpga.runs/impl_1/toplevel.bit
|
|
./make_mmi_files
|
|
|
|
build/latest_soc_sw.bit : $(SOCMEM) build/soc.mmi
|
|
rm -f updatemem.jou updatemem.log
|
|
updatemem -force --meminfo build/soc.mmi --data $(SOCMEM) --bit build/latest.bit --proc dummy --out build/latest_soc_sw.bit
|
|
cp build/latest_soc_sw.bit build/latest.bit
|
|
|
|
build/latest.bit : build/latest_soc_sw.bit
|
|
|
|
build/latest.mcs : build/latest.bit
|
|
./make_mcs_file
|
|
|
|
prog : build/latest.bit
|
|
./write_fpga
|
|
|
|
flash : build/latest.mcs
|
|
./write_flash
|
|
|
|
clean-soc-sw:
|
|
make -C $(SWBASE)/$(SOCSW) clean-all
|
|
|
|
soc-sw: clean-soc-sw $(SOCMEM)
|
|
|
|
.PHONY: clean
|
|
clean :
|
|
rm -rf build
|
|
mkdir build
|
|
rm -f updatemem.jou
|
|
rm -f updatemem.log
|
|
|
|
clean-sw: clean-soc-sw
|
|
|
|
clean-all : clean clean-sw
|
|
rm -f ../../../$(TOP).v
|
|
rm -f ../../../$(TOP).v_*
|