With dpkg-buildpackage v1.21.10 or later, the only way to build the deb-pkg generated package parallely is adding -j<N> to the MAKEFLAGS environment variable or using the --jobs-force option. The package ignores the usual parallel build option that is described in Debian Policy §4.9.1. Derive make's -j parameter from the DEB_BUILD_OPTIONS environment variable that ends up being set by dpkg-buildpackage -j<N>. Link: https://www.debian.org/doc/debian-policy/ch-source.html Signed-off-by: Bastian Germann <bage@xxxxxxxxxxxxx> --- scripts/package/mkdebian | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian index f74380036bb5..0217790e7a26 100755 --- a/scripts/package/mkdebian +++ b/scripts/package/mkdebian @@ -238,11 +238,15 @@ fi cat <<EOF > debian/rules #!$(command -v $MAKE) -f +ifneq (,\$(filter parallel=%,\$(DEB_BUILD_OPTIONS))) + JOBS = -j\$(subst parallel=,,\$(filter parallel=%,\$(DEB_BUILD_OPTIONS))) +endif + srctree ?= . build-indep: build-arch: - \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} \ + \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} \$(JOBS) \ \$(shell \$(srctree)/scripts/package/deb-build-option) \ olddefconfig all @@ -250,10 +254,10 @@ build: build-arch binary-indep: binary-arch: build-arch - \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} intdeb-pkg + \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} \$(JOBS) intdeb-pkg clean: rm -rf debian/files debian/linux-* - \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} clean + \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} \$(JOBS) clean binary: binary-arch EOF -- 2.39.2