В типичной регрессии есть КАТЕГОРИЯ, которая является «базовой», и контрольный пример «abc.c». Чтобы запустить тест «abc» в категории «basic», пользователь должен ввести:
make basic_abc
Тогда команда должна быть:
basic_abc: abc.c
gcc -g -o abc abc.c
Как я могу написать правило, которое выберет "basic_" в моем $ @. Так что я могу использовать правило для всех тестов. На псевдоязыке, как получить указанное выше правило с подстановкой по шаблону
basic_abc: $(patsubst .*_, " ", $@).c
gcc -g -o $(patsubst .*_, " ", $@) $(patsubst .*_, " ", $@).c