86 lines
2.3 KiB
Makefile
86 lines
2.3 KiB
Makefile
# Verilated -*- Makefile -*-
|
|
# DESCRIPTION: Verilator output: Makefile for building Verilated archive or executable
|
|
#
|
|
# Execute this makefile from the object directory:
|
|
# make -f Vcache_simX.mk
|
|
|
|
default: Vcache_simX
|
|
|
|
### Constants...
|
|
# Perl executable (from $PERL)
|
|
PERL = perl
|
|
# Path to Verilator kit (from $VERILATOR_ROOT)
|
|
VERILATOR_ROOT = /usr/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 = Vcache_simX
|
|
# Module prefix (from --prefix)
|
|
VM_MODPREFIX = Vcache_simX
|
|
# User CFLAGS (from -CFLAGS on Verilator command line)
|
|
VM_USER_CFLAGS = \
|
|
-std=c++11 -fPIC -O3 \
|
|
|
|
# User LDLIBS (from -LDFLAGS on Verilator command line)
|
|
VM_USER_LDLIBS = \
|
|
|
|
# User .cpp files (from .cpp's on Verilator command line)
|
|
VM_USER_CLASSES = \
|
|
args \
|
|
core \
|
|
enc \
|
|
instruction \
|
|
mem \
|
|
simX \
|
|
util \
|
|
|
|
# User .cpp directories (from .cpp's on Verilator command line)
|
|
VM_USER_DIR = \
|
|
. \
|
|
|
|
|
|
### Default rules...
|
|
# Include list of all generated classes
|
|
include Vcache_simX_classes.mk
|
|
# Include global rules
|
|
include $(VERILATOR_ROOT)/include/verilated.mk
|
|
|
|
### Executable rules... (from --exe)
|
|
VPATH += $(VM_USER_DIR)
|
|
|
|
args.o: args.cpp
|
|
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(OPT_FAST) -c -o $@ $<
|
|
core.o: core.cpp
|
|
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(OPT_FAST) -c -o $@ $<
|
|
enc.o: enc.cpp
|
|
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(OPT_FAST) -c -o $@ $<
|
|
instruction.o: instruction.cpp
|
|
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(OPT_FAST) -c -o $@ $<
|
|
mem.o: mem.cpp
|
|
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(OPT_FAST) -c -o $@ $<
|
|
simX.o: simX.cpp
|
|
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(OPT_FAST) -c -o $@ $<
|
|
util.o: util.cpp
|
|
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(OPT_FAST) -c -o $@ $<
|
|
|
|
### Link rules... (from --exe)
|
|
Vcache_simX: $(VK_USER_OBJS) $(VK_GLOBAL_OBJS) $(VM_PREFIX)__ALL.a
|
|
$(LINK) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@ $(LIBS) $(SC_LIBS) 2>&1 | c++filt
|
|
|
|
|
|
# Verilated -*- Makefile -*-
|