1 ### Makefile for the cclass project
6 WORKING_DIR := $(shell pwd)
8 BSVINCDIR:= .:%/Prelude:%/Libraries:%/Libraries/BlueNoC:./bsv_lib/
9 BSVINCDIR:= $(BSVINCDIR):../../../src/core/src/core
10 BSVINCDIR:= $(BSVINCDIR):../../../src/core/src/lib
11 BSVINCDIR:= $(BSVINCDIR):../../../src/peripherals/src/core
12 BSVINCDIR:= $(BSVINCDIR):../../../src/peripherals/src/uncore/axi4
13 BSVINCDIR:= $(BSVINCDIR):../../../src/peripherals/src/uncore/axi4lite
14 BSVINCDIR:= $(BSVINCDIR):../../../src/peripherals/src/uncore/debug
15 BSVINCDIR:= $(BSVINCDIR):../../../src/peripherals/src/lib
16 BSVINCDIR:= $(BSVINCDIR):../../../src/peripherals/src/peripherals/gpio
17 BSVINCDIR:= $(BSVINCDIR):../../../src/peripherals/src/peripherals/rgbttl
18 BSVINCDIR:= $(BSVINCDIR):../../../src/peripherals/src/peripherals/i2c
19 BSVINCDIR:= $(BSVINCDIR):../../../src/peripherals/src/peripherals/mux
20 BSVINCDIR:= $(BSVINCDIR):../../../src/peripherals/src/peripherals/plic
21 BSVINCDIR:= $(BSVINCDIR):../../../src/peripherals/src/peripherals/pwm
22 BSVINCDIR:= $(BSVINCDIR):../../../src/peripherals/src/peripherals/qspi
23 BSVINCDIR:= $(BSVINCDIR):../../../src/peripherals/src/peripherals/spi
24 BSVINCDIR:= $(BSVINCDIR):../../../src/peripherals/src/peripherals/sdmmc
25 BSVINCDIR:= $(BSVINCDIR):../../../src/peripherals/src/peripherals/flexbus
26 BSVINCDIR:= $(BSVINCDIR):../../../src/peripherals/src/peripherals/jtagdtm
27 BSVINCDIR:= $(BSVINCDIR):../../../src/peripherals/src/peripherals/uart
32 @if test -z "$$BLUESPECDIR"; then echo "BLUESPECDIR variable not set"; exit 1; fi;
34 ###### Setting the variables for bluespec compile #$############################
35 BSVCOMPILEOPTS:= -check-assert -suppress-warnings G0020 -keep-fires -opt-undetermined-vals -remove-false-rules -remove-empty-rules -remove-starved-rules
36 BSVLINKOPTS:=-parallel-sim-link 8 -keep-fires
37 VERILOGDIR:=./verilog/
38 BSVBUILDDIR:=./bsv_build/
40 ################################################################################
42 ########## BSIM COMPILE, LINK AND SIMULATE TARGETS ##########################
45 @if [ "$(define_macros)" != "$(old_define_macros)" ]; then make clean ; fi;
48 gen_verilog: check-restore check-blue
49 @echo Compiling mkTbSoc in Verilog for simulations ...
50 @mkdir -p $(BSVBUILDDIR);
51 @mkdir -p $(VERILOGDIR);
52 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
53 @echo Compilation finished
55 #############################################################################
59 rm -rf $(BSVBUILDDIR) *.log $(BSVOUTDIR) ./bbl*
60 rm -rf verilog obj_dir bsv_src