expansão padrão Automake
Pergunta
Eu gostaria de incluir vários arquivos em um arquivo Makefile.am
na parte xxx_SOURCES = ...
. Existe alguma maneira de usar um expansões shell típicos lá? O que eu estou procurando é um equivalente trabalhando para:
xxx_SOURCES = xxx.c $(top_builddir)/src/{aaa,bbb,ccc}.c
Solução
1) Não há nenhuma maneira de fazer isso na sintaxe Marca portátil (resposta de ephemient vai trabalhar apenas com o GNU make) 2) Não há nenhuma maneira de fazer isso usando Automake também. (Embora o recurso não deve ser muito difícil de implementar por alguém que precisa dele ...)
Pessoalmente, eu realmente não vejo a vantagem de usar
foo_SOURCES = subdir/{foo,bar,baz}.c
mais
foo_SOURCES = \ subdir/foo.c \ subdir/bar.c \ subdir/baz.c
Acho que a primeira é mais enigmática, e não é para o grep (por exemplo, para responder à pergunta "o que Makefile
menciona foo.c
?").
Outras dicas
Eu não sei se é a melhor maneira, mas isso é o que eu sempre fiz:
xxx_SOURCES = xxx.c $(shell echo $(top_builddir)/src/{aaa,bbb,ccc}.c)