Line 14... |
Line 14... |
## Creator: Dan Gisselquist, Ph.D.
|
## Creator: Dan Gisselquist, Ph.D.
|
## Gisselquist Technology, LLC
|
## Gisselquist Technology, LLC
|
##
|
##
|
################################################################################
|
################################################################################
|
##
|
##
|
## Copyright (C) 2015-2016, Gisselquist Technology, LLC
|
## Copyright (C) 2015-2019, Gisselquist Technology, LLC
|
##
|
##
|
## This program is free software (firmware): you can redistribute it and/or
|
## This program is free software (firmware): you can redistribute it and/or
|
## modify it under the terms of the GNU General Public License as published
|
## modify it under the terms of the GNU General Public License as published
|
## by the Free Software Foundation, either version 3 of the License, or (at
|
## by the Free Software Foundation, either version 3 of the License, or (at
|
## your option) any later version.
|
## your option) any later version.
|
Line 37... |
Line 37... |
## http://www.gnu.org/licenses/gpl.html
|
## http://www.gnu.org/licenses/gpl.html
|
##
|
##
|
################################################################################
|
################################################################################
|
##
|
##
|
##
|
##
|
all: test
|
all: test tags
|
YYMMDD=`date +%Y%m%d`
|
YYMMDD=`date +%Y%m%d`
|
CXX := g++
|
CXX := g++
|
FBDIR := .
|
FBDIR := .
|
VDIRFB:= $(FBDIR)/obj_dir
|
VDIRFB:= $(FBDIR)/obj_dir
|
VERILATOR := verilator
|
VERILATOR := verilator
|
Line 51... |
Line 51... |
test: $(VDIRFB)/Vrxuart__ALL.a
|
test: $(VDIRFB)/Vrxuart__ALL.a
|
test: $(VDIRFB)/Vwbuart__ALL.a
|
test: $(VDIRFB)/Vwbuart__ALL.a
|
test: $(VDIRFB)/Vtxuartlite__ALL.a
|
test: $(VDIRFB)/Vtxuartlite__ALL.a
|
test: $(VDIRFB)/Vrxuartlite__ALL.a
|
test: $(VDIRFB)/Vrxuartlite__ALL.a
|
|
|
$(VDIRFB)/Vrxuart__ALL.a: $(VDIRFB)/Vrxuart.h $(VDIRFB)/Vrxuart.cpp
|
$(VDIRFB)/Vrxuart__ALL.a: $(VDIRFB)/Vrxuart.cpp
|
$(VDIRFB)/Vrxuart__ALL.a: $(VDIRFB)/Vrxuart.mk
|
$(VDIRFB)/Vtxuart__ALL.a: $(VDIRFB)/Vtxuart.cpp
|
$(VDIRFB)/Vrxuart.h $(VDIRFB)/Vrxuart.cpp $(VDIRFB)/Vrxuart.mk: rxuart.v
|
$(VDIRFB)/Vrxuartlite__ALL.a: $(VDIRFB)/Vrxuartlite.cpp
|
|
$(VDIRFB)/Vtxuartlite__ALL.a: $(VDIRFB)/Vtxuartlite.cpp
|
$(VDIRFB)/Vrxuartlite__ALL.a: $(VDIRFB)/Vrxuartlite.h $(VDIRFB)/Vrxuartlite.cpp
|
$(VDIRFB)/Vwbuart__ALL.a: $(VDIRFB)/Vwbuart.cpp
|
$(VDIRFB)/Vrxuartlite__ALL.a: $(VDIRFB)/Vrxuartlite.mk
|
|
$(VDIRFB)/Vrxuartlite.h $(VDIRFB)/Vrxuartlite.cpp $(VDIRFB)/Vrxuartlite.mk: rxuartlite.v
|
$(VDIRFB)/V%.mk: $(VDIRFB)/%.h
|
|
$(VDIRFB)/V%.h: $(VDIRFB)/%.cpp
|
$(VDIRFB)/Vtxuart__ALL.a: $(VDIRFB)/Vtxuart.h $(VDIRFB)/Vtxuart.cpp
|
$(VDIRFB)/V%.cpp: $(FBDIR)/%.v
|
$(VDIRFB)/Vtxuart__ALL.a: $(VDIRFB)/Vtxuart.mk
|
$(VERILATOR) --trace -MMD -Wall -cc $*.v
|
$(VDIRFB)/Vtxuart.h $(VDIRFB)/Vtxuart.cpp $(VDIRFB)/Vtxuart.mk: txuart.v
|
|
|
|
$(VDIRFB)/Vtxuartlite__ALL.a: $(VDIRFB)/Vtxuartlite.h $(VDIRFB)/Vtxuartlite.cpp
|
|
$(VDIRFB)/Vtxuartlite__ALL.a: $(VDIRFB)/Vtxuartlite.mk
|
|
$(VDIRFB)/Vtxuartlite.h $(VDIRFB)/Vtxuartlite.cpp $(VDIRFB)/Vtxuartlite.mk: txuartlite.v
|
|
|
|
$(VDIRFB)/Vwbuart__ALL.a: $(VDIRFB)/Vwbuart.h $(VDIRFB)/Vwbuart.cpp
|
|
$(VDIRFB)/Vwbuart__ALL.a: $(VDIRFB)/Vwbuart.mk
|
|
$(VDIRFB)/Vwbuart.h $(VDIRFB)/Vwbuart.cpp $(VDIRFB)/Vwbuart.mk: wbuart.v ufifo.v txuart.v rxuart.v
|
|
|
|
$(VDIRFB)/V%.cpp $(VDIRFB)/V%.h $(VDIRFB)/V%.mk: $(FBDIR)/%.v
|
|
$(VERILATOR) -Wall -cc $*.v
|
|
|
|
$(VDIRFB)/V%__ALL.a: $(VDIRFB)/V%.mk
|
$(VDIRFB)/V%__ALL.a: $(VDIRFB)/V%.mk
|
cd $(VDIRFB); make -f V$*.mk
|
cd $(VDIRFB); make -f V$*.mk
|
|
|
|
tags: $(wildcard *.v)
|
|
ctags *.v
|
|
|
.PHONY: clean
|
.PHONY: clean
|
clean:
|
clean:
|
rm -rf $(VDIRFB)/*.mk
|
rm -rf tags $(VDIRFB)/
|
rm -rf $(VDIRFB)/*.cpp
|
|
rm -rf $(VDIRFB)/*.h
|
DEPS := $(wildcard $(VDIRFB)/*.d)
|
rm -rf $(VDIRFB)/
|
|
|
|
|
ifneq ($(MAKECMDGOALS),clean)
|
|
ifneq ($(DEPS),)
|
|
include $(DEPS)
|
|
endif
|
|
endif
|