################################################################ # Project Configuration: # # Specify the name of the design (project) and compiler setting # (csf) and the list of source files used. ################################################################ all: v1495usr_demo.tan.rpt v1495usr_demo.rbf ifeq ($(shell uname -s),Linux) Q_MAP = wine /opt/altera/8.1/quartus/bin/quartus_map.exe Q_FIT = wine /opt/altera/8.1/quartus/bin/quartus_fit.exe Q_ASM = wine /opt/altera/8.1/quartus/bin/quartus_asm.exe Q_TAN = wine /opt/altera/8.1/quartus/bin/quartus_tan.exe Q_CPF = wine /opt/altera/8.1/quartus/bin/quartus_cpf.exe else Q_MAP = quartus_map Q_FIT = quartus_fit Q_ASM = quartus_asm Q_TAN = quartus_tan Q_CPF = quartus_cpf endif COMMON_OPT = --read_settings_file=on --write_settings_file=off VHDL_FILES = $(shell awk '/^set_global_assignment -name VHDL_FILE/ {print $$4}' v1495usr_demo.qsf) VQM_FILES = $(shell awk '/^set_global_assignment -name VQM_FILE/ {print $$4}' v1495usr_demo.qsf) install: /home/trd/dietel/v1495/v1495upgrade/V1495Upgrade v1495usr_demo.rbf 32100000 vme_write_d16 /tmp/sis1100_00remote 0x32108016 1 .PRECIOUS: %.map.rpt %.fit.rpt bla: @echo $(VHDL_FILES) $(VQM_FILES) %.map.rpt: %.qsf %.qpf $(VHDL_FILES) $(VQM_FILES) $(Q_MAP) $(COMMON_OPT) $* -c $* %.fit.rpt: %.map.rpt $(Q_FIT) $(COMMON_OPT) $* -c $* %.sof %.asm.rpt: %.fit.rpt $(Q_ASM) $(COMMON_OPT) $* -c $* %.tan.rpt: %.asm.rpt $(Q_TAN) $(COMMON_OPT) $* -c $* --timing_analysis_only %.rbf: %.sof $(Q_CPF) -c $< $@ #PROJECT = v1495usr_demo #SOURCE_FILES = coin_reference.vhd \ # spare_if_rtl.vhd \ # v1495usr_demo.vhd \ # tristate_if_rtl.vhd \ # v1495usr_pkg.vhd \ # v1495usr_hal.vqm #ASSIGNMENT_FILES = mstrg.quartus mstrg.psf mstrg.csf ################################################################ # Main Targets # # all: build everything # clean: remove output files and database # clean_all: removes settings files as well as clean. ################################################################ #all: smart.log $(PROJECT).asm.rpt $(PROJECT).tan.rpt clean: rm -rf *.rpt *.chg smart.log *.htm *.eqn *.pin *.sof *.pof db clean_all: clean rm -rf *.ssf *.csf *.esf *.fsf *.psf *.quartus *.qws map: smart.log $(PROJECT).map.rpt fit: smart.log $(PROJECT).fit.rpt asm: smart.log $(PROJECT).asm.rpt tan: smart.log $(PROJECT).tan.rpt smart: smart.log ################################################################ # Executable Configuration ################################################################ MAP_ARGS = --family=Cyclone --part=EP1C20F400C6 FIT_ARGS = --part=EP1C20F400C6 ASM_ARGS = TAN_ARGS = ################################################################ # Target implementations ################################################################ STAMP = echo done > #$(PROJECT).map.rpt: map.chg $(SOURCE_FILES) # quartus_map $(MAP_ARGS) $(addprefix --source=,$(SOURCE_FILES)) $(PROJECT) # $(STAMP) fit.chg #$(PROJECT).fit.rpt: fit.chg $(PROJECT).map.rpt # quartus_fit $(FIT_ARGS) $(PROJECT) # $(STAMP) asm.chg # $(STAMP) tan.chg #$(PROJECT).asm.rpt $(PROJECT).sof: asm.chg $(PROJECT).fit.rpt # quartus_asm $(ASM_ARGS) $(PROJECT) #$(PROJECT).tan.rpt: tan.chg $(PROJECT).fit.rpt # quartus_tan $(TAN_ARGS) $(PROJECT) #smart.log: $(ASSIGNMENT_FILES) # quartus_sh --determine_smart_action $(PROJECT) > smart.log ################################################################ # Project initialization ################################################################ #$(ASSIGNMENT_FILES): # quartus_sh --tcl_eval project_new $(PROJECT) -overwrite #map.chg: # $(STAMP) map.chg #fit.chg: # $(STAMP) fit.chg #tan.chg: # $(STAMP) tan.chg #asm.chg: # $(STAMP) asm.chg