Line 35... |
Line 35... |
#
|
#
|
################################################################################
|
################################################################################
|
##
|
##
|
##
|
##
|
.PHONY: all
|
.PHONY: all
|
all: busmaster altbusmaster
|
all: busmaster altbusmaster cpudefs.h
|
YYMMDD=`date +%Y%m%d`
|
YYMMDD=`date +%Y%m%d`
|
CPUD := cpu
|
CPUD := cpu
|
RAWZIP := zipbones.v zipcpu.v cpudefs.v \
|
RAWZIP := zipbones.v zipcpu.v cpudefs.v \
|
prefetch.v idecode.v cpuops.v memops.v \
|
prefetch.v idecode.v cpuops.v memops.v \
|
wbdblpriarb.v
|
wbdblpriarb.v dblfetch.v
|
ZIPSRC := $(addprefix $(CPUD)/,$(RAWZIP))
|
ZIPSRC := $(addprefix $(CPUD)/,$(RAWZIP))
|
BUSSRC := builddate.v llqspi.v wbscope.v memdev.v spio.v wbgpio.v wbpwmaudio.v
|
BUSSRC := builddate.v llqspi.v wbscope.v memdev.v spio.v wbgpio.v wbpwmaudio.v\
|
|
qflashxpress.v
|
MAINSRC := busmaster.v builddate.v flash_config.v wbqspiflash.v \
|
MAINSRC := busmaster.v builddate.v flash_config.v wbqspiflash.v \
|
$(BUSSRC) $(ZIPSRC)
|
$(BUSSRC) $(ZIPSRC)
|
# toplevel.v rxuart.v txuart.v
|
# toplevel.v rxuart.v txuart.v
|
ALTSRC := altbusmaster.v builddate.v flash_config.v wbqspiflash.v \
|
ALTSRC := altbusmaster.v builddate.v flash_config.v wbqspiflash.v \
|
$(BUSSRC) wbubus.v
|
$(BUSSRC) wbubus.v
|
Line 55... |
Line 56... |
|
|
$(VOBJ)/Vbusmaster.cpp: $(MAINSRC)
|
$(VOBJ)/Vbusmaster.cpp: $(MAINSRC)
|
verilator -trace -cc -y $(CPUD) busmaster.v
|
verilator -trace -cc -y $(CPUD) busmaster.v
|
$(VOBJ)/Vbusmaster.h: $(VOBJ)/Vbusmaster.cpp
|
$(VOBJ)/Vbusmaster.h: $(VOBJ)/Vbusmaster.cpp
|
|
|
$(VOBJ)/Valtbusmaster.cpp: $(ALTSRC)
|
|
verilator -trace -cc -y $(CPUD) altbusmaster.v
|
|
$(VOBJ)/Valtbusmaster.h: $(VOBJ)/Valtbusmaster.cpp
|
|
|
|
$(VOBJ)/Vbusmaster__ALL.a: $(VOBJ)/Vbusmaster.cpp $(VOBJ)/Vbusmaster.h
|
$(VOBJ)/Vbusmaster__ALL.a: $(VOBJ)/Vbusmaster.cpp $(VOBJ)/Vbusmaster.h
|
cd $(VOBJ); make --no-print-directory -f Vbusmaster.mk
|
cd $(VOBJ); make --no-print-directory -f Vbusmaster.mk
|
|
|
$(VOBJ)/V%__ALL.a: $(VOBJ)/V%.mk
|
$(VOBJ)/Valtbusmaster.cpp: $(ALTSRC)
|
cd $(VDIRFB); make -f V$*.mk
|
verilator -trace -cc -y $(CPUD) altbusmaster.v
|
|
$(VOBJ)/Valtbusmaster.h: $(VOBJ)/Valtbusmaster.cpp
|
|
|
$(VOBJ)/Valtbusmaster__ALL.a: $(VOBJ)/Valtbusmaster.cpp $(VOBJ)/Valtbusmaster.h
|
$(VOBJ)/Valtbusmaster__ALL.a: $(VOBJ)/Valtbusmaster.cpp $(VOBJ)/Valtbusmaster.h
|
cd $(VOBJ); make --no-print-directory -f Valtbusmaster.mk
|
cd $(VOBJ); make --no-print-directory -f Valtbusmaster.mk
|
|
|
cpudefs.h: cpudefs.v
|
$(VOBJ)/Vdblfetch.cpp: $(ALTSRC)
|
|
verilator -trace -cc -y $(CPUD) dblfetch.v
|
|
$(VOBJ)/Vdblfetch.mk: $(VOBJ)/Vdblfetch.cpp
|
|
$(VOBJ)/Vdblfetch.h: $(VOBJ)/Vdblfetch.cpp
|
|
|
|
$(VOBJ)/V%__ALL.a: $(VOBJ)/V%.mk
|
|
make -f V$*.mk -C obj_dir
|
|
|
|
cpudefs.h: cpu/cpudefs.v
|
@echo "Building cpudefs.h"
|
@echo "Building cpudefs.h"
|
@echo "// " > $@
|
@echo "// " > $@
|
@echo "// Do not edit this file, it is automatically generated!" >> $@
|
@echo "// Do not edit this file, it is automatically generated!" >> $@
|
@echo "// To generate this file, \"make cpudefs.h\" in the rtl directory." >> $@
|
@echo "// To generate this file, \"make cpudefs.h\" in the rtl directory." >> $@
|
@echo "// " >> $@
|
@echo "// " >> $@
|
@grep "^\`" $^ | sed -e '{ s/^`/#/ }' >> $@
|
@sed -e '{ s/^`/#/ }' $< | sed -e ' s/cpudefs.v/cpudefs.h/' >> $@
|
|
|
.PHONY: busmaster
|
.PHONY: busmaster
|
busmaster: $(VOBJ)/Vbusmaster__ALL.a
|
busmaster: $(VOBJ)/Vbusmaster__ALL.a
|
|
|
.PHONY: altbusmaster
|
.PHONY: altbusmaster
|