117 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Makefile
		
	
	
	
# Makefile generated by VCS to build your model
 | 
						|
# This file may be modified; VCS will not overwrite it unless -Mupdate is used
 | 
						|
 | 
						|
# define default verilog source directory 
 | 
						|
VSRC=..
 | 
						|
 | 
						|
# Override TARGET_ARCH
 | 
						|
TARGET_ARCH=
 | 
						|
 | 
						|
# Choose name of executable 
 | 
						|
PRODUCTBASE=$(VSRC)/simv
 | 
						|
 | 
						|
PRODUCT=$(PRODUCTBASE)
 | 
						|
 | 
						|
# Product timestamp file. If product is newer than this one,
 | 
						|
# we will also re-link the product.
 | 
						|
PRODUCT_TIMESTAMP=product_timestamp
 | 
						|
 | 
						|
# Path to runtime library
 | 
						|
DEPLIBS=
 | 
						|
VCSUCLI=-lvcsucli
 | 
						|
RUNTIME=-lvcsnew -lsimprofile -luclinative /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcs_tls.o $(DEPLIBS) 
 | 
						|
 | 
						|
VCS_SAVE_RESTORE_OBJ=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcs_save_restore_new.o
 | 
						|
 | 
						|
# Select your favorite compiler
 | 
						|
 | 
						|
# Linux:
 | 
						|
VCS_CC=gcc
 | 
						|
 | 
						|
# Internal CC for gen_c flow:
 | 
						|
CC_CG=gcc
 | 
						|
# User overrode default CC: 
 | 
						|
VCS_CC=gcc
 | 
						|
# Loader
 | 
						|
LD=g++
 | 
						|
 | 
						|
# Strip Flags for target product
 | 
						|
STRIPFLAGS= 
 | 
						|
 | 
						|
PRE_LDFLAGS= # Loader Flags
 | 
						|
LDFLAGS= -rdynamic  -Wl,-rpath=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib -L/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib 
 | 
						|
# Picarchive Flags
 | 
						|
PICLDFLAGS=-Wl,-rpath-link=./ -Wl,-rpath='$$ORIGIN'/simv.daidir/ -Wl,-rpath=./simv.daidir/ -Wl,-rpath='$$ORIGIN'/simv.daidir//scsim.db.dir 
 | 
						|
 | 
						|
# C run time startup
 | 
						|
CRT0=
 | 
						|
# C run time startup
 | 
						|
CRTN=
 | 
						|
# Machine specific libraries
 | 
						|
SYSLIBS=/opt/synopsys/verdi/Verdi_N-2017.12-SP2/share/PLI/VCS/LINUX64/pli.a -ldl  -lc -lm -lpthread -ldl
 | 
						|
 | 
						|
# Default defines
 | 
						|
SHELL=/bin/sh
 | 
						|
 | 
						|
VCSTMPSPECARG=
 | 
						|
VCSTMPSPECENV=
 | 
						|
# NOTE: if you have little space in $TMPDIR, but plenty in /foo,
 | 
						|
#and you are using gcc, uncomment the next line
 | 
						|
#VCSTMPSPECENV=SNPS_VCS_TMPDIR=/foo
 | 
						|
 | 
						|
TMPSPECARG=$(VCSTMPSPECARG)
 | 
						|
TMPSPECENV=$(VCSTMPSPECENV)
 | 
						|
CC=$(TMPSPECENV) $(VCS_CC) $(TMPSPECARG)
 | 
						|
 | 
						|
# C flags for compilation
 | 
						|
CFLAGS=-w  -pipe -DVCSMX -DUVM_DPI_DO_TYPE_CHECK -fPIC -O -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include   
 | 
						|
 | 
						|
CFLAGS_O0=-w  -pipe -DVCSMX -DUVM_DPI_DO_TYPE_CHECK -fPIC -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include -O0  -fno-strict-aliasing   
 | 
						|
 | 
						|
CFLAGS_CG=-w  -pipe -DVCSMX -DUVM_DPI_DO_TYPE_CHECK -fPIC -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include -O  -fno-strict-aliasing   
 | 
						|
 | 
						|
LD_PARTIAL_LOADER=ld
 | 
						|
# Partial linking
 | 
						|
LD_PARTIAL=$(LD_PARTIAL_LOADER) -r -o
 | 
						|
ASFLAGS=
 | 
						|
LIBS=-lzerosoft_rt_stubs -lvirsim -lerrorinf -lsnpsmalloc -lvfs 
 | 
						|
# Note: if make gives you errors about include, either get gmake, or
 | 
						|
# replace the following line with the contents of the file filelist,
 | 
						|
# EACH TIME IT CHANGES
 | 
						|
# included file defines OBJS, and is automatically generated by vcs
 | 
						|
include filelist
 | 
						|
 | 
						|
OBJS=$(VLOG_OBJS)  $(SYSC_OBJS)   $(VHDL_OBJS) 
 | 
						|
 | 
						|
product : $(PRODUCT_TIMESTAMP)
 | 
						|
	@echo $(PRODUCT) up to date
 | 
						|
 | 
						|
objects : $(OBJS) $(DPI_STUB_OBJS) $(PLI_STUB_OBJS) 
 | 
						|
 | 
						|
clean   :
 | 
						|
	rm -f $(VCS_OBJS) $(CU_OBJS)
 | 
						|
 | 
						|
clobber : clean
 | 
						|
	rm -f $(PRODUCT) $(PRODUCT_TIMESTAMP) 
 | 
						|
 | 
						|
picclean : 
 | 
						|
	rm -f _csrc*.so pre_vcsobj_*.so share_vcsobj_*.so
 | 
						|
	@rm -f $(PRODUCT).daidir/_[0-9]*_archive_*.so 2>/dev/null
 | 
						|
 | 
						|
product_clean_order : 
 | 
						|
	@$(MAKE) -f Makefile --no-print-directory picclean
 | 
						|
	@$(MAKE) -f Makefile --no-print-directory product_order
 | 
						|
 | 
						|
product_order : $(PRODUCT)
 | 
						|
 | 
						|
$(PRODUCT_TIMESTAMP) : product_clean_order
 | 
						|
	-if [ -x $(PRODUCT) ]; then chmod -x $(PRODUCT); fi
 | 
						|
	$(LD) $(CRT0) -o $(PRODUCT) $(PRE_LDFLAGS) $(STRIPFLAGS) $(PCLDFLAGS) $(PICLDFLAGS) $(LDFLAGS) $(OBJS)  $(LIBS)   $(RUNTIME) -Wl,-whole-archive $(VCSUCLI) -Wl,-no-whole-archive     $(LINK_TB) $(DPI_STUB_OBJS) $(PLI_STUB_OBJS)   $(VCS_SAVE_RESTORE_OBJ) $(SYSLIBS) $(CRTN)
 | 
						|
	@rm -f csrc[0-9]*.o
 | 
						|
	@touch $(PRODUCT_TIMESTAMP)
 | 
						|
	@-if [ -d ./objs ]; then find ./objs -type d -empty -delete; fi
 | 
						|
 | 
						|
$(PRODUCT) :  $(LD_VERSION_CHECK)  $(OBJS) $(DOTLIBS) $(DPI_STUB_OBJS) $(PLI_STUB_OBJS) $(CMODLIB) /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvcsnew.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libsimprofile.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libuclinative.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcs_tls.o /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvcsucli.so  $(VCS_SAVE_RESTORE_OBJ) 
 | 
						|
	@touch $(PRODUCT)
 | 
						|
 |