移植第三方程序有几种情况
一 .如果源码包有Makefile文件,直接改Makefile,修改CC, AS, LD, CFLAGS,INST_PATH..
二.源码包没有Makefile文件,但有configure/config文件:
1.设置 CC, LD ,AS, LDFLAGS ,AR,RANLIB等环境变量,如下面的lrzsz命令移植中的
CC=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc (编译器)
AR=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ar (做静态库)
LD=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ld (做链接)
AS=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-as (做汇编)
RANLIB=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ranlib (做静态库)
./configure --host=arm-linux (给谁跑的:配置主机)
指定交叉编译器路径,指定链接路径及AS,AR等
2.make
3. make install
三. 没有configure/config,也没有Makefile,但是会有一个autogen.sh脚本
sh autogen.sh -->生成configure文件
再按照二做。
例:在FL2440开发板上移植第三方程序lrzsz
1、在网上下载源码包
https://ohse.de/uwe/software/lrzsz.html
2、下好后,就解压
[huangan@localhost ~]$ tar -zxf lrzsz-0.12.20.tar.gz
[huangan@localhost ~]$ cd lrzsz-0.12.20
3、生成Mafile文件
[huangan@localhost ~]$
CC=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc
AR=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ar
LD=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ld
AS=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-as
RANLIB=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ranlib
./configure --host=arm-linux
4、编译
[huangan@localhost ~]$ make
make成功后,在src里面会生成lrz lsz 文件
如上图所示,接下来把lrz lsz下载到开发板上,添加权限,就可以运行了