Stop using make wrapper around soong_ui
Instead of running make -> makeparallel -> soong_ui, just run soong_ui. Soong_ui now handles user-facing argument parsing. The user visible changes should only be: * Most `make` command line options are no longer supported. Many didn't do anything useful before this change either. * `-j` is now implied, so not specifying it will default to full parallelism instead of a single-threaded build. * `make` debug messages are removed: make: Entering directory ... make: Leaving directory ... make: *** [run_soong_ui] Error 1 We still support the make workflow for users that don't use envsetup.sh -- the build servers primarily, but also various helper scripts. These will be converted later. Test: in $TOP; make nothing Test: in $TOP/bionic; make (runs real make, fails w/no makefile) Test: in $TOP; m nothing Test: in $TOP; mm nothing Test: in $TOP; mma nothing Test: in bionic/libc; m nothing Test: in bionic/libc; mm Test: in bionic/libc; mma Test: in $TOP; mmm bionic/libc Test: in $TOP; mmma bionic/libc Test: in bionic; mmm libc Test: in bionic; mmma libc Test: set WITH_STATIC_ANALYZER=1, repeat above Change-Id: Ic00190ac65a6aa924dad35d3d540c11d653b9c53
This commit is contained in:
parent
1aa29599c6
commit
d41ec5a3bc
40
envsetup.sh
40
envsetup.sh
|
@ -741,7 +741,7 @@ function m()
|
|||
local T=$(gettop)
|
||||
local DRV=$(getdriver $T)
|
||||
if [ "$T" ]; then
|
||||
$DRV make -C $T -f build/core/main.mk $@
|
||||
_wrap_build $DRV $T/build/soong/soong_ui.bash --make-mode $@
|
||||
else
|
||||
echo "Couldn't locate the top of the tree. Try setting TOP."
|
||||
return 1
|
||||
|
@ -770,9 +770,9 @@ function mm()
|
|||
local T=$(gettop)
|
||||
local DRV=$(getdriver $T)
|
||||
# If we're sitting in the root of the build tree, just do a
|
||||
# normal make.
|
||||
if [ -f build/core/envsetup.mk -a -f Makefile ]; then
|
||||
$DRV make $@
|
||||
# normal build.
|
||||
if [ -f build/soong/soong_ui.bash ]; then
|
||||
_wrap_build $DRV $T/build/soong/soong_ui.bash --make-mode $@
|
||||
else
|
||||
# Find the closest Android.mk file.
|
||||
local M=$(findmakefile)
|
||||
|
@ -807,7 +807,7 @@ function mm()
|
|||
if [ "1" = "${WITH_TIDY_ONLY}" -o "true" = "${WITH_TIDY_ONLY}" ]; then
|
||||
MODULES=tidy_only
|
||||
fi
|
||||
ONE_SHOT_MAKEFILE=$M $DRV make -C $T -f build/core/main.mk $MODULES $ARGS
|
||||
ONE_SHOT_MAKEFILE=$M _wrap_build $DRV $T/build/soong/soong_ui.bash --make-mode $MODULES $ARGS
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
@ -875,7 +875,7 @@ function mmm()
|
|||
fi
|
||||
# Convert "/" to "-".
|
||||
MODULES_IN_PATHS=${MODULES_IN_PATHS//\//-}
|
||||
ONE_SHOT_MAKEFILE="$MAKEFILE" $DRV make -C $T -f build/core/main.mk $DASH_ARGS $MODULES $MODULES_IN_PATHS $ARGS
|
||||
ONE_SHOT_MAKEFILE="$MAKEFILE" _wrap_build $DRV $T/build/soong/soong_ui.bash --make-mode $DASH_ARGS $MODULES $MODULES_IN_PATHS $ARGS
|
||||
else
|
||||
echo "Couldn't locate the top of the tree. Try setting TOP."
|
||||
return 1
|
||||
|
@ -886,8 +886,8 @@ function mma()
|
|||
{
|
||||
local T=$(gettop)
|
||||
local DRV=$(getdriver $T)
|
||||
if [ -f build/core/envsetup.mk -a -f Makefile ]; then
|
||||
$DRV make $@
|
||||
if [ -f build/soong/soong_ui.bash ]; then
|
||||
_wrap_build $DRV $T/build/soong/soong_ui.bash --make-mode $@
|
||||
else
|
||||
if [ ! "$T" ]; then
|
||||
echo "Couldn't locate the top of the tree. Try setting TOP."
|
||||
|
@ -899,7 +899,7 @@ function mma()
|
|||
local MODULES_IN_PATHS=MODULES-IN-$(dirname ${M})
|
||||
# Convert "/" to "-".
|
||||
MODULES_IN_PATHS=${MODULES_IN_PATHS//\//-}
|
||||
$DRV make -C $T -f build/core/main.mk $@ $MODULES_IN_PATHS
|
||||
_wrap_build $DRV $T/build/soong/soong_ui.bash --make-mode $@ $MODULES_IN_PATHS
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -937,7 +937,7 @@ function mmma()
|
|||
done
|
||||
# Convert "/" to "-".
|
||||
MODULES_IN_PATHS=${MODULES_IN_PATHS//\//-}
|
||||
$DRV make -C $T -f build/core/main.mk $DASH_ARGS $ARGS $MODULES_IN_PATHS
|
||||
_wrap_build $DRV $T/build/soong/soong_ui.bash --make-mode $DASH_ARGS $ARGS $MODULES_IN_PATHS
|
||||
else
|
||||
echo "Couldn't locate the top of the tree. Try setting TOP."
|
||||
return 1
|
||||
|
@ -1583,13 +1583,18 @@ function pez {
|
|||
|
||||
function get_make_command()
|
||||
{
|
||||
echo command make
|
||||
# If we're in the top of an Android tree, use soong_ui.bash instead of make
|
||||
if [ -f build/soong/soong_ui.bash ]; then
|
||||
echo build/soong/soong_ui.bash --make-mode
|
||||
else
|
||||
echo command make
|
||||
fi
|
||||
}
|
||||
|
||||
function make()
|
||||
function _wrap_build()
|
||||
{
|
||||
local start_time=$(date +"%s")
|
||||
$(get_make_command) "$@"
|
||||
"$@"
|
||||
local ret=$?
|
||||
local end_time=$(date +"%s")
|
||||
local tdiff=$(($end_time-$start_time))
|
||||
|
@ -1608,9 +1613,9 @@ function make()
|
|||
fi
|
||||
echo
|
||||
if [ $ret -eq 0 ] ; then
|
||||
echo -n "${color_success}#### make completed successfully "
|
||||
echo -n "${color_success}#### build completed successfully "
|
||||
else
|
||||
echo -n "${color_failed}#### make failed to build some targets "
|
||||
echo -n "${color_failed}#### failed to build some targets "
|
||||
fi
|
||||
if [ $hours -gt 0 ] ; then
|
||||
printf "(%02g:%02g:%02g (hh:mm:ss))" $hours $mins $secs
|
||||
|
@ -1624,6 +1629,11 @@ function make()
|
|||
return $ret
|
||||
}
|
||||
|
||||
function make()
|
||||
{
|
||||
_wrap_build $(get_make_command) "$@"
|
||||
}
|
||||
|
||||
function provision()
|
||||
{
|
||||
if [ ! "$ANDROID_PRODUCT_OUT" ]; then
|
||||
|
|
Loading…
Reference in New Issue