Makefile 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. PROJECT_NAME=top
  2. LOG_FILE=BUILD_$(shell date '+%d.%m.%y-%H_%M_%S').log
  3. PROJECT_DIR=$(shell pwd)
  4. OUTPUT_DIR=$(PROJECT_DIR)/$(PROJECT_NAME)
  5. SOF_FILE=output_files/$(PROJECT_NAME).sof
  6. all:
  7. # starts the quartus GUI and loads the quartus project
  8. quartus_gui:
  9. quartus --64bit $(PROJECT_NAME).qpf &
  10. quartus: $(PROJECT_NAME).qsf $(PROJECT_NAME).qpf
  11. @echo ""
  12. @echo "---------------------------------------------" >> $(LOG_FILE)
  13. @echo "- QUARTUS -" >> $(LOG_FILE)
  14. @echo "---------------------------------------------" >> $(LOG_FILE)
  15. quartus_sh --flow compile $(PROJECT_NAME) 2>&1 | tee -a $(LOG_FILE)
  16. @echo "---------------------------------------------"
  17. @echo "-- Errors and Warnings Overview -"
  18. @echo "-- (for more details see build log) -"
  19. @echo "---------------------------------------------"
  20. @cat $(LOG_FILE) | grep -e "^Warning [\(][0-9]*[\)]:" || true
  21. @cat $(LOG_FILE) | grep -e "^Critical Warning [\(][0-9]*[\)]:" || true
  22. @cat $(LOG_FILE) | grep -e "^Error [\(][0-9]*[\)]:" || true
  23. download:
  24. quartus_pgm -m jtag -o"p;$(SOF_FILE)"
  25. clean:
  26. rm -f $(PROJECT_NAME).sopcinfo
  27. rm -f $(PROJECT_NAME).html
  28. rm -f $(PROJECT_NAME).cmp
  29. rm -f *.rpt
  30. rm -f *.qws
  31. rm -fr $(OUTPUT_DIR)
  32. rm -fr output_files
  33. rm -fr db
  34. rm -f *.bsf
  35. rm -f *.dpf
  36. rm -f *.srf
  37. rm -fr incremental_db
  38. rm -f *.jdi
  39. rm -f *.html
  40. rm -f *.smsg
  41. rm -f *.summary
  42. rm -f *.qdf
  43. rm -fr greybox_tmp
  44. rm -fr simulation
  45. rm -f *.sof *.done
  46. rm -f *.pin
  47. rm -f *.sld
  48. rm -rf ../modelsim_beh/work
  49. .PHONY: quartus
  50. .PHONY: quartus_gui
  51. .PHONY: download
  52. .PHONY: clean