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

Subversion Repositories s6soc

[/] [s6soc/] [trunk/] [bench/] [cpp/] [Makefile] - Diff between revs 10 and 49

Show entire file | Details | Blame | View Log

Rev 10 Rev 49
Line 6... Line 6...
#
#
# Purpose:      This makefile builds the final verilator simulation of the
# Purpose:      This makefile builds the final verilator simulation of the
#               zipsystem.  Specifically, it builds the final C++ portion
#               zipsystem.  Specifically, it builds the final C++ portion
#               of the simulator, and thus the final simulator executable.
#               of the simulator, and thus the final simulator executable.
#
#
 
#       This simulator depends upon the libelf library.
#
#
# Creator:      Dan Gisselquist, Ph.D.
# Creator:      Dan Gisselquist, Ph.D.
#               Gisselquist Technology, LLC
#               Gisselquist Technology, LLC
#
#
################################################################################
################################################################################
#
#
# Copyright (C) 2015, 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.
Line 33... Line 34...
################################################################################
################################################################################
#
#
all: zip_sim
all: zip_sim
 
 
CXX     := g++
CXX     := g++
FLAGS   := -Wall -Og -g
CFLAGS  := -Wall -Og -g
 
OBJDIR  := obj-pc
SWHOST  := ../../sw/host
SWHOST  := ../../sw/host
RTLD    := ../../rtl
RTLD    := ../../rtl
INCS    := -I$(RTLD)/obj_dir/ -I$(RTLD) -I/usr/share/verilator/include  \
RTLOBJD := $(RTLD)/obj_dir
        -I$(SWHOST)
VERILATOR_ROOT ?= $(shell bash -c 'verilator -V|grep VERILATOR_ROOT | head -1 | sed -e " s/^.*=\s*//"')
SOURCES := zip_sim.cpp twoc.cpp qspiflashsim.cpp uartsim.cpp
VROOT   := $(VERILATOR_ROOT)
VLIB    := /usr/share/verilator/include/verilated.cpp
VINCS   := -I$(VROOT)/include -I$(VROOT)/include/vltstd
RAWLIB  := $(VLIB) $(RTLD)/obj_dir/Vbusmaster__ALL.a
INCS    := -I$(RTLOBJD) -I$(RTLD) -I$(VROOT)/include -I$(SWHOST) $(VINCS)
 
SOURCES := zip_sim.cpp twoc.cpp qspiflashsim.cpp uartsim.cpp zipelf.cpp byteswap.cpp
 
VLSRCS  := verilated.cpp verilated_vcd_c.cpp
 
VLOBJS := $(OBJDIR)/verilated.o $(OBJDIR)/verilated_vcd_c.o
 
VLIB    := $(addprefix $(VROOT)/include/,$(VLSRCS))
 
RAWLIB  := $(RTLOBJD)/Vbusmaster__ALL.a
 
OBJECTS := $(addprefix $(OBJDIR)/,$(subst .cpp,.o,$(SOURCES) $(VLSRCS)))
LIBS    := $(RAWLIB) -lelf
LIBS    := $(RAWLIB) -lelf
TESTF   := $(ZASM)/z.out
TESTF   := $(ZASM)/z.out
DHRYSTONEF := ../asm/zipdhry.z
DHRYSTONEF := ../asm/zipdhry.z
 
 
zip_sim: $(SOURCES) $(RAWLIB) testb.h
$(OBJDIR)/%.o: %.cpp
        $(CXX) $(FLAGS) $(INCS) $(SOURCES) $(LIBS) -o $@
        $(CXX) $(CFLAGS) $(INCS) -c $< -o $@
 
 
# .PHONY: stest
$(OBJDIR)/%.o: $(VROOT)/include/%.cpp
# stest: zippy_tb
        $(CXX) $(CFLAGS) $(INCS) -c $< -o $@
        # ./zippy_tb -s $(TESTF)
 
 
zip_sim: $(OBJECTS)
# .PHONY: itest
        $(CXX) $(CFLAGS) $(INCS) $(OBJECTS) $(LIBS) -o $@
# itest: zippy_tb
 
        # ./zippy_tb $(TESTF)
 
 
 
# .PHONY: test
 
# test: zippy_tb stest
define  build-depends
        # ./zippy_tb -a $(TESTF)
        @echo "Building dependencies"
 
        @$(CXX) $(CFLAGS) $(INCS) -MM $(VLIB) $(SOURCES) > $(OBJDIR)/xdepends.txt
# .PHONY: dhrystone
        @sed -e 's/^.*.o: /$(OBJDIR)\/&/' < $(OBJDIR)/xdepends.txt > $(OBJDIR)/depends.txt
# dhrystone: zippy_tb
        @rm $(OBJDIR)/xdepends.txt
        # ./zippy_tb -a $(DHRYSTONEF)
endef
 
 
 
tags: $(VLIB) $(SOURCES)
 
        @ctags $(SOURCES) $(VLIB)
 
 
 
.PHONY: depends
 
depends: tags $(OBJDIR)/
 
        $(build-depends)
 
 
 
$(OBJDIR)/:
 
        @bash -c "if [ ! -e $(OBJDIR) ]; then mkdir -p $(OBJDIR)/; fi"
 
 
 
$(OBJDIR)/depends.txt: $(OBJDIR)/ depends
 
 
.PHONY: clean
.PHONY: clean
clean:
clean:
        rm ./zip_sim
        rm -rf $(OBJDIR)/
 
        rm -f ./zip_sim
 
 
 
-include $(OBJDIR)/depends.txt

powered by: WebSVN 2.1.0

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