Возможно, в зависимости от того, насколько упорядочена ваша тестовая система.
Если между заголовочными и исходными файлами есть хорошие взаимно-однозначные отношения, вы можете использовать некоторые функции преобразования текста (или вызов sed) для преобразования сгенерированного машиной правила, которое у вас уже есть:
foo.o: foo.cc foo.h bar.h gaz.h
в правило для соответствующего теста:
unit_test_foo: unit_test_foo.o foo.o stub_bar.o stub_gaz.o
Или, если вы используете много заглушек без соответствующих заголовков (что является предупреждающим знаком), вы можете связать их с каждой заглушкой , кроме stub_foo.o. Эти объектные файлы невелики и не часто меняются, поэтому они дешевы.