updated bluespec search paths
[pinmux.git] / Makefile
1 ### Makefile for the cclass project
2
3 TOP_MODULE:=mkbus
4 TOP_FILE:=bus.bsv
5 TOP_DIR:=./m_class/bsv_src/
6 WORKING_DIR := $(shell pwd)
7
8 BSVINCDIR:= .:%/Prelude:%/Libraries:%/Libraries/BlueNoC:./m_class/bsv_src:./src/bsv/bsv_lib/
9 default: gen_pinmux gen_verilog
10
11 check-blue:
12 @if test -z "$$BLUESPECDIR"; then echo "BLUESPECDIR variable not set"; exit 1; fi;
13
14 ###### Setting the variables for bluespec compile #$############################
15 BSVCOMPILEOPTS:= -check-assert -suppress-warnings G0020 -keep-fires -opt-undetermined-vals -remove-false-rules -remove-empty-rules -remove-starved-rules
16 BSVLINKOPTS:=-parallel-sim-link 8 -keep-fires
17 VERILOGDIR:=./verilog/
18 BSVBUILDDIR:=./bsv_build/
19 BSVOUTDIR:=./bin
20 ################################################################################
21
22 ########## BSIM COMPILE, LINK AND SIMULATE TARGETS #################################
23 .PHONY: check-restore
24 check-restore:
25 @if [ "$(define_macros)" != "$(old_define_macros)" ]; then make clean ; fi;
26
27 .PHONY: gen_pinmux
28 gen_pinmux:
29 @python ./src/pinmux_generator.py -v -o test
30
31 .PHONY: gen_verilog
32 gen_verilog: check-restore check-blue
33 @echo Compiling mkTbSoc in Verilog for simulations ...
34 @mkdir -p $(BSVBUILDDIR);
35 @mkdir -p $(VERILOGDIR);
36 bsc -u -verilog -elab -vdir $(VERILOGDIR) -bdir $(BSVBUILDDIR) -info-dir $(BSVBUILDDIR) $(define_macros) -D verilog=True $(BSVCOMPILEOPTS) -verilog-filter ${BLUESPECDIR}/bin/basicinout -p $(BSVINCDIR) -g $(TOP_MODULE) $(TOP_DIR)/$(TOP_FILE) 2>&1 | tee bsv_compile.log
37 @echo Compilation finished
38
39 ########################################################################################
40
41 .PHONY: clean
42 clean:
43 rm -rf $(BSVBUILDDIR) *.log $(BSVOUTDIR) ./bbl*
44 rm -rf verilog obj_dir test/bsv_src src/*.pyc
45
46 pep8:
47 autopep8 -a -a -a --experimental -r -i src