Expansión de patrones automake
Pregunta
Me gustaría incluir muchos archivos en un archivo Makefile.am
en la parte xxx_SOURCES = ...
. ¿Hay alguna forma de usar una expansión de shell típica allí? Lo que estoy buscando es un equivalente de trabajo para:
xxx_SOURCES = xxx.c $(top_builddir)/src/{aaa,bbb,ccc}.c
Solución
1) No hay forma de hacerlo en la sintaxis Make portátil (la respuesta de efemient solo funcionará con Make GNU) 2) Tampoco hay forma de hacerlo usando Automake. (Aunque la función no debería ser demasiado difícil de implementar por alguien que la necesita ...)
Personalmente, realmente no veo la ventaja de usar
foo_SOURCES = subdir/{foo,bar,baz}.c
sobre
foo_SOURCES = \ subdir/foo.c \ subdir/bar.c \ subdir/baz.c
Creo que el primero es más críptico, y no es grepable (por ejemplo, para responder la pregunta " que Makefile
menciona foo.c
? ").
Otros consejos
No sé si es la mejor manera, pero esto es lo que siempre he hecho:
xxx_SOURCES = xxx.c $(shell echo $(top_builddir)/src/{aaa,bbb,ccc}.c)