Merge pull request #2319 from YosysHQ/mwk/techmap-celltype-pattern
[yosys.git] / tests / unit / Makefile
1 GTESTFLAG := -lgtest -lgtest_main
2 RPATH := -Wl,-rpath
3 EXTRAFLAGS := -lyosys -pthreads
4
5 OBJTEST := objtest
6 BINTEST := bintest
7
8 ALLTESTFILE := $(shell find -name '*Test.cc' -printf '%P ')
9 TESTDIRS := $(sort $(dir $(ALLTESTFILE)))
10 TESTS := $(addprefix $(BINTEST)/, $(basename $(ALLTESTFILE:%Test.cc=%Test.o)))
11
12 # Prevent make from removing our .o files
13 .SECONDARY:
14
15 all: prepare $(TESTS) run-tests
16
17 $(BINTEST)/%: $(OBJTEST)/%.o
18 $(CXX) -L$(ROOTPATH) $(RPATH)=$(ROOTPATH) -o $@ $^ $(LDLIBS) \
19 $(GTESTFLAG) $(EXTRAFLAGS)
20
21 $(OBJTEST)/%.o: $(basename $(subst $(OBJTEST),.,%)).cc
22 $(CXX) -o $@ -c -I$(ROOTPATH) $(CPPFLAGS) $(CXXFLAGS) $^
23
24 .PHONY: prepare run-tests clean
25
26 run-tests: $(TESTS)
27 $(subst Test ,Test; ,$^)
28
29 prepare:
30 mkdir -p $(addprefix $(BINTEST)/,$(TESTDIRS))
31 mkdir -p $(addprefix $(OBJTEST)/,$(TESTDIRS))
32
33 clean:
34 rm -rf $(OBJTEST)
35 rm -rf $(BINTEST)