71 lines
2.1 KiB
Makefile
71 lines
2.1 KiB
Makefile
# Verilated -*- Makefile -*-
|
|
# DESCRIPTION: Verilator output: Makefile for building Verilated archive or executable
|
|
#
|
|
# Execute this makefile from the object directory:
|
|
# make -f VVX_cache.mk
|
|
|
|
default: VVX_cache
|
|
|
|
### Constants...
|
|
# Perl executable (from $PERL)
|
|
PERL = perl
|
|
# Path to Verilator kit (from $VERILATOR_ROOT)
|
|
VERILATOR_ROOT = /usr/local/share/verilator
|
|
# SystemC include directory with systemc.h (from $SYSTEMC_INCLUDE)
|
|
SYSTEMC_INCLUDE ?=
|
|
# SystemC library directory with libsystemc.a (from $SYSTEMC_LIBDIR)
|
|
SYSTEMC_LIBDIR ?=
|
|
|
|
### Switches...
|
|
# SystemC output mode? 0/1 (from --sc)
|
|
VM_SC = 0
|
|
# Legacy or SystemC output mode? 0/1 (from --sc)
|
|
VM_SP_OR_SC = $(VM_SC)
|
|
# Deprecated
|
|
VM_PCLI = 1
|
|
# Deprecated: SystemC architecture to find link library path (from $SYSTEMC_ARCH)
|
|
VM_SC_TARGET_ARCH = linux
|
|
|
|
### Vars...
|
|
# Design prefix (from --prefix)
|
|
VM_PREFIX = VVX_cache
|
|
# Module prefix (from --prefix)
|
|
VM_MODPREFIX = VVX_cache
|
|
# User CFLAGS (from -CFLAGS on Verilator command line)
|
|
VM_USER_CFLAGS = \
|
|
-std=c++11 -fms-extensions -I../.. -DNDEBUG -DCACHE_SIZE=4096 -DWORD_SIZE=4 -DBANK_LINE_SIZE=16 -DNUM_BANKS=4 -DCREQ_SIZE=4 -DMRVQ_SIZE=16 -DDFPQ_SIZE=16 -DSNRQ_SIZE=16 -DCWBQ_SIZE=4 -DDWBQ_SIZE=4 -DFQQ_SIZE=4 \
|
|
|
|
# User LDLIBS (from -LDFLAGS on Verilator command line)
|
|
VM_USER_LDLIBS = \
|
|
|
|
# User .cpp files (from .cpp's on Verilator command line)
|
|
VM_USER_CLASSES = \
|
|
cachesim \
|
|
testbench \
|
|
|
|
# User .cpp directories (from .cpp's on Verilator command line)
|
|
VM_USER_DIR = \
|
|
. \
|
|
|
|
|
|
### Default rules...
|
|
# Include list of all generated classes
|
|
include VVX_cache_classes.mk
|
|
# Include global rules
|
|
include $(VERILATOR_ROOT)/include/verilated.mk
|
|
|
|
### Executable rules... (from --exe)
|
|
VPATH += $(VM_USER_DIR)
|
|
|
|
cachesim.o: cachesim.cpp
|
|
$(OBJCACHE) $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(OPT_FAST) -c -o $@ $<
|
|
testbench.o: testbench.cpp
|
|
$(OBJCACHE) $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(OPT_FAST) -c -o $@ $<
|
|
|
|
### Link rules... (from --exe)
|
|
VVX_cache: $(VK_USER_OBJS) $(VK_GLOBAL_OBJS) $(VM_PREFIX)__ALL.a
|
|
$(LINK) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@ $(LIBS) $(SC_LIBS)
|
|
|
|
|
|
# Verilated -*- Makefile -*-
|