autotools可以生成configure脚本,运行configure后能够生成Makefile文件。如果要交叉编译,需要在运行configure的时候指定—host选项,由于历史原因,指定—host的同时,必须指定—build选项。如果要编译的是交叉编译器(cross-compiler)本身,还需要指定—target选项。

 
举个例子,要在Linux pc机上编译出arm平台程序,需要:
 
1, 下载(或编译)并安装pc Linux到arm平台的交叉编译工具链,如arm-none-linux-gnueabi-gcc等。
2, 用autotools生成configure脚本后,运行如下命令:
CC=arm-none-linux-gnueabi-gcc AR=arm-none-linux-gnueabi-ar RANLIB=arm-none-linux-gnueabi-ranlib AS=arm-none-linux-gnueabi-as LD=arm-none-linux-gnueabi-ld NM=arm-none-linux-gnueabi-nm ./configure --build=i686-pc-linux --host=arm-linux
3, 运行make命令
4, 检查目标文件
file main/mytest输出:
    main/mytest: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped