OpenCores
URL https://opencores.org/ocsvn/zipcpu/zipcpu/trunk

Subversion Repositories zipcpu

[/] [zipcpu/] [trunk/] [Makefile] - Diff between revs 202 and 209

Show entire file | Details | Blame | View Log

Rev 202 Rev 209
Line 1... Line 1...
################################################################################
################################################################################
#
##
# Filename:     Makefile
## Filename:    Makefile
#
##
# Project:      Zip CPU -- a small, lightweight, RISC CPU soft core
## Project:     Zip CPU -- a small, lightweight, RISC CPU soft core
#
##
# Purpose:      This is a grand makefile for the entire project.  It will
## Purpose:     This is a grand makefile for the entire project.  It will
#               build the assembler, and a Verilog testbench, and then
##              build the assembler, and a Verilog testbench, and then
#               even test the CPU via that test bench.
##              even test the CPU via that test bench.
#
##
#       Targets include:
##      Targets include:
#
##
#               bench   Build the CPP test bench/debugger facility.
##              bench   Build the CPP test bench/debugger facility.
#
##
#               doc     Build the ZipCPU chip specification and the GPL
##              doc     Build the ZipCPU chip specification and the GPL
#                       license.  These should be distributed pre-built, but
##                      license.  These should be distributed pre-built, but
#                       you are welcome to rebuild them if you would like.
##                      you are welcome to rebuild them if you would like.
#
##
#               rtl     Run Verilator on the RTL
##              rtl     Run Verilator on the RTL
#
##
#               sw      Build the obsolete assembler, binutils, and GCC.  By
##              sw      Build the obsolete assembler, binutils, and GCC.  By
#                       default, this also 'install's the compiler into the
##                      default, this also 'install's the compiler into the
#                       sw/install/ subdirectory as well.
##                      sw/install/ subdirectory as well.
#
##
#               test    Run the test bench on the assembler test file.
##              test    Run the test bench on the assembler test file.
#
##
#
##
# 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-2017, 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.
#
##
# This program is distributed in the hope that it will be useful, but WITHOUT
## This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTIBILITY or
## ANY WARRANTY; without even the implied warranty of MERCHANTIBILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# for more details.
## for more details.
#
##
# License:      GPL, v3, as defined and found on www.gnu.org,
## You should have received a copy of the GNU General Public License along
#               http://www.gnu.org/licenses/gpl.html
## with this program.  (It's in the $(ROOT)/doc directory.  Run make with no
#
## target there if the PDF file isn't present.)  If not, see
#
##  for a copy.
 
##
 
## License:     GPL, v3, as defined and found on www.gnu.org,
 
##              http://www.gnu.org/licenses/gpl.html
 
##
 
##
################################################################################
################################################################################
#
##
 
##
.PHONY: all
.PHONY: all
all: rtl sw
all: rtl sw sim
 
 
MAKE := make    # Was `which make`
MAKE := make    # Was `which make`
SUBMAKE := $(MAKE) --no-print-directory
SUBMAKE := $(MAKE) --no-print-directory -C
 
 
.PHONY: doc
.PHONY: doc
doc:
doc:
        @echo "Building docs"; cd doc;
        @echo "Building docs"; cd doc;
        +@$(SUBMAKE) --directory=doc/
        +@$(SUBMAKE) doc/
 
 
.PHONY: rtl
.PHONY: rtl
rtl:
rtl:
        @echo "Building rtl for Verilator";
        @echo "Building rtl for Verilator";
        +@$(SUBMAKE) --directory=rtl/
        +@$(SUBMAKE) rtl/
 
 
.PHONY: sw
.PHONY: sw
sw:
sw:
        @echo "Building toolchain";
        @echo "Building toolchain";
        +@$(SUBMAKE) --directory=sw/
        +@$(SUBMAKE) sw/
 
 
.PHONY: sim
.PHONY: sim
sim:    cppsim vsim
sim:    cppsim vsim
 
 
cppsim:
cppsim:
        @echo "Building in C++ simulator";
        @echo "Building in C++ simulator";
        +@$(SUBMAKE) --directory=sim/cpp
        +@$(SUBMAKE) sim/cpp
 
 
vsim: rtl
vsim: rtl
        @echo "Building Verilator simulator";
        @echo "Building Verilator simulator";
        +@$(SUBMAKE) --directory=sim/verilator
        +@$(SUBMAKE) sim/verilator
 
 
clean:
clean:
        +@$(SUBMAKE) --directory=rtl
        +@$(SUBMAKE) --directory=rtl
        +@$(SUBMAKE) --directory=sw
        +@$(SUBMAKE) --directory=sw
        +@$(SUBMAKE) --directory=sim/cpp
        +@$(SUBMAKE) --directory=sim/cpp
        +@$(SUBMAKE) --directory=sim/verilator
        +@$(SUBMAKE) --directory=sim/verilator
        +@$(SUBMAKE) --directory=bench/asm
        +@$(SUBMAKE) --directory=bench/asm
        +@$(SUBMAKE) --directory=bench/cpp
        +@$(SUBMAKE) --directory=bench/cpp
 
 
# .PHONY: bench
.PHONY: bench
# bench: rtl sw
bench: rtl sw
        # @echo "Building in bench/rtl"; $(SUBMAKE) --directory=bench/rtl
        @echo "Building in bench/asm"; $(SUBMAKE) bench/asm
        # @echo "Building in bench/cpp"; $(SUBMAKE) --directory=bench/cpp
 
        # @echo "Building in bench/asm"; $(SUBMAKE) --directory=bench/asm
.PHONY: test
 
test: bench sim
# .PHONY: test
        @echo "Running simulation tests"; $(SUBMAKE) sim/verilator test
# test: sw rtl
 
        # @echo "Building zasm test"; cd sw/zasm; $(MAKE) test --no-print-directory
 
        # @echo "Bench test"; cd bench/cpp; $(MAKE) test --no-print-directory
 
 
 
# .PHONY: dhrystone
# .PHONY: dhrystone
# dhrystone: sw bench
# dhrystone: sw bench
        # @echo "Building Asm Dhrystone"; $(SUBMAKE) zipdhry.z --no-print-directory
        # @echo "Building Asm Dhrystone"; $(SUBMAKE) zipdhry.z --no-print-directory
        # @echo "Running Dhrystone"; cd bench/cpp; $(SUBMAKE) dhrystone --no-print-directory
        # @echo "Running Dhrystone"; $(SUBMAKE) sim/verilator dhrystone
        # @echo "Running Dhrystone"; $(SUBMAKE) sim/verilator dhrystone
        # @echo "Running Dhrystone"; $(SUBMAKE) sim/verilator dhrystone

powered by: WebSVN 2.1.0

© copyright 1999-2021 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.