🇺🇦 Слава Україні! Consulta como ayudar a Ucrania y pide a tu gobierno que se movilice supportukrainenow.org.

Make

¿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.

Fecha de emisión:

Duración: 6:55

Ver en YouTube

Notas del episodio

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.