Supongamos que estoy trabajando en un makefile y tengo la siguiente declaración de variables en la parte superior:¿Cómo usar una lista de variables como un objetivo en un Makefile?
FILES = file1.cpp file2.cpp file3.cpp
Ahora supongamos que quiero compilar cada uno de los que tienen un comando especial sin especificar cada objetivo como esto:
file1.o : file1.cpp
custom_command file1.cpp
file2.o : file2.cpp
custom_command file2.cpp
file3.o : file3.cpp
custom_command file3.cpp
¿Hay una mejor manera de hacerlo utilizando la variable $(FILES)
que declare anteriormente?
Algo así como:
$(FILES:.cpp=.o) : $(FILES)
custom_command $(FILES)
... Sólo tiene que hacer esto para cada archivo en la variable $(FILES)
.
Ya, eso es más o menos lo que estoy tratando de hacer. –
Otra forma de especificar dependencias exactamente es usar [expansión secundaria] (https://www.gnu.org/software/make/manual/html_node/Secondary-Expansion.html) de los requisitos previos (función específica de GNU Make). – ruvim