Предположим, у меня есть такая структура:
src/a/foo.cpp
src/b/bar.cpp
src/main.cpp
tests/a/test_foo.cpp
tests/b/test_bar.cpp
tests/test_all.cpp
Мне бы очень хотелось, чтобы Make-файл создавал исходники и создавал тесты. Для источников у меня есть эта настройка:
src = $(shell find src -name "*.cpp")
objs = $(src:.c=.o)
bin = stuff
$(bin): $(objs)
$(CXX) -o $@ $^ $(LDFLAGS)
Для тестов я хотел бы иметь аналогичную упрощенную c структуру, в которой каждый тест должен был бы собрать свою контр-часть в src
и сам а также.
Итак, для test_foo
я бы хотел такую задачу:
clang++ -o test_foo tests/test_foo.cpp src/foo.cpp
Кроме того, вы считаете хорошей идеей иметь отдельный Makefile
для тестов и еще один для двоичного?
Большое спасибо