Расширение шаблона Automake
Вопрос
Я хотел бы объединить много файлов в один Makefile.am
файл в xxx_SOURCES = ...
часть.Есть ли способ использовать там типичные расширения оболочки?Я ищу рабочий эквивалент для:
xxx_SOURCES = xxx.c $(top_builddir)/src/{aaa,bbb,ccc}.c
Решение
1) Невозможно сделать это в портативном синтаксисе (ответ эфемиентов будет работать только с 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
?").
Другие советы
Я не знаю, лучший ли это путь, но я всегда так делал:
xxx_SOURCES = xxx.c $(shell echo $(top_builddir)/src/{aaa,bbb,ccc}.c)
Не связан с StackOverflow