¿Por qué usar Make?

En este episodio te presento Make, una herramienta muy extendida en la programación UNIX y Linux y popularizada por lenguajes de programación como C o C++, con la que podrás compilar tus programas de ordenador o realizar tareas de desarrollo repetitivas (como ejecutar tests) de una forma más ergonómica.

Make es una herramienta de apoyo a la hora de compilar programas compuestos de múltiples archivos de código fuente.

La manera tradicional de compilar un código fuente escrito en C, o cualquier otro lenguaje, es invocando directamente al compilador, como GCC, por ejemplo, desde la terminal: gcc -o programa codigo.c. Sin embargo, cuando un programa está compuesto de múltiples archivos de código fuente, la situación se puede volver un poco inmanejable si tenemos que invocar continuamente a GCC a mano, o si tenemos un montón de archivos no queremos recompilar todo el tiempo.

Otra situación en la que compilar a mano un código fuente tiene dependencias que deben ser especificadas a mano a la hora de compilar, como puede ser proporcionar una serie de parámetros extra a la hora de invocar el compilador para que tenga referencias a otras librerías y archivos de cabecera que vayamos a ejecutar. En estos casos, los comandos a ejecutar pueden ser verdaderamente largos y puede ser molesto de tener que teclear cada vez.

Make nos aporta las siguientes ventajas:

  • Nos facilitará establecer una conexión entre los distintos archivos que conforman nuestro proyecto, tanto código objeto como código fuente.
  • Se ocupará de hacer compilaciones incrementales: es decir, si detecta que no hemos modificado un archivo desde la última vez que lo compilamos, no lo compilará de nuevo.
  • Facilidad a la hora de ejecutar comandos, porque con decir make, se invocarán múltiples acciones, parecido a los shell scripts.

Make es una herramienta UNIX disponible en sistemas operativos como GNU/Linux, macOS o BSD. En el caso de Windows, es posible usar herramientas como MSYS, Cygwin, o más recientemente, el subsistema Windows para Linux, para poder tener acceso a Make.

Nota en postscript: la variante de Make que se va a explicar en esta lista de reproducción usa el dialecto GNU Make, y puede que no funcione en otras herramientas Make que no sean de GNU, como BSD Make.

Lista de reproducción
  1. 1
    ¿Por qué usar Make?
    7 minutos
  2. 2
    Reglas, objetivos y dependencias
    7 minutos
  3. 3
    Mi primer Makefile
    8 minutos
  4. 4
    Expansión de variables
    8 minutos
  5. 5
    Reglas implícitas
    5 minutos
  6. 6
    Recompilando dependencias
    7 minutos
  7. 7
    Patrones y variables automáticas
    6 minutos
  8. 8
    Múltiples archivos y otros aspectos finales
    6 minutos