# -------------------------------------------------
# Global options
# -------------------------------------------------
LANG_STD := 93c
IEEE_STD := standard
WORK_PATH := work
SOURCE_PATH := src
LIB_PATH := ../lib

# -------------------------------------------------
# Target options
# -------------------------------------------------
TARGET := tb_eval_fixed_ja
SOURCES := 

# -------------------------------------------------
GHDL_OPT := --workdir=$(WORK_PATH) --std=$(LANG_STD) --ieee=$(IEEE_STD)

# -------------------------------------------------
all: elaborate

.PHONY: syntax
syntax: 
	ghdl -s $(GHDL_OPT) $(SOURCE_PATH)/*.vhd

import:
	ghdl -i $(GHDL_OPT) $(LIB_PATH)/*.vhd

analyze: import
	ghdl -a $(GHDL_OPT) $(LIB_PATH)/*.vhd $(SOURCE_PATH)/*.vhd

anaborate: import
	ghdl -c $(GHDL_OPT) $(LIB_PATH)/*.vhd $(SOURCE_PATH)/*.vhd -e $(TARGET)

makeunit: import
	ghdl -m $(GHDL_OPT) $(TARGET)

elaborate: analyze
	ghdl -e $(GHDL_OPT) $(TARGET)

run: elaborate
	ghdl -r $(GHDL_OPT) $(TARGET)

# -------------------------------------------------
.PHONY: clean
clean:
	rm -rf $(TARGET)
	cd $(WORK_PATH); rm -rf *.o *.cf
	
# -------------------------------------------------
