-$(POST_VHO) $(POST_SDO):
- @if [ -f $@ ]; \
- then echo "vho/sdo: passt"; true ; \
- else echo "Fehler: $@ muss mit quartus erstellt werden"; false; \
- fi
-
-quartus:
- @echo "Die angebotene (free) Quartus II Version aka Web Edition funktioniert "
- @echo "unter Linux leider nicht. (Build endet mit einem Error, auch mit dem debouncing-bsp der LVA)."
- @echo "Befehl um es trotzdem zu probieren (falls installiert):"
- @echo "$$ unset LS_COLORS #falls gesetzt..."
- @echo -n "$$ quartus # bin verzeichnis von quartus muss sich in "; echo -n "$$"; echo "PATH befinden"
- @echo "in windows (per cygwin?): TODO"
+$(QUARTUS): $(D_POSTSIM)/modelsim.ini
+ @echo -n " Quartus generate project"
+ifeq ($(findstring $(HN), $(TILABHOSTS)),$(HN))
+ @echo "(@tilab)"
+ @cd ../quartus; ./linux_tilab.sh
+else
+ @echo "(not @ tilab)"
+ @cd ../quartus; ./linux_web.sh
+endif
+
+#TODO: more targets plz...
+$(POST_VHO) $(POST_SDO): $(QUARTUS) $(POST_VTARGETS) $(POST_SRC_VTARGETS)
+ @echo " Quartus analysis & synthesis"
+ @$(QUMACRO) quartus_map $(QUOPT) | tee $(MPWD)/quartusmap.tmp
+ @echo " Quartus fitter"
+ @$(QUMACRO) quartus_fit $(QUOPT)
+ @echo " Quartus assembler"
+ @$(QUMACRO) quartus_asm $(QUOPT)
+ @echo " Quartus timing analyzer"
+ @$(QUMACRO) quartus_tan $(QUOPT) --timing_analysis_only | tee $(MPWD)/quartustan.tmp
+ @echo " Quartus EDA netlist writer"
+ @$(QUMACRO) quartus_eda $(QUOPT)
+ #not nice atm :/
+ @echo " CC $(POST_VHO)"
+ @cd $(D_POSTSIM); \
+ vcom -work $(WORK) $(POST_VHO)
+ @echo -n " INFO logic cells: "
+ @grep 'logic cells' quartusmap.tmp | awk ' { print $$3 } '
+ @grep 'Fmax ' quartustan.tmp | sed -e 's/ / /g' -e 's/Info/INFO/g' -e 's/:/ /g'
+ @rm quartus*.tmp