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
Foi útil?

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)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top