переменная target в make-файле

Я пытаюсь скомпилировать набор целей. Однако это только кажется первым. Ниже приведен сокращенный вариант моего 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

Мой вопрос, можно ли выполнять расширения для переменных, например, с помощью шаблона (%:%)?

16
задан wmercer 30 June 2011 в 23:22
поделиться