117 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			3.8 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 /home/synopsys/vcs/O-2018.09-SP2/linux64/lib/vcs_tls.o $(DEPLIBS) 
 | |
| 
 | |
| VCS_SAVE_RESTORE_OBJ=/home/synopsys/vcs/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=/home/synopsys/vcs/O-2018.09-SP2/linux64/lib -L/home/synopsys/vcs/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=/home/synopsys/verdi/Verdi_O-2018.09-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 -fPIC -O -I/home/synopsys/vcs/O-2018.09-SP2/include   
 | |
| 
 | |
| CFLAGS_O0=-w  -pipe -fPIC -I/home/synopsys/vcs/O-2018.09-SP2/include -O0  -fno-strict-aliasing   
 | |
| 
 | |
| CFLAGS_CG=-w  -pipe -fPIC -I/home/synopsys/vcs/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) /home/synopsys/vcs/O-2018.09-SP2/linux64/lib/libvcsnew.so /home/synopsys/vcs/O-2018.09-SP2/linux64/lib/libsimprofile.so /home/synopsys/vcs/O-2018.09-SP2/linux64/lib/libuclinative.so /home/synopsys/vcs/O-2018.09-SP2/linux64/lib/vcs_tls.o /home/synopsys/vcs/O-2018.09-SP2/linux64/lib/libvcsucli.so  $(VCS_SAVE_RESTORE_OBJ) 
 | |
| 	@touch $(PRODUCT)
 | |
| 
 |