Compilar en Linux: 3 pasos para crear binarios 🔥
Sammanfattning
- La mayoría del software sigue un proceso de 3 pasos para compilar desde el código fuente:
./configure && make && make install
. - El script konfigurera verifica las dependencias, make genera el ejecutable, y herramientas como autoconf/automake automatizan este proceso.
- La instalación suele ser opcional, facilitando poder ejecutar comandos copiados en directorios del
PATH
de sistema.
Compilar desde código fuente puede parecer intimidante frente a usar gestores de paquetes, pero con tres comandos básicos el proceso es sencillo y sin complicaciones. 🚀
¿Qué es Compilar desde Código Fuente?
Los programas que usas pueden ser interpretados o compilados. Los interpretados son archivos de texto con código que otro programa (el intérprete) ejecuta en tiempo real. En cambio, los compilados son archivos binarios que contienen código máquina listo para ejecutarse.
Los ejecutables compilados son muy habituales, sobre todo en programas grandes. Cuando compilas desde el código fuente, usas un compilador como gcc
para convertir el código en un programa ejecutable, a menudo distribuido en múltiples archivos.

El proceso de compilar puede ser extenso y complejo, por eso generalmente se automatiza con programas como make
. Los archivos makefiles controlan cómo se construye el ejecutable final.
En proyectos grandes, estos makefiles pueden ser tan complejos que se generan automáticamente con herramientas como autoconf och automake para garantizar compatibilidad entre distintas arquitecturas. 🛠️
Proceso de Construcción en 3 Pasos: Configure, Make, Install
La mayoría del software usa este patrón básico para compilar desde código fuente:
./configure && make && make install
Programas populares como Apache usan esta secuencia (o alguna variante), como explica su archivo INSTALL:

Node.js también sigue esta estructura, como indica su archivo BUILDING.md:

Cada proyecto puede tener ligeras variaciones de esta cadena de comandos. Usar el operador lógico AND (&&
) detiene el proceso si algún paso falla:
./configure && make && make install
O puedes ejecutar cada comando por separado en una sola línea con punto y coma, aunque esto ejecutará todos los comandos sin parar si alguno falla:
./configure; make; make install
También puedes hacer las tres líneas por separado:
./configure
make
make install
Si solo quieres probar el programa sin instalarlo, puedes omitir make install
y ejecutarlo desde su carpeta.
konfigurera
listo, mientras otros (como grep) requieren ejecutar otro script primero para generarlo. Consulta siempre el archivo INSTALL, BUILD o README para seguir las recomendaciones del proyecto. 📋Cómo ./configure Da Inicio al Proceso
El script konfigurera
es el punto de partida del proceso de compilación, adaptando el proyecto a tu entorno.
Este script verifica las dependencias necesarias para el proyecto, comprobando versiones y disponibilidad. Al terminar, genera un archivo llamado Makefile
para la siguiente fase.
El script konfigurera
ofrece muchas opciones configurables con ./configure --help
, permitiendo personalizar detalles del build.
konfigurera
som make
generan mucha salida en pantalla. Usa la opción --quiet
si quieres ejecutar estos comandos sin mostrar tanto detalle. 🤫Si falta el script konfigurera
, algunos proyectos incluyen un script como autogen.sh
para generarlo. Por ejemplo, htop lo usa:

Proyectos muy simples o escritos en otros lenguajes pueden no tener konfigurera
. Ahí el proceso queda en dos pasos: make && make install
.
El script konfigurera
también controla detalles de la instalación, como el parámetro --prefix
, que establece el directorio raíz de instalación. Por defecto es /usr/local
, pero puedes cambiarlo para organizar mejor tus archivos.
make hace la mayor parte del trabajo
Después de que konfigurera
genera un Makefile
, comienza la compilación real del software con make
.
Este programa lee el Makefile
y sigue reglas para decidir qué archivos crear o actualizar. Los Makefiles
escritos a mano son fáciles de entender para quienes conocen la sintaxis.
Por ejemplo, este Makefile
simple compila un programa que depende del archivo program.c
:
program: program.c
gcc -o program program.c
make
verifica si program.c
cambió tras la última compilación. Si no cambió, no hace nada; si cambió, compila con gcc
.

De makefiles
generados automáticamente suelen ser mucho más complejos. Por ejemplo, el makefile
de htop tiene 2,440 líneas:

Pero no es necesario entender cada detalle. A menos que modifiques el código fuente, basta con ejecutar make
y dejar que el sistema se encargue.
El paso make
puede demorar minutos o más en proyectos grandes. Si falla, suele ser por dependencias faltantes. La ventaja es que make
guarda el progreso y retoma donde quedó al volver a ejecutar.
Finalizando con make install
Tras compilar, el ejecutable creado normalmente se encuentra en la raíz del proyecto o en un subdirectorio llamado bin
. Puedes ejecutarlo usando la ruta completa:

Esto es útil para pruebas, pero a largo plazo querrás instalarlo en una ubicación accesible.
El objetivo installera
que define el makefile
copia los archivos necesarios y configura permisos. La ubicación predeterminada es /usr/local/bin
, aunque puedes cambiarlo con --prefix
.
Si no tienes permisos para esa carpeta, ejecuta sudo make install
y proporciona la contraseña de administrador.
El directorio de instalación debe estar incluido en tu variable PATH
para poder ejecutar el programa solo con su nombre, sin especificar la ruta completa.