Por qué deberías usar Makefile en tus proyectos (y cómo empezar)

Jose Eduardo Tirado
Makefile Automatización DevTools Productividad

Aprende por qué Makefile es una herramienta poderosa para automatizar tareas en tus proyectos, cómo usarlo y cómo instalarlo fácilmente.

Por qué deberías usar Makefile en tus proyectos (y cómo empezar)

Makefile es una de esas herramientas simples pero poderosas que, una vez entiendes su utilidad, no puedes dejar de usar en tus proyectos. Ya sea backend, frontend o fullstack, un Makefile te ayuda a automatizar tareas repetitivas y documentar cómo correr tu app.

Introducción

¿Cuántas veces has olvidado cómo levantar un proyecto que hiciste hace meses? ¿O perdiste tiempo explicándole a alguien más cómo correr tu API o hacer un build? Makefile resuelve eso: es una forma declarativa y directa de definir comandos comunes.

Desarrollo

¿Qué es Makefile?

Es un archivo llamado Makefile que contiene comandos agrupados por nombre, llamados targets. Permite ejecutar tareas como make start, make test, make build sin memorizar comandos largos.

¿Por qué usarlo?

  • Evita repetir comandos largos
  • Documenta cómo se corre el proyecto
  • Es compatible con cualquier lenguaje
  • Funciona en Linux, macOS y WSL (Windows)

Cómo instalar make

En la mayoría de sistemas Linux y macOS ya viene instalado. Si no:

# Ubuntu/Debian
sudo apt install make

# macOS (usando Homebrew)
brew install make

# Windows (usando WSL o Git Bash)
choco install make

Ejemplo básico de Makefile

start:
	@echo "Iniciando servidor..."
	npm run dev

test:
	npm run test

build:
	npm run build

lint:
	npx eslint src --fix

Con esto, puedes ejecutar:

make start
make test
make build
make lint

Tips útiles

  • Usa @ para ocultar el comando y mostrar solo el mensaje
  • Deja un tab, no espacios, en cada línea del bloque
  • Agrupa tareas frecuentes como setup, db, clean, etc.

Conclusión

Usar Makefile mejora tu flujo de trabajo, lo hace más profesional y mantenible. No importa si trabajas solo o en equipo: si tienes más de 2 comandos que repites seguido, necesitas un Makefile.