# MAKEFILE - VHDL SYNTHESE MIT GHDL

# VHDL-Dateien
FILES=device.vhdl\
      device_tb.vhdl

# Unterorner der VHDL-Dateien
DIR=src

SRCDIR=$(addprefix $(addsuffix /, $(DIR)), $(FILES))

# Zu Testende Einheit
UUT=device

# Testbench
TB=device_tb

# Simulationszeit
TEND=1500us


all: $(SRC)
	ghdl -a --ieee=synopsys $(SRCDIR)  # Analyse
	ghdl -s --ieee=synopsys $(SRCDIR)  # Syntax-Check
	ghdl -e --ieee=synopsys $(UUT)     # Compilieren/Linken
	ghdl -e --ieee=synopsys $(TB)
	rm *.o

run:
	# Simulation Starten
	ghdl -r --ieee=synopsys $(UUT)
	ghdl -r --ieee=synopsys $(TB) --stop-time=$(TEND) --vcd=$(TB).vcd
	gtkwave $(TB).vcd << ls *.gtkw

clean:
	ghdl --clean
	ghdl --remove
	rm *.vcd