From a475b0d73cf4d443a5613d5ad897bafd4276dd1e Mon Sep 17 00:00:00 2001 From: Timerix22 Date: Sat, 11 Jun 2022 15:10:45 +0300 Subject: [PATCH] parallel compilation --- build_scripts/functions.sh | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/build_scripts/functions.sh b/build_scripts/functions.sh index f7a23ca..0e09cc3 100644 --- a/build_scripts/functions.sh +++ b/build_scripts/functions.sh @@ -21,19 +21,20 @@ function compile { print "${BLUE}args: ${GRAY}$args\n" local sources=$5 print "${BLUE}sources: ${GRAY}$sources\n" - local error=0 + local compilation_error=0 + for srcfile in $sources - do + do ( local object="$OBJDIR/$(basename $srcfile).o" - #print "$BLUE$object\n" if ! $($cmp -std=$std $warn $args -c -o $object $srcfile) then print "${RED}some error happened\n" - error=1 + compilation_error=1 fi - done + ) & done + wait - if [ $error != 0 ] + if [ $compilation_error != 0 ] then exit 1 fi @@ -42,7 +43,7 @@ function compile { # (args, sources) function compile_c { print "${CYAN}-------------[compile_c]--------------\n" - compile $CMP_C $STD_C "$WARN_C " "$1" "$2" + compile $CMP_C $STD_C "$WARN_C" "$1" "$2" } # (args, sources)