PROJECT=top
TARGET_DIR=targets/epm570
#TARGET_DIR=targets/epm240
QUARTUS_HOME=/opt/altera9.1sp1/quartus

#BLASTER=ByteBlasterMV
BLASTER=USB-Blaster

# ----------------------------------------------------------------------
# All you need in TARGET_DIR is $(PROJECT).qpf and $(PROJECT).qsf
# As an artefact $(PROJECT).pof or $(PROJECT).rbf is what we need.
# ----------------------------------------------------------------------
all:
	cd $(TARGET_DIR) && ${QUARTUS_HOME}/bin/quartus_map $(MAP_ARGS) $(PROJECT)
	cd $(TARGET_DIR) && $(QUARTUS_HOME)/bin/quartus_fit $(MAP_ARGS) $(PROJECT)
	cd $(TARGET_DIR) && $(QUARTUS_HOME)/bin/quartus_asm $(MAP_ARGS) $(PROJECT)
	cd $(TARGET_DIR) && $(QUARTUS_HOME)/bin/quartus_tan $(MAP_ARGS) $(PROJECT)

clean:
	rm -rf verilog/test.out
	rm -rf $(TARGET_DIR)/incremental_db 
	rm -rf $(TARGET_DIR)/db \
    $(TARGET_DIR)/*.rpt \
    $(TARGET_DIR)/*.summary \
    $(TARGET_DIR)/*.chg \
    $(TARGET_DIR)/*.asm \
    $(TARGET_DIR)/*.htm \
    $(TARGET_DIR)/*.eqn \
    $(TARGET_DIR)/*.sof \
    $(TARGET_DIR)/*.pof \
    $(TARGET_DIR)/*.rbf \
    $(TARGET_DIR)/*.done \
    $(TARGET_DIR)/*.smsg \
    $(TARGET_DIR)/*.pin 

distclean:
	rm -rf verilog/test.out
	rm -rf targets/*/incremental_db 
	rm -rf targets/*/db \
    targets/*/*.rpt \
    targets/*/*.summary \
    targets/*/*.chg \
    targets/*/*.asm \
    targets/*/*.htm \
    targets/*/*.eqn \
    targets/*/*.sof \
    targets/*/*.pof \
    targets/*/*.rbf \
    targets/*/*.done \
    targets/*/*.smsg \
    targets/*/*.pin 
   
#
# JTAG
# AS - Active Serial (execute /home/gsinai/Applications/bin/usbblaster.sh)
config:
	cd $(TARGET_DIR) && $(QUARTUS_HOME)/bin/quartus_pgm \
    -c $(BLASTER) -m JTAG  -o 'pvb;$(PROJECT).pof'

