wmakeCollect: Support simultaneous builds of different target architectures or compilers

This commit is contained in:
Henry Weller
2016-07-05 10:24:08 +01:00
parent e8b098121c
commit 948e10841b
2 changed files with 12 additions and 10 deletions

View File

@ -347,13 +347,14 @@ scheduler="wmakeCollect"
if [ "$all" = "queue" ]
then
( \
wmakeLnIncludeAll -j$WM_NCOMPPROCS \
&& WM_ID=$(stat --format=%d.%i $PWD) \
WM_SCHEDULER=$scheduler \
trap '$scheduler -kill' TERM INT; \
wmake -all objects \
&& $scheduler \
( \
wmakeLnIncludeAll -j$WM_NCOMPPROCS \
&& WM_ID=${PWD////_}.$WM_OPTIONS \
WM_SCHEDULER=$scheduler \
trap '$scheduler -kill' TERM INT; \
$scheduler -clean \
&& wmake -all objects \
&& $scheduler \
) && wmake -all
exit $?
fi

View File

@ -42,7 +42,8 @@ usage() {
Usage: $Script [OPTION] <command>
options:
-kill Removes temporary makefiles
-clean Clean-up before compilation (removes old makefiles)
-kill Clean-up after termination (removes makefiles)
-h | -help Print the usage
Collecting scheduler for fast parallel compilation of large numbers of object
@ -76,7 +77,7 @@ do
-h | -help)
usage
;;
-kill)
-kill | -clean)
cleanup="true"
shift
;;
@ -135,7 +136,7 @@ then
# Add the build rule for the current target
echo "$object: $makefile" >> $file
echo -e "\t cd $PWD && \\" >> $file
echo -e "\tcd $PWD && \\" >> $file
echo -e "\t${@:1:($#-1)} $object" >> $file
echo >> $file
else