A small library to handle parallel jobs in a build automation program compatible with GNU Make and under the GNU LGPL v3 license.
See the manual pages for documentation.
The code is available on GitHub and code.malloc.fr.
To compile the library run make T_CFLAGS=-NDEBUG
; to install it, run make install prefix='<path to installation root>'
.
On Linux, it is possible to add -DUSE_SIGNALFD
to T_CFLAGS
to use signalfd(2). Otherwise, the self-pipe trick is used.
A config.mk
file can be used to conveniently set up compilation options.
The build process will infer, from the version of GNU Make which is used to build the library, the environment variable that should be used (--jobserver-fds
before version 4.2 or --jobserver-auth
for version 4.2 and after). It is however possible to edit $(BUILDIR)/src/config.h
to manually select a value for MAKEFLAGS_JOBSERVER
.
To test the library with different versions of GNU Make, run ./install-make V
where V
is an existing release identifier. Then run ./make/make-V/make check
to compile and test the library against this specific version V
of GNU Make.
Contributions are most welcome, especially to support more platforms.