Make

Make es una utilidad del mundo UNIX que sirve para automatizar la compilación de archivos, programas, trabajos, proyectos, o lo que se ocurra. Make es utilizado en Linux, MacOS y otros sistemas similares. Make puede ser usado a secas o junto a otras herramientas (Automake, CMake...). Este tutorial es una introducción a Make para quien nunca haya oído hablar de él.

6:55

1. ¿Por qué usar Make?

En este episodio os presento Make, una extendida herramienta en UNIX y en Linux para compilar programas de ordenador. Y lo hago presentando casos en los que Make, simplemente viene bien.

7:28

2. Reglas, objetivos y dependencias

Empecemos hablando de en qué consisten las reglas en el mundo de Make. La regla le dice a Make cómo hacer algo. Una regla tiene un objetivo, unas dependencias y unas instrucciones.

7:33

3. Mi primer Makefile

Ahora que hemos visto en qué consisten las reglas de Make, vamos a ver cómo crear un archivo Makefile, atendiendo sobre todo a su sintaxis, que es particular.

7:57

4. Expansión de variables

Veamos cómo declarar variables. Las variables nos permitirán flexibilizar el contenido de nuestro Makefile facilitando su modificación.

5:09

5. Reglas implícitas

No es necesario declarar las reglas de todos los archivos de código objeto que queramos compilar. Make da soporta para compilar automáticamente algunos tipos de archivo de forma implícita.

6:54

6. Recompilando dependencias

La gracia de Make está, sin duda, en la posibilidad de recompilar algunas partes de nuestro programa sin tener que recompilarlo todo. En este vídeo te cuento el criterio que usa Make.

5:48

7. Patrones y variables automáticas

Para flexibilizar el uso de Make, tenemos la posibilidad de usar patrones, para crear reglas que sirvan para varios archivos. En esos casos, podemos usar algunas variables automáticas.

5:32

8. Múltiples archivos y otros aspectos finales

Por último, terminamos este vídeo hablando acerca de los aspectos que hacen posible incluir más archivos con reglas de Make, o cómo dividir una línea demasiado larga en múltiples líneas.