OSDN Git Service

c55462062f03c152ae9baa481a077db3fbf54f95
[motonesfpga/motonesfpga.git] / simulation / Makefile
1 DIRS=mem cpu ppu apu clock
2 MODULES=motonesfpga_common.vhd address_decoder.vhd motones_sim.vhd 
3 WORKDIR=work
4 TEST_MODULE = testbench_motones_sim.vhd
5
6 ROOT_DIR=$(CURDIR)
7
8 GHDL_OPTION=--ieee=synopsys -fexplicit --workdir=$(WORKDIR)
9
10 OBJS = $(addprefix $(WORKDIR)/,$(addsuffix .o,$(basename $(MODULES) $(TEST_MODULE))))
11
12 BIN=$(subst .vhd,, $(TEST_MODULE))
13
14 all: $(BIN)
15
16 $(WORKDIR)/%.o: %.vhd
17         ghdl -a $(GHDL_OPTION) $(subst .o,.vhd, $(subst $(WORKDIR)/,, $@))
18
19 $(BIN): $(DIRS) $(OBJS)
20         for dir in $(DIRS); do \
21                 make -C $(ROOT_DIR)/$$dir; \
22         done
23         ghdl -e $(GHDL_OPTION) $(BIN)
24
25 clean:
26         -rm $(OBJS)
27         -rm $(BIN)
28         -rm $(subst .vhd,,$(WORKDIR)/e~$(TEST_MODULE)).o
29         -rm testbench.vcd*
30         
31 rclean: clean
32         for dir in $(DIRS); do \
33                 make -C $(ROOT_DIR)/$$dir clean; \
34         done
35         -rm $(WORKDIR)/*
36