PREFIX=../../.. BINDIR=${PREFIX}/bin #PREBUILT=/root/projects/tim_ac3rf/prebuild/oss-cad-suite/ #BINDIR=${PREBUILT}/libexec #LD_LIBRARY_PATH:="${PREBUILT}/lib:${LD_LIBRARY_PATH}" YOSYS=${BINDIR}/yosys NEXTPNR=${BINDIR}/nextpnr-ice40 ICEPACK=${BINDIR}/icepack ICETIME=${BINDIR}/icetime FLASH=${BINDIR}/flash BUILDDIR = ./build FPGA_TYPE = hx8k FPGA_PKG = ct256 PCF = ice40hx8k-evb.pcf RMDIR = rmdir # Targets example: $(BUILDDIR)/example.rpt $(BUILDDIR)/example.bin flash: $(BUILDDIR)/example.bin ${FLASH} $(BUILDDIR)/example.bin $(BUILDDIR)/%.json: %.v @mkdir -p $(@D) #LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ${YOSYS} -ql $(subst .json,,$@).log -p 'synth_ice40 -abc9 -device u -top top -json $@' $< %.asc: %.json ${NEXTPNR} --${FPGA_TYPE} --package ${FPGA_PKG} --json $< --pcf ${PCF} --asc $@ %.bin: %.asc ${ICEPACK} $< $@ %.rpt: %.asc ${ICETIME} -d $(FPGA_TYPE) -mtr $@ $< all: example clean: rm -f $(BUILDDIR)/*.asc $(BUILDDIR)/*.bin $(BUILDDIR)/*.rpt $(BUILDDIR)/*.log $(BUILDDIR)/*.json $(RMDIR) $(BUILDDIR) # Uncomment this line if you want to keep the intermediate .json and .asc files # .PRECIOUS: $(BUILDDIR)/%.json %.asc .PHONY: all prog clean example