Uso del script Makefile en las notas de estudio del lenguaje C

¿Qué es un script Makefile?

 El script Makefile recopila los archivos de las instrucciones de compilación del programa. make es una herramienta de comando. Cuando se ejecuta el comando make, leerá y ejecutará automáticamente las instrucciones de compilación en el Makefile, y completará automáticamente la compilación automática de todo el proyecto.

¿Por qué se necesita el script Makefile?

 Si hay muchos archivos .c en el proyecto, habrá muchas instrucciones de compilación para ellos, el tiempo de compilación requerido es relativamente largo y las dependencias son muy complicadas.
    Cuando se modifican los archivos .h y .c en el proyecto, no podemos distinguir artificialmente qué archivos deben volver a compilarse, solo podemos volver a compilarlos todos, pero esta operación lleva mucho tiempo.
    Entonces use el script Makefile para compilar el proyecto:
        1. Ahorre tiempo
        2. Registre las dependencias entre archivos
        3. Automatice el proceso de compilación

El principio del script Makefile:

El principio del script Makefile se basa en la hora de la última modificación del archivo.Si la hora de la última modificación del archivo dependiente es posterior a la del archivo de destino, es necesario volver a compilar el archivo.
        hola.c > hola.o 
            gcc -c hola.c
        hola.h > hola.o 
            gcc -c hola.c

El formato del script Makefile:

Está compuesto por varios objetivos de compilación. Es similar a la función en lenguaje C. Es un módulo de compilación compuesto por varias instrucciones de compilación. Por defecto, solo se ejecuta el primer objetivo de compilación, también llamado objetivo de entrada.

    destino ... : requisitos previos ...
        comando
        ...
        ...

    destino: destino de compilación, si no existe o es anterior al archivo del que depende, ejecute las siguientes instrucciones de compilación.
    requisitos previos: el destino y el archivo de compilación dependiente, que es equivalente a la llamada de función del lenguaje C.
    comando: Instrucciones de compilación 

Las variables se pueden usar en el script Makefile:
    nombre de variable = valor Definir variables y asignar valores iniciales a las variables
    $ (nombre de variable) Use el nombre de variable para obtener el valor de la variable.
    Nombres de variables de uso común:
        CC=compilador
        STD=estándar de gramática
        FLAG=estándar de verificación, -Wall, -Werror
        TARGE=nombre del archivo ejecutable final 
        OBJECT=nombre de todos los archivos de objetos
 

Compilar objetivos responsables de la limpieza:

El destino de la compilación generalmente es responsable de eliminar el archivo de destino, el resultado de la compilación del archivo de encabezado y el archivo ejecutable.
    Por lo general, no se confiará en él, es decir, no se ejecutará, pero se ejecutará manualmente a través del nombre de destino en la línea de comando cuando sea necesario.
    Cuándo debe ejecutarse:
        1. El contenido recién modificado no ha cambiado. Puede haber un problema con las dependencias y el código no se ha vuelto a compilar. Ejecutarlo puede eliminar todos los archivos de destino y los archivos ejecutables y volver a compilar.
        2. Después de cambiar la plataforma de ejecución, todos los archivos de destino compilados antes ya no se pueden usar.
        3. Cuando finalmente se inicie el proyecto, todos los resultados de la compilación se eliminarán y volverán a compilar.

    limpiar:
        rm -rf $(OBJETO) $(OBJETIVO)
        rm -rf .h.gch

Plantilla de archivo Makefile general:

CC=gcc
STD=-std=gnu99
FLAG=-Wall -Werror
TARGE=manager
OBJECT=main.o tools.o manager_user.o

$(TARGE):$(OBJECT)
    $(CC) $(OBJECT) -o $( DESTINO) 

%.o:%.c 
    $(CC) $(STD) $(BANDERA) -c $<

clean:
    rm -rf $(OBJETO) $(DESTINO)
    rm -rf .h.gch

Supongo que te gusta

Origin blog.csdn.net/m0_62480610/article/details/125929395
Recomendado
Clasificación