Files
vortex/driver/sim/Makefile
2020-03-16 17:49:24 -04:00

44 lines
1.2 KiB
Makefile

CXXFLAGS += -O0 -g -Wall -Wextra -pedantic -Wfatal-errors
CXXFLAGS += -I../sw
LDFLAGS += -L./obj_dir
DRV_CFLAGS += -O0 -g -Wall -Wextra -pedantic -Wfatal-errors
DRV_CFLAGS += -I../../sw
DRV_CFLAGS += -fPIC
DRV_LDFLAGS += -shared -pthread
DRV_SRCS = vx_driver.cpp ../../simX/args.cpp ../../simX/mem.cpp ../../simX/core.cpp ../../simX/instruction.cpp ../../simX/enc.cpp ../../simX/util.cpp
RTL_TOP = ../../simX/cache_simX.v
RTL_INCLUDE = -I../../rtl/shared_memory -I../../rtl/cache -I../../rtl/interfaces -Isimulate -I../../rtl
VL_FLAGS += -Wno-UNOPTFLAT -Wno-WIDTH
VL_FLAGS += --trace -DVL_DEBUG=1
PROJECT = libvxdrv_sim.so
all: $(PROJECT) test
$(PROJECT): $(SIMX_SRCS)
verilator --exe --cc $(RTL_TOP) $(RTL_INCLUDE) $(VL_FLAGS) $(DRV_SRCS) -CFLAGS '$(DRV_CFLAGS)' -LDFLAGS '$(DRV_LDFLAGS)' -o $(PROJECT)
make -j -C obj_dir -f Vcache_simX.mk OPT='-DVL_DEBUG' VL_DEBUG=1 DVL_DEBUG=1
test: $(PROJECT) test.o utils.o
$(CXX) $(CXXFLAGS) test.o utils.o $(LDFLAGS) -lvxdrv_sim -o $@
utils.o: ../sw/utils.cpp
$(CXX) $(CXXFLAGS) -c ../sw/utils.cpp -o $@
test.o: ../sw/test.cpp
$(CXX) $(CXXFLAGS) -c ../sw/test.cpp -o $@
clean:
rm -rf $(PROJECT) test *.so *.o obj_dir