From e44e98b14499dcc10a22150136f3df2d04ace98e Mon Sep 17 00:00:00 2001 From: bryan Date: Wed, 23 Feb 2022 16:26:38 -0500 Subject: [PATCH] Breakout make download and count cpus --- openwrtbuilder | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/openwrtbuilder b/openwrtbuilder index 412dde3..5c846aa 100755 --- a/openwrtbuilder +++ b/openwrtbuilder @@ -260,6 +260,8 @@ sshBackup() { makeImage() { debug "${FUNCNAME[0]}" + declare _nprocs + # Reuse the existing output if [[ -d "${P_ARR[out_bin_dir]}" ]]; then if askOk "${P_ARR[out_bin_dir]} exists. Rebuild?"; then @@ -271,9 +273,19 @@ makeImage() { [[ ! -d "${P_ARR[out_bin_dir]}" ]] && mkdir -p "${P_ARR[out_bin_dir]}" + _numcpus=$(nproc) + _numcpus=$(( _numcpus - 1 )) + + # download image + debug "make download BIN_DIR=${P_ARR[out_bin_dir]} PROFILE=${P_ARR[profile]} PACKAGES=${P_ARR[packages]} FILES=$FILESDIR --directory=${P_ARR[source_dir]} > make.log" + if ! make download BIN_DIR="${P_ARR[out_bin_dir]}" PROFILE="${P_ARR[profile]}" PACKAGES="${P_ARR[packages]}" FILES="$FILESDIR" --directory="${P_ARR[source_dir]}" > make.log; then + echo "Make download failed!" + exit 1 + fi + # build image - debug "make -j4 image BIN_DIR=${P_ARR[out_bin_dir]} PROFILE=${P_ARR[profile]} PACKAGES=${P_ARR[packages]} FILES=$FILESDIR --directory=${P_ARR[source_dir]} > make.log" - if ! make image BIN_DIR="${P_ARR[out_bin_dir]}" PROFILE="${P_ARR[profile]}" PACKAGES="${P_ARR[packages]}" FILES="$FILESDIR" --directory="${P_ARR[source_dir]}" > make.log; then + debug "make -j$_numcpus image BIN_DIR=${P_ARR[out_bin_dir]} PROFILE=${P_ARR[profile]} PACKAGES=${P_ARR[packages]} FILES=$FILESDIR --directory=${P_ARR[source_dir]} >> make.log" + if ! make -j$_numcpus image BIN_DIR="${P_ARR[out_bin_dir]}" PROFILE="${P_ARR[profile]}" PACKAGES="${P_ARR[packages]}" FILES="$FILESDIR" --directory="${P_ARR[source_dir]}" >> make.log; then echo "Make image failed!" exit 1 fi