IVERILOG ?= iverilog
VVP ?= vvp
BUILD := build

.PHONY: all test pwm bcm hub75 clean

all: test

test: pwm bcm hub75

$(BUILD):
	mkdir -p $(BUILD)

pwm: | $(BUILD)
	$(IVERILOG) -g2012 -s tb_led_pwm -o $(BUILD)/tb_led_pwm rtl/led_pwm.sv tb/tb_led_pwm.sv
	$(VVP) $(BUILD)/tb_led_pwm

bcm: | $(BUILD)
	$(IVERILOG) -g2012 -s tb_bcm_led -o $(BUILD)/tb_bcm_led rtl/bcm_led.sv tb/tb_bcm_led.sv
	$(VVP) $(BUILD)/tb_bcm_led

hub75: | $(BUILD)
	$(IVERILOG) -g2012 -s tb_hub75_row_scanner -o $(BUILD)/tb_hub75 rtl/hub75_row_scanner.sv tb/tb_hub75_row_scanner.sv
	$(VVP) $(BUILD)/tb_hub75

clean:
	rm -rf $(BUILD)
