
VLIB = vlib
VMAP = vmap
VCOM = vcom
VCOM_FLAGS = -93 +acc

#entit top level
TOP = top_test


# Fichiers  compiler dans l'ordre hierarchique inverse
VHDLSRC = $(SYN_SRC) $(TOP).vhd

# Fichiers TAG pour indiquer que la compilation a t faite
VHDLTAGS = $(patsubst %.vhd,%.tag,$(VHDLSRC))


.PHONY : all base simu compil clean

#compilation gnrale
all : base simu

#compilation sans simulation
compil : base $(VHDLTAGS)

#cration de la bibliothque et du lien avec Work 
base :
	if [ ! -d $(VSIMLIB) ] ; then $(VLIB) $(VSIMLIB) ; fi
	$(VMAP) work $(VSIMLIB)


# compilation et gnration des fichiers TAG associs
%.tag : %.vhd
	$(VCOM) $(VCOM_FLAGS) $<  && touch $@

simu:$(VHDLTAGS)
	vsim -gui $(TOP) -do wave.do

# nettoyage du rpertoire
clean:
	rm -rf modelsim.ini transcript vsim.*
	rm -f $(VHDLTAGS)
	rm -f *~
	rm -Rf $(VSIMLIB)

