PROJ=pong SRCS=$(wildcard *.vhd *.v *.qsf *.qpf ) SRCS += $(shell find DM9000A -type f -print ) SRCS += $(shell find GPU -type f -print ) BSP_DIR=bsp QSYS=pong_mcu SOPC_FILE=${QSYS}.sopcinfo BSP_TYPE=hal NIOS2_BSP_ARGS="" CPU_NAME= ELF=src/${PROJ}.elf SOF=${PROJ}.sof default: load_elf.stamp sta.stamp:asm.stamp tools/wrap quartus_sta ${PROJ} -c ${PROJ} touch $@ asm.stamp:fit.stamp tools/wrap quartus_asm --read_settings_files=off --write_settings_files=off ${PROJ} -c ${PROJ} touch $@ ${SOF}:asm.stamp fit.stamp: ans.stamp tools/wrap quartus_fit --read_settings_files=off --write_settings_files=off ${PROJ} -c ${PROJ} touch $@ ans.stamp: source.stamp tools/wrap quartus_map --read_settings_files=on --write_settings_files=off ${PROJ} -c ${PROJ} touch $@ ${SOPC_FILE}:ans.stamp source.stamp:${SRCS} touch source.stamp ${ELF}: src/Makefile tools/wrap make -C src elf.stamp:${ELF} touch $@ src/Makefile: bsp.stamp tools/wrap nios2-app-generate-makefile --bsp-dir bsp --src-rdir src --app-dir src --elf-name ${PROJ}.elf bsp.stamp:${SOPC_FILE} /bin/rm -rf ${BSP_DIR} mkdir -p ${BSP_DIR} tools/wrap nios2-bsp ${BSP_TYPE} ${BSP_DIR} ${SOPC_FILE} ${NIOS2_BSP_ARGS} ${CPU_NAME} tools/wrap make -C ${BSP_DIR} touch $@ load_elf.stamp:${ELF} load_sof.stamp tools/wrap nios2-download ${ELF} -g load_sof.stamp: ${SOF} tools/wrap quartus_pgm -m JTAG -o "p;${SOF}" touch $@ sof.flash: ${SOF} tools/wrap sof2flash --input=$< --output=$@ --epcs --verbose elf.flash: ${ELF} sof.flash tools/wrap elf2flash --input=${ELF} --output=$@ --epcs --after=sof.flash --verbose qsys: tools/wrap qsys-edit ${QSYS}.qsys --project-dir=${PWD} --system-info=DEVICE_FAMILY="Cyclone II" --system-info=DEVICE=EP2C8Q208C8 --system-info=DEVICE_SPEEDGRADE=8 --host-controller ${BSP_DIR}/system.h:bsp.stamp flash: load_sof.stamp sof.flash elf.flash ${BSP_DIR}/system.h BASE=` grep EPCS_FLASH_CONTROLLER_0_BASE ${BSP_DIR}/system.h | awk '{print $$3}' ` && \ tools/wrap nios2-flash-programmer sof.flash --base=$${BASE} --epcs --accept-bad-sysid --device=1 --instance=0 --program --verbose && \ tools/wrap nios2-flash-programmer elf.flash --base=$${BASE} --epcs --accept-bad-sysid --device=1 --instance=0 --program --verbose -g clean: /bin/rm -rf ${BSP_DIR} db incremental_db src/obj /bin/rm -f ${SOPC_FILE} src/Makefile elf.flash sof.flash *.stamp ${SOF} ${ELF} *.rpt *.html *.summary *.pin *.jdi *.qws *.pof /bin/rm -f src/${PROJ}.objdump src/${PROJ}.map /bin/rm -f sopc_builder_log.txt