Allow parallel make when the -j option is passed to build.sh.

Based on a patch to the UQM Mega-Mod by Ala-lala.
This commit is contained in:
Michael Martin
2019-10-27 14:36:33 -07:00
parent 8b1dab9ec0
commit 252fffb993
2 changed files with 26 additions and 6 deletions
+8 -4
View File
@@ -22,11 +22,11 @@ usage() {
echo "Main build script"
echo
echo "Syntax:"
echo " ./build.sh <target>"
echo " ./build.sh [-j[#JOBS]] <target>"
echo " ./build.sh <target> config"
echo " ./build.sh <target> depend"
echo " ./build.sh <target> clean"
echo " ./build.sh <target> install"
echo " ./build.sh [-j[#JOBS]] <target> install"
echo " ./build.sh cleanall"
echo " ./build.sh distclean"
echo
@@ -103,6 +103,8 @@ build_depend() {
# Compile the lot.
# With the depend info set up, we can leave everything to make.
# $1 - additional arguments to pass to make (at the moment just
# an optional -j arg for parallel builds).
build_compile() {
local CFLAGS LDFLAGS TARGET_FILE DEPEND_FILE OBJDIR
@@ -119,7 +121,7 @@ build_compile() {
BUILD_ROOT= \
TARGET_FILE=$TARGET_FILE DEPEND_FILE=$DEPEND_FILE \
SED=$SED \
$MAKE -f Makefile.build "$TARGET_FILE"
$MAKE $1 -f Makefile.build "$TARGET_FILE"
eval "${TARGET}_post_build"
}
@@ -170,12 +172,14 @@ build_check_dependencies() {
}
# Description: check if the program is compiled, and otherwise compile
# $1 - additional arguments to pass to make (at the moment just
# an optional -j arg for parallel builds).
build_check_compile() {
local NAME
eval NAME="\${${BUILD_PROJECT}_NAME}"
[ ! -e "$NAME" ] || return
build_compile || exit $?
build_compile "$1" || exit $?
}
# Make a directory path, with mode and owner specified.