mirror of
https://github.com/opnsense/src.git
synced 2026-04-03 16:35:27 -04:00
all the SUBDIR entries in parallel, instead of serially. Apply this
option to a selected number of Makefiles, which can greatly speed up the
build on multi-core machines, when using make -j.
This can be extended to more Makefiles later on, whenever they are
verified to work correctly with parallel building.
I tested this on a 24-core machine, with make -j48 buildworld (N = 6):
before stddev after stddev
======= ====== ======= ======
real time 1741.1 16.5 959.8 2.7
user time 12468.7 16.4 14393.0 16.8
sys time 1825.0 54.8 2110.6 22.8
(user+sys)/real 8.2 17.1
E.g. the build was approximately 45% faster in real time. On machines
with less cores, or with lower -j settings, the speedup will not be as
impressive. But at least you can now almost max out a machine with
buildworld!
Submitted by: jilles
MFC after: 2 weeks
65 lines
673 B
Makefile
65 lines
673 B
Makefile
# From: @(#)Makefile 8.1 (Berkeley) 5/31/93
|
|
# $FreeBSD$
|
|
|
|
.include <bsd.own.mk>
|
|
|
|
SUBDIR= cat \
|
|
chflags \
|
|
chio \
|
|
chmod \
|
|
cp \
|
|
date \
|
|
dd \
|
|
df \
|
|
domainname \
|
|
echo \
|
|
ed \
|
|
expr \
|
|
freebsd-version \
|
|
getfacl \
|
|
hostname \
|
|
kenv \
|
|
kill \
|
|
ln \
|
|
ls \
|
|
mkdir \
|
|
mv \
|
|
pax \
|
|
pkill \
|
|
ps \
|
|
pwait \
|
|
pwd \
|
|
realpath \
|
|
rm \
|
|
rmdir \
|
|
setfacl \
|
|
sh \
|
|
sleep \
|
|
stty \
|
|
sync \
|
|
test \
|
|
uuidgen
|
|
|
|
.if ${MK_RCMDS} != "no"
|
|
SUBDIR+= rcp
|
|
.endif
|
|
|
|
.if ${MK_SENDMAIL} != "no"
|
|
SUBDIR+= rmail
|
|
.endif
|
|
|
|
.if ${MK_TCSH} != "no"
|
|
SUBDIR+= csh
|
|
.endif
|
|
|
|
.if ${MK_TESTS} != "no"
|
|
SUBDIR+= tests
|
|
.endif
|
|
|
|
.include <bsd.arch.inc.mk>
|
|
|
|
SUBDIR:= ${SUBDIR:O}
|
|
|
|
SUBDIR_PARALLEL=
|
|
|
|
.include <bsd.subdir.mk>
|