GHDL=ghdl
FLAGS="--std=08"

all:
	@$(GHDL) -a $(FLAGS) cir1.vhd cir1test.vhd
	@$(GHDL) -e $(FLAGS) cir1test
	@$(GHDL) -r $(FLAGS) cir1test --wave=cir1test.ghw --stop-time=100ns

	@$(GHDL) -a $(FLAGS) --ieee=synopsys cir3-1.vhd bit_adder.vhd cir3-1test.vhd
	@$(GHDL) -e $(FLAGS) --ieee=synopsys cir3_1test
	@$(GHDL) -r $(FLAGS) --ieee=synopsys cir3_1test --wave=cir3-1test.ghw --stop-time=100ns

	@$(GHDL) -a $(FLAGS) cir3-2.vhd cir3-2test.vhd
	@$(GHDL) -e $(FLAGS) cir3_2test
	@$(GHDL) -r $(FLAGS) cir3_2test --wave=cir3-2test.ghw --stop-time=100ns

	@$(GHDL) -a $(FLAGS) --ieee=synopsys cir4-1.vhd cir4-1test.vhd
	@$(GHDL) -e $(FLAGS) --ieee=synopsys cir4_1test
	@$(GHDL) -r $(FLAGS) --ieee=synopsys cir4_1test --wave=cir4-1test.ghw --stop-time=100ns

	@$(GHDL) -a $(FLAGS) --ieee=synopsys cir4-2.vhd cir4-2test.vhd
	@$(GHDL) -e $(FLAGS) --ieee=synopsys cir4_2test
	@$(GHDL) -r $(FLAGS) --ieee=synopsys cir4_2test --wave=cir4-2test.ghw --stop-time=100ns

	@$(GHDL) -a $(FLAGS) --ieee=synopsys cir4-3.vhd cir4-3test.vhd
	@$(GHDL) -e $(FLAGS) --ieee=synopsys cir4_3test
	@$(GHDL) -r $(FLAGS) --ieee=synopsys cir4_3test --wave=cir4-3test.ghw --stop-time=100ns

	@$(GHDL) -a $(FLAGS) --ieee=synopsys cir5-1.vhd cir5-1test.vhd
	@$(GHDL) -e $(FLAGS) --ieee=synopsys cir5_1test
	@$(GHDL) -r $(FLAGS) --ieee=synopsys cir5_1test --wave=cir5-1test.ghw --stop-time=300ns

	@$(GHDL) -a $(FLAGS) cir7-1.vhd cir7-1test.vhd
	@$(GHDL) -e $(FLAGS) cir7_1test
	@$(GHDL) -r $(FLAGS) cir7_1test --wave=cir7-1test.ghw --stop-time=50ns

	@$(GHDL) -a $(FLAGS) cir7-2.vhd cir7-2test.vhd
	@$(GHDL) -e $(FLAGS) cir7_2test
	@$(GHDL) -r $(FLAGS) cir7_2test --wave=cir7-2test.ghw --stop-time=100ns

	@$(GHDL) -a $(FLAGS) cir7-3.vhd cir7-3test.vhd
	@$(GHDL) -e $(FLAGS) cir7_3test
	@$(GHDL) -r $(FLAGS) cir7_3test --wave=cir7-3test.ghw --stop-time=100ns

	@$(GHDL) -a $(FLAGS) cir7-4.vhd cir7-4test.vhd
	@$(GHDL) -e $(FLAGS) cir7_4test
	@$(GHDL) -r $(FLAGS) cir7_4test --wave=cir7-4test.ghw --stop-time=100ns

	@$(GHDL) -a $(FLAGS) cir9-1.vhd cir9-1test.vhd
	@$(GHDL) -e $(FLAGS) cir9_1test
	@$(GHDL) -r $(FLAGS) cir9_1test --wave=cir9-1test.ghw --stop-time=100ns

	@$(GHDL) -a $(FLAGS) cir9-2.vhd cir9-2test.vhd
	@$(GHDL) -e $(FLAGS) cir9_2test
	@$(GHDL) -r $(FLAGS) cir9_2test --wave=cir9-2test.ghw --stop-time=100ns

	@$(GHDL) -a $(FLAGS) cir10-1.vhd cir10-1test.vhd
	@$(GHDL) -e $(FLAGS) cir10_1test
	@$(GHDL) -r $(FLAGS) cir10_1test --wave=cir10-1test.ghw --stop-time=100ns

	@$(GHDL) -a $(FLAGS) cir10-2.vhd cir10-2test.vhd
	@$(GHDL) -e $(FLAGS) cir10_2test
	@$(GHDL) -r $(FLAGS) cir10_2test --wave=cir10-2test.ghw --stop-time=100ns

	@$(GHDL) -a $(FLAGS) cir11-1.vhd cir11-1test.vhd
	@$(GHDL) -e $(FLAGS) cir11_1test
	@$(GHDL) -r $(FLAGS) cir11_1test --wave=cir11-1test.ghw --stop-time=100ns

	@$(GHDL) -a $(FLAGS) cir11-2.vhd cir11-2test.vhd
	@$(GHDL) -e $(FLAGS) cir11_2test
	@$(GHDL) -r $(FLAGS) cir11_2test --wave=cir11-2test.ghw --stop-time=100ns


clean:
	rm -r work* *.ghw
