Автоматическое расширение шаблона - PullRequest
0 голосов
/ 26 ноября 2009

Я хотел бы включить много файлов в один Makefile.am файл в части xxx_SOURCES = .... Есть ли способ использовать типичные расширения оболочки там? То, что я ищу, является рабочим эквивалентом:

xxx_SOURCES = xxx.c $(top_builddir)/src/{aaa,bbb,ccc}.c

Ответы [ 2 ]

1 голос
/ 26 ноября 2009

1) Нет способа сделать это в переносимом синтаксисе Make (ответ ephemient будет работать только с GNU Make) 2) Нет способа сделать это с помощью Automake. (Хотя эта функция не должна быть слишком сложной для реализации кем-то, кому она нужна ...)

Лично я не вижу преимущества использования

foo_SOURCES = subdir/{foo,bar,baz}.c

над

foo_SOURCES = \
  subdir/foo.c \
  subdir/bar.c \
  subdir/baz.c

Я считаю, что первое является более загадочным, и его нельзя назвать ужасным (например, чтобы ответить на вопрос "который Makefile упоминает foo.c?").

1 голос
/ 26 ноября 2009

Не знаю, лучший ли это путь, но я всегда так делал:

xxx_SOURCES = xxx.c $(shell echo $(top_builddir)/src/{aaa,bbb,ccc}.c)
...