# NDK地址
NDK=/Users/biezhihua/software/android-ndk-r13b
# 工具链目录
PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt
# sysroot 目录
# sysroot 是一个包含针对您的目标的系统标头和库的目录
PLATFORM=$NDK/platforms/android-21/arch-arm
# Lib结果目录
PREFIX=/Users/biezhihua/software/TestLib
# --target-os=... 目标系统 Android是Linux内核
# --prefix=... Lib(so)结果目录
# --enable-cross-compile 使用交叉编译
# --cc=... 使用C编译器
# --cross-prefix=... 交叉工具链前缀
# --disable-stripping 禁止剥离可执行程序和共享库
# --nm=... 这个不知道,知道的请留言
--help print this message //帮助
--logfile=FILE //测试和输出到文件记录
--disable-logging //不要日志调试的信息
--prefix=PREFIX //安装的目录前缀
--bindir=DIR //生成2进制文件的目录
--datadir=DIR //生成数据文件目录
--libdir=DIR //生成静态库的目录
--shlibdir=DIR //生成动态库的目录
--incdir=DIR //生成头文件的目录
--mandir=DIR //生成帮助手册的目录
Configuration options:
--disable-static //不建立静态库
--enable-shared // 建立共享库
--enable-gpl //允许GPL代码 生成在lib 和2进制文件
--enable-nonfree //允许nonfree代码生成lib 和2进制文件
--disable-ffmpeg //取消建立ffmpeg
--disable-ffplay
--disable-ffserver
--enable-postproc //使GPled后置处理支持
--enable-avfilter //视频过滤支持
--enable-avfilter-lavf //依赖avformat过滤器
--enable-beosthreads //使用BeOS线程
--enable-os2threads //使用OS/2线程
--enable-pthreads use pthreads [no]
--enable-w32threads use Win32 threads [no] //win32
--enable-x11grab enable X11 grabbing
--disable-network //禁用网络支持
--disable-ipv6 //禁用ipv6支持
--disable-mpegaudio-hp //快(但不准确)的音频解码
--enable-gray //全灰度支持(慢,颜色)
--disable-swscale-alpha //禁止alpha管道在swscale的支持
--disable-fastdiv //禁用table-based的分工
--enable-small //优化尺寸代替速度
--disable-aandct //禁用AAN dct编码
--disable-fft //禁用FFT代码
--disable-golomb //禁用Golomb代码
--disable-mdct //取消MDCT代码
--disable-rdft //取消RDFT代码
--enable-runtime-cpudetect //使能CPU运行时检测(会生成更大的2进制)
--enable-hardcoded-tables //使用编码表替换运行时产生
--enable-memalign-hack //模仿memalign影响记忆的调试器
--enable-beos-netserver //使用beos netserver
--disable-encoder=NAME //禁用编码器
--enable-encoder=NAME //使用编码器
--disable-encoders //禁用所有编码器
--disable-decoder=NAME //禁用解码器
--enable-decoder=NAME //使用解码器
--disable-decoders //禁用所有解码器
--disable-hwaccel=NAME //禁用hwaccel
--enable-hwaccel=NAME //启用hwaccel名字
--disable-hwaccels //禁用所有hwaccel
--disable-muxer=NAME //禁用合成器
--enable-muxer=NAME //启用合成器
--disable-muxers //禁用所有合成器
--disable-demuxer=NAME //禁用分离器
--enable-demuxer=NAME //启用分离器
--disable-demuxers //禁用所有分离器
--enable-parser=NAME //启用解析器
--disable-parser=NAME //禁用解析器
--disable-parsers //禁用所有解析器
--enable-bsf=NAME //启用数据流过滤器
--disable-bsf=NAME //禁用数据过滤器
--disable-bsfs //禁用所有数据过滤器名字
--enable-protocol=NAME //启用协议
--disable-protocol=NAME //禁用协议
--disable-protocols //禁用所有协议
--disable-indevs //禁用输入设备
--disable-outdevs //禁用输出设备
--disable-devices //禁用所有设备
--enable-filter=NAME //启用过滤器
--disable-filter=NAME //禁用过滤器
--disable-filters //禁用所有过滤器
--list-decoders //显示所有可用的解码器
--list-encoders //显示所有可用的编码器
--list-hwaccels //显示所有可用的硬件加速器
--list-muxers //显示所有可用的合成器
--list-demuxers //显示所有可用的分离器
--list-parsers //显示所有可用的的解析器
--list-protocols //显示所有可用的协议
--list-bsfs //显示所有可用的数据过滤器
--list-indevs //显示所有可用的输入设备
--list-outdevs //显示所有可用的输出设备
--list-filters //显示所有可用的过滤器
External library support: 外部库的支持
--enable-avisynth //使阅读AVISYnth脚本文件
--enable-bzlib //设置bzuilb(自动检测)
--enable-libamr-nb //设置libamr-nb浮点音频解码
--enable-libamr-wb //设置libamr-wb浮点音频解码
--enable-libdc1394 enable IIDC-1394 grabbing using libdc1394 and libraw1394 [no]
--enable-libdirac enable Dirac support via libdirac [no]
--enable-libfaac enable FAAC support via libfaac [no]
--enable-libfaad enable FAAD support via libfaad [no]
--enable-libfaadbin open libfaad.so.0 at runtime [no]
--enable-libgsm enable GSM support via libgsm [no]
--enable-libmp3lame enable MP3 encoding via libmp3lame [no]
--enable-libnut enable NUT (de)muxing via libnut,
native (de)muxer exists [no]
--enable-libopenjpeg enable JPEG 2000 decoding via OpenJPEG [no]
--enable-libschroedinger enable Dirac support via libschroedinger [no]
--enable-libspeex enable Speex decoding via libspeex [no]
--enable-libtheora enable Theora encoding via libtheora [no]
--enable-libvorbis enable Vorbis encoding via libvorbis,
native implementation exists [no]
--enable-libx264 enable H.264 encoding via x264 [no]
--enable-libxvid enable Xvid encoding via xvidcore,
native MPEG-4/Xvid encoder exists [no]
--enable-mlib enable Sun medialib [no]
--enable-zlib enable zlib [autodetect]
Advanced options (experts only):高级的选项
--source-path=PATH //源代码路径
--cross-prefix=PREFIX //作为编译工具使用的前缀
--enable-cross-compile //假设交叉编译的使用
--sysroot=PATH //root of cross-build tree
--sysinclude=PATH //cross—build系统位置的标题
--target-os=OS //目标OS,默认linux
--target-exec=CMD //编译器目标OS(linux)
--target-path=DIR //path to view of build directory on target
--nm=NM //使用um工具
--as=AS //使用汇编语言AS
--cc=CC //用c编译器cc
--host-cc=HOSTCC // 使用主机C编译器hostcc
--host-cflags=HCFLAGS //use HCFLAGS when compiling for host
--host-ldflags=HLDFLAGS //当链接主机的时候使用libs库
--host-libs=HLIBS //lib时使用HLIBS主机链接
--extra-cflags=ECFLAGS //add ECFLAGS to CFLAGS [ -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112]
--extra-ldflags=ELDFLAGS //附加flag
--extra-libs=ELIBS //附加库
--extra-version=STRING //版本字符串后缀
--build-suffix=SUFFIX //库名字后缀
--arch=ARCH //选择平台
--cpu=CPU //选择最低需要cpu(影响指令的选择可能坠毁在更老的cpu)
--enable-powerpc-perf //设置绩效报告的ppc(需要使用pmc)
--disable-altivec //禁用Altivec优化
--disable-amd3dnow //禁用3DNOW优化
--disable-amd3dnowext //禁用3DNOW扩展优化
--disable-mmx //禁用MMX优化
--disable-mmx2 //禁用MMX2优化
--disable-sse //禁用SSE优化
--disable-ssse3 //禁用SSSE3优化
--disable-armv5te //禁用armv5te优化,下同
--disable-armv6
--disable-armv6t2
--disable-armvfp
--disable-iwmmxt
--disable-mmi
--disable-neon
--disable-vis
--disable-yasm //禁用汇编指令
Developer options (useful when working on FFmpeg itself):
--disable-debug disable debugging symbols //禁止调试
--enable-debug=LEVEL set the debug level [] //设置调试等级
--enable-gprof enable profiling with gprof [] //设置剖析和性能分析
--disable-optimizations disable compiler optimizations //禁用编译器优化选项
--enable-extra-warnings enable more compiler warnings //使更多的编译器选项
--disable-stripping //禁用剥夺可执行文件和共享库