Android编译中m、mm、mmm的区别

在Android Source Code中有envsetup.sh�n案,���绦羞^此�n案後,可以大幅��build的�^程��位�、自�踊�

此�n案在src(android source code 位置)/build/中

所以可以�绦幸韵轮噶�
cd /src/build/

. envsetup.sh

可以使用help��z示有哪些指令可以使用

Invoke ". build/envsetup.sh" from your shell to add the following functions to your environment:

- croot:   Changes directory to the top of the tree.
- m:       Makes from the top of the tree.
- mm:      Builds all of the modules in the current directory.
- mmm:     Builds all of the modules in the supplied directories.
- cgrep:   Greps on all local C/C++ files.
- hgrep:   Greps on all local C/C++ header files.
- jgrep:   Greps on all local Java files.
- mkgrep:  Greps on all local make files.
- rcgrep:  Greps on all local .rc files.
- resgrep: Greps on all local res/*.xml files.
- shgrep:  Greps on all local .sh files.
- godir:   Go to the directory containing a file.

其中�δ=M的��g有�o助�f明的是tapas、m、mm、mmm�@���指令

其中mmm后面要跟模�M的根目�,不是所有的目�下都有子模�M,那些含有Android.mk�n案目�才是模�M的根目�,模�M名可以��Android.mk的LOCAL_MODULE或者LOCAL_PACKAGE_NAME��抵械玫健�

�为���g某模�M,需要在mmm后面指定模�M路�剑�例如��gexternal 中的jpeg

root@ubuntu:/home/android/src# mmm external/jpeg/
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.1-update1
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=ECLAIR
============================================
make: Entering directory `/home/android/src'
Target buildinfo: out/target/product/generic/root/default.prop
Target buildinfo: out/target/product/generic/system/build.prop
Copy: out/target/product/generic/system/etc/apns-conf.xml
make: Leaving directory `/home/android/src'
root@ubuntu:/home/android/src#


或者可用 mm 再欲��g的模�M目�下�绦�
root@ubuntu:/home/android/src/external/jpeg# mm
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.1-update1
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=ECLAIR
============================================
make: Entering directory `/home/android/src'
Copy: out/target/product/generic/system/etc/apns-conf.xml
make: Leaving directory `/home/android/src'
root@ubuntu:/home/android/src/external/jpeg#


或者可用 m ��g全部的模�M
root@ubuntu:/home/android/src# m

你也可以在src目�下直接�绦�make module name:

打�_看 ./external/jpeg/Android.mk

看到�e面模�M名�Q�� libjpeg

LOCAL_MODULE:= libjpeg

�@�幽憔涂梢灾苯哟蚰=M名�Q��g

cd ~/android/src
make libjpeg

也可以在登入�r自��绦写� script,�� ~/.bashrc 或其他 shell 的 rc �n,加入此 script 即可

# invoke android envsetup.sh
source ~/android/build/envsetup.sh

你可能感兴趣的:(android,mm,m,mmm,Android编译)