# -*- 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
# General Public License or the Perl Artistic License.
#
#*****************************************************************************

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)

#######################################################################
# 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
