Я пытаюсь скомпилировать набор целей. Однако это только кажется первым. Ниже приведен сокращенный вариант моего make-файла, который показывает ошибку.
OBJECTS = abc def ghi
SOURCES = abc.c def.c ghi.c
$(OBJECTS): $(SOURCES)
@echo target is $@, source is $<
В оболочке,
$ touch abc.c def.c ghi.c
$ make
Когда я запускаю make, я получаю следующий результат:
target is abc, source is abc.c
Таким образом, похоже, выполняется только первая цель.
Если я заменю $ <на $ ^, получится:
target is abc, source is abc.c def.c ghi.c
Мой вопрос, можно ли выполнять расширения для переменных, например, с помощью шаблона (%:%)?