1 GTESTFLAG
:= -lgtest
-lgtest_main
3 EXTRAFLAGS
:= -lyosys
-pthreads
8 ALLTESTFILE
:= $(shell find
-name
'*Test.cc' -printf
'%P ')
9 TESTDIRS
:= $(sort $(dir $(ALLTESTFILE
)))
10 TESTS
:= $(addprefix $(BINTEST
)/, $(basename $(ALLTESTFILE
:%Test.
cc=%Test.o
)))
12 # Prevent make from removing our .o files
15 all: prepare
$(TESTS
) run-tests
17 $(BINTEST
)/%: $(OBJTEST
)/%.o
18 $(CXX
) -L
$(ROOTPATH
) $(RPATH
)=$(ROOTPATH
) -o
$@
$^
$(LDLIBS
) \
19 $(GTESTFLAG
) $(EXTRAFLAGS
)
21 $(OBJTEST
)/%.o
: $(basename $(subst $(OBJTEST
),.
,%)).
cc
22 $(CXX
) -o
$@
-c
-I
$(ROOTPATH
) $(CPPFLAGS
) $(CXXFLAGS
) $^
24 .PHONY
: prepare run-tests
clean
27 $(subst Test
,Test
; ,$^
)
30 mkdir
-p
$(addprefix $(BINTEST
)/,$(TESTDIRS
))
31 mkdir
-p
$(addprefix $(OBJTEST
)/,$(TESTDIRS
))