makefile funciones comúnmente usadas

1, la función subst

Formato: $ (subst <desde>, <a>, <texto>)
Función: cadena <texto> en el <desde> string <a> Reemplazar
devoluciones: Las devoluciones se sustituye una cadena después de la función.

Ejemplo:
  $ (SUBST A, El, Big Tree No es a)
  el "hay un gran árbol" en la "a" reemplazar "la", el resultado es "No es el árbol grande".

 

2, la función de la tira

Formato: $ (Gaza <cadena>)
Función: Eliminar <cadena> cadena de caracteres nula al principio y al final, y una pluralidad de caracteres de espacio intermedios continuos (si los hay) en un carácter nulo.
Devuelve: Devuelve un valor de cadena es espacios eliminados.
Descripción: caracteres vacíos incluyen caracteres de espacio, ficha, etc. No se puede mostrar

Ejemplo:
str1: ABC =
str2: ABC = 
Str3: A B C =

todo:
$ @ echo ($ tira (cadena1))
@ echo $ ($ tira (str2))
@ echo $ ($ tira (str3))

Salida:
ABC
ABC
A BC

 

3, función de filtro de
formato: $ (filtro PATRÓN ..., TEXTO  )
Función: para filtrar la cadena "TEXTO" todas las palabras que no cumplen con el patrón "patrón", conservando todas las palabras se ajustan a este patrón. Una pluralidad de modos puede ser utilizado, en presencia de una pluralidad de modos, segmentado espacios expresión patrón. Modo general tiene que incluir los caracteres "%".
Devuelve: separada por espacios cadena "texto" toda la cadena de modo correspondiente "patrón". 
Descripción: La función de "filtro" se puede utilizar para eliminar algunas de las cuerdas de una variable.

示例: 
fuentes: = foo.c bar.c baz.s ugh.h 
foo: $ (fuentes) 
cc $ (filtro% .c% .s, $ (fuentes)) foo -o

Uso "$ (filtro% .c% .s , $ (fuentes))" con el valor de retorno a la cc objetivo compilado "foo", la función devuelve
un valor de "foo.c bar.c baz.s"

 

4, la función patsubst
Formato: $ (patsubst <patrón>,  <reemplazo>, <texto>)
Nombre: sustitución de cadenas modo de función patsubst.
Función: Buscar <texto> en la palabra (el "espacio" palabra, "Tab" o "Intro", "envoltura" divisor) el modo de cumplimiento <patrón>, si el partido - entonces el <reemplazo> Reemplazar. Aquí, <patrón> puede incluir comodín "%" representa una cadena de cualquier longitud. Si <reemplazo> también contiene "%" y, a continuación, <reemplazo> en el "%" será la cadena <patrón> en el "%" representa. (Puede usar "\" para escapar a "\%" para representar el verdadero significado del carácter "%")
Devuelve: La función devuelve la cadena después de haber sido reemplazado.

Ejemplo:
$ (% .c patsubst,% O, XCC Bar.C.)

La cadena de modo correspondiente "xcc bar.c" [% .c] reemplazar la palabra [% .o], el resultado es "XCO bar.o"

 

5, función de filtro
Formato: $ (filtro <patrón ...> , <texto>)
Nombre: filtro de función de filtro. 
Función: Filtrar a <patrón> Modo <texto> cadena de palabras, para retener el modo correspondiente <patrón> palabra. Puede haber varios modos. Cuando hay varios modos, segmentado espacios expresión de patrón.
Devuelve: el modo de juego <patrón> string. 
Ejemplo:
Fuentes: = foo.c Bar.c baz.s ugh.h 
foo: $ (Fuentes) 
CC $ (filtro% .s .c%, $ (Fuentes)) foo -o

$ (Filtro% .c% .s, $ (fuentes)) valor de retorno es "foo.c bar.c baz.s".

 

6, filtro de salida función
Formato: $ (filtro de salida <patrón ...>, <texto>)
Nombre: Función de filtro inverso del filtro de salida. 
Función: Filtrar a <patrón> Modo <texto> cadena de palabras, la eliminación de la modalidad de coincidencia <patrón> palabra. Puede haber varios modos. Cuando hay varios modos, segmentado espacios expresión de patrón.
Devoluciones: No cumple con el patrón <patrón> cadena. 
Ejemplo:
Objetos = main1.o foo.o main2.o bar.o 
RED = main1.o main2.o

$ (Filtro de salida $ (toma de corriente), $ (objetos)) valor de retorno es "foo.o bar.o".

 

7. usted

$ (Dir <nombres ...>)

    Nombre: funciones de catálogo Take --dir.
    Función: eliminar un directorio de la secuencia de nombre de archivo de la pieza <nombres> en. parte del directorio es la última parte de la ( "/") de barra invertida anterior. Si no hay una barra invertida, y luego volver a "./".
    Devuelve: Devuelve la secuencia de nombre de archivo <nombre> sección de directorio.
    Ejemplo: $ (dir src / hacks Foo.c ) valor de retorno es "src / ./".

8. foreach

 $ (Foreach <var>, <lista>, <texto>)


Este medio de función que el parámetro <lista>, la extracción de las palabras de uno en uno en el parámetro <var>; variable especificada, y luego realizar <text>, que contiene expresión. Cada <texto>; devuelve una cadena, ciclo, <texto>; cada cadena separada por un espacio serán devueltos, y, finalmente, cuando el final de todo el ciclo, <texto> es el que devuelve cada personaje que consiste en toda la cadena de cadena (separados por espacios) es el valor de retorno se foreach función.

9. addprefix

$ (Addprefix FixString, cadena1 cadena2 ...)
FixString representa ningún prefijo fijo que añadir, después de la coma puede ser uno o más subseries para añadir prefijos, múltiples> separadas por un espacio entre las subcadenas

10. vpath más flexible que VPATH

1), directorios vpath PATRÓN 
especifica un directorio de búsqueda "directorios" para el archivo en el modo de línea de "patrón" es. Múltiples directorios con un espacio o
dos puntos (:) para separar. Al igual que en la sección anterior de "VPATH" 
2), el patrón VPATH 
ruta de búsqueda antes de la puesta centro de intercambio de archivos que perfil de compatibilidad "patrón" de

Makefile camino en busca de todos los archivos, incluidos los archivos de dependencia y de destino. 
Definir la variable "VPATH", los espacios o los dos puntos (:) separando una pluralidad de directorios. Para hacer el catálogo de búsqueda
llevada a cabo de acuerdo con el "VPATH" variable se define en el orden (el directorio actual es siempre el primer directorio de búsqueda).

VPath = src: ../ cabeceras

Se especifica dos directorios de búsqueda, "src" y "../headers". Para la regla "foo: foo.c" si "foo.c" en el "src"
directorio, entonces esta regla es equivalente a "foo: src: /foo.c"

Supongo que te gusta

Origin www.cnblogs.com/fengtai/p/12640473.html
Recomendado
Clasificación