nada - Crear regla en makefile solo para un conjunto de archivos
makefile linux (2)
Estoy escribiendo un Makefile, y quiero usar una regla genérica con comodines, como
%: bkp/%
cp $< $@
Pero quería que esta regla fuera válida solo para unos pocos archivos específicos. Quería definir una variable con la lista, por ejemplo
file_list = foo.c bar.c zzz.c
y configure la regla para que solo sea válida para los archivos que se enumeran en esta variable. ¿Cómo puedo hacer eso?
Por supuesto, 5 minutos después encontré la respuesta yo mismo ... :)
Lo que necesitamos es una regla de patrón estático.
http://www.gnu.org/software/make/manual/make.html#Static-Pattern
Así se resolvería el ejemplo con
$(file_list) : % : bkp/%
cp $< $@
Quieres una regla de patrón estático :
file_list = foo.c bar.c zzz.c
$(file_list): %: bkp/%
cp $< $@
La sintaxis es muy similar a la regla de patrón implícita que estaba usando. Y sí, generalmente es más seguro (más predecible).