Foreach, patsubst y otras funciones y variables de automatización en makefile

Foreach Patsubst Other Functions

Link de referencia:
Cómo usar la función foreach en Makefile
$ @, $ ^, $<, $ ?, $%, $ +, $ * in Makefile
Patsubst de Makefile

comodín, notdir, patsubst, obj = $ (dir:%. c =%. o)



ejemplo:
Cree un directorio de prueba, cree un subdirectorio llamado sub en el directorio de prueba



|_+_|

Bajo prueba, cree archivos a.cy b.c2, y en el subdirectorio, cree archivos sa.cy sb.c2



Crea un Makefile simple

|_+_|

Realizar análisis de resultados:

Variables de automatización descripción
root @ xxxxx El objetivo establecido en la regla, en la regla de patrón, si hay varios objetivos,
'Root @ xxxxx' Representa el conjunto de destino definido en el patrón coincidente.
$% Cuando el destino es una biblioteca de funciones, indica el nombre del miembro de destino en la regla. Si el destino no es un archivo de biblioteca de funciones, su valor está vacío.
$< El primer archivo del conjunto de archivos dependientes, si el archivo dependiente está definido por un patrón (es decir, '%'), entonces
“$<” Es una serie de colecciones de archivos que se ajustan al patrón.
$? Todas las colecciones de destino dependientes que son más nuevas que el destino están separadas por espacios.
$^ La colección de todos los archivos dependientes, separados por espacios, si hay varios archivos duplicados en el archivo dependiente,
“$^” Los archivos dependientes duplicados se eliminarán y el valor se mantendrá.
$+ Similar a '$ ^', pero si hay duplicados en el archivo de dependencia, el archivo de dependencia duplicado no se eliminará.
$* Esta variable representa el '%' y la parte anterior del patrón objetivo. Si el objetivo es un.%. C, entonces '$ *' es test / a.test.