Utilidad diseñada para optimizar la ejecución de tareas en paralelo con GNU make, especialmente en entornos donde varios procesos de compilación o construcción pueden competir por recursos. Su función principal es coordinar el número de trabajos paralelos [-j] que cada instancia de make puede ejecutar, evitando la sobrecarga del sistema y mejorando la eficiencia.
$ make --jobserver-auth=3,4 -j4
$ makeparallel --jobserver-auth=3,4 make
Ejemplo práctico con un propyecto con la estructura:
proyecto/
├── Makefile
├── modulo1/
│ └── Makefile
├── modulo2/
│ └── Makefile
└── modulo3/
└── Makefile
Compilar todo en paralelo, pero sin exceder 4 trabajos en total. Primer paso iniciar el servidor de trabajos
$ make --jobserver-auth=3,4 -j4
A continuación compilar cada módulo
$ cd modulo1 && makeparallel --jobserver-auth=3,4 make
$ cd modulo2 && makeparallel --jobserver-auth=3,4 make
$ cd modulo3 && makeparallel --jobserver-auth=3,4 make
Cada makeparallel reclamará trabajos disponibles y ejecutará make con el número de trabajos asignados, sin exceder el límite global de 4.