# -*- Makefile -*- #***************************************************************************** # # DESCRIPTION: Verilator Example: Makefile for inside object directory # # This is executed in the object directory, and called by ../Makefile # # Copyright 2003 by Wilson Snyder. This program is free software; you can # redistribute it and/or modify it under the terms of either the GNU # Lesser General Public License Version 3 or the Perl Artistic License # Version 2.0. # #***************************************************************************** default: simx include Vvgen.mk ####################################################################### # Use sp_log.cpp, so we can get output in sim.log CPPFLAGS += -DUTIL_PRINTF=sp_log_printf # Needed by tracing routines CPPFLAGS += -DWAVES=1 CPPFLAGS += -DVL_DEBUG=1 CPPFLAGS += $(CPPFLAGS_ADD) # Random code often does / 0. Unfortunately VL_DIV_I(0,0) will warn # without this flag, even though there's a conditional to prevent the divide. CPPFLAGS += -Wno-div-by-zero ####################################################################### # Linking final exe -- presumes have a sim_main.cpp SP_SRCS = verilated.o # If you are using the older version of SystemPerl, you may want instead: #SP_SRCS = sp_log.o SpTraceVcd.o simx: sim_main.o $(SP_SRCS) $(VM_PREFIX)__ALL.a $(LINK) $(LDFLAGS) -g $^ $(LOADLIBES) $(LDLIBS) -o $@ $(LIBS) 2>&1 | c++filt sim_main.o: sim_main.cpp $(VM_PREFIX).h