mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			860 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			860 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
GTESTFLAG := -lgtest -lgtest_main
 | 
						|
RPATH := -Wl,-rpath
 | 
						|
EXTRAFLAGS := -lyosys -pthreads
 | 
						|
 | 
						|
OBJTEST := objtest
 | 
						|
BINTEST := bintest
 | 
						|
 | 
						|
ALLTESTFILE := $(shell find -name '*Test.cc' -printf '%P ')
 | 
						|
TESTDIRS := $(sort $(dir $(ALLTESTFILE)))
 | 
						|
TESTS := $(addprefix $(BINTEST)/, $(basename $(ALLTESTFILE:%Test.cc=%Test.o)))
 | 
						|
 | 
						|
# Prevent make from removing our .o files
 | 
						|
.SECONDARY:
 | 
						|
 | 
						|
all: prepare $(TESTS) run-tests
 | 
						|
 | 
						|
$(BINTEST)/%: $(OBJTEST)/%.o
 | 
						|
	$(CXX) -L$(ROOTPATH) $(RPATH)=$(ROOTPATH) -o $@ $^ $(LIBS) \
 | 
						|
		$(GTESTFLAG) $(EXTRAFLAGS)
 | 
						|
 | 
						|
$(OBJTEST)/%.o: $(basename $(subst $(OBJTEST),.,%)).cc
 | 
						|
	$(CXX) -o $@ -c -I$(ROOTPATH) $(CPPFLAGS) $(CXXFLAGS) $^
 | 
						|
 | 
						|
.PHONY: prepare run-tests clean
 | 
						|
 | 
						|
run-tests: $(TESTS)
 | 
						|
	$(subst Test ,Test; ,$^)
 | 
						|
 | 
						|
prepare:
 | 
						|
	mkdir -p $(addprefix $(BINTEST)/,$(TESTDIRS))
 | 
						|
	mkdir -p $(addprefix $(OBJTEST)/,$(TESTDIRS))
 | 
						|
 | 
						|
clean:
 | 
						|
	rm -rf $(OBJTEST)
 | 
						|
	rm -rf $(BINTEST)
 |