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