Cómo escribir un archivo MAKE en Linux
La función más importante y básica de la herramienta Make es describir la relación entre los programas fuente a través de archivos MAKE y mantener automáticamente el trabajo de compilación. El archivo MAKE debe escribirse de acuerdo con una sintaxis determinada. El archivo debe explicar cómo compilar cada archivo fuente y conectarlo para generar un archivo ejecutable, y es necesario definir las dependencias entre los archivos fuente.
Opciones y parámetros del comando make
Sintaxis
El archivo makefile consta de un conjunto de dependencias y reglas. Cada dependencia consta de un destino (el archivo que se creará) y un conjunto de archivos fuente de los que depende el destino.
Dependencias
Las dependencias definen la relación entre cada archivo en la aplicación final y el archivo fuente.
Las dos líneas anteriores son las dependencias: target a.out: depende de main.o, y target main.o depende de main.c y main.h. Por lo tanto, si main.c y main.h cambian, es necesario volver a compilar todo el programa.
Si necesita crear varios archivos de destino a la vez, utilice el destino todos:
Nota: si no se especifica un destino completo, el comando make solo crea el primer destino del archivo make.
Reglas
Las reglas definen cómo se crean los objetivos.
Nota: La línea que contiene la regla debe comenzar con el carácter de tabulación.
El siguiente es un ejemplo simple:
El comando make determinará el orden correcto de los archivos por sí mismo, creará los archivos correspondientes usando las reglas dadas y los mostrará en la pantalla. . Si se compila varias veces, el comando make lee el archivo MAKE para determinar los comandos mínimos para reconstruir el destino sin volver a compilar.
Comentarios
Los comentarios en el archivo MAKE comienzan con # y terminan al final de la línea.
Macros
Las macros también se pueden definir en el archivo MAKE o en la línea de comando cuando se usa el comando make. Si necesita usar definiciones fuera del archivo, es mejor no hacerlo. utilizar espacios.
Entonces se acabó.