diff options
author | Alon Albert <aalbert@google.com> | 2011-11-30 12:40:19 -0800 |
---|---|---|
committer | Alon Albert <aalbert@google.com> | 2011-11-30 12:40:19 -0800 |
commit | 68895a96999f651b9f5020e13197250a57a91eaa (patch) | |
tree | 655b7edfe1a32b062108a87f18cdf7d6990167e8 | |
parent | b50bd7f0097e9b45a8265d418288abae8adbd78c (diff) | |
download | build-68895a96999f651b9f5020e13197250a57a91eaa.zip build-68895a96999f651b9f5020e13197250a57a91eaa.tar.gz build-68895a96999f651b9f5020e13197250a57a91eaa.tar.bz2 |
Add support for building specific modules with mmm using the following syntax:
Build all modules: mmm dir
Build a single module: mmm dir:module
Build multiple modules: mmm dir:module1,module2
Or in other words:
Change-Id: If32770c19f03a4d460f32046a3dd06656e33ee11
-rw-r--r-- | envsetup.sh | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/envsetup.sh b/envsetup.sh index 272eb18..26784ad 100644 --- a/envsetup.sh +++ b/envsetup.sh @@ -615,12 +615,17 @@ function mmm() T=$(gettop) if [ "$T" ]; then local MAKEFILE= + local MODULES= local ARGS= local DIR TO_CHOP local DASH_ARGS=$(echo "$@" | awk -v RS=" " -v ORS=" " '/^-.*$/') local DIRS=$(echo "$@" | awk -v RS=" " -v ORS=" " '/^[^-].*$/') for DIR in $DIRS ; do - DIR=`echo $DIR | sed -e 's:/$::'` + MODULES=`echo $DIR | sed -n -e 's/.*:\(.*$\)/\1/p' | sed 's/,/ /'` + if [ "$MODULES" = "" ]; then + MODULES=all_modules + fi + DIR=`echo $DIR | sed -e 's/:.*//' -e 's:/$::'` if [ -f $DIR/Android.mk ]; then TO_CHOP=`(cd -P -- $T && pwd -P) | wc -c | tr -d ' '` TO_CHOP=`expr $TO_CHOP + 1` @@ -647,7 +652,7 @@ function mmm() fi fi done - ONE_SHOT_MAKEFILE="$MAKEFILE" make -C $T $DASH_ARGS all_modules $ARGS + ONE_SHOT_MAKEFILE="$MAKEFILE" make -C $T $DASH_ARGS $MODULES $ARGS else echo "Couldn't locate the top of the tree. Try setting TOP." fi |