linux编译工具?linux编译安装软件

linux make是什么意思

Linux make是什么意思?Make是一个流行的构建工具,用于自动化程序的编译和安装。Makefile是一个文本文件,其中指定了程序的依赖关系和编译规则,以及其他相关信息。Make会根据Makefile自动确定需要重新编译的文件,编译顺序以及执行操作。Make的目的是使整个编译过程更有效率,节省时间和人力成本。

Make的工作原理是什么?在Makefile文件中,每一个目标都有相应的依赖和规则。当修改了某些文件时,Make会自动确定需要重新编译的目标文件和执行命令。Make确保了每一步操作的正确性和顺序性。Makefile的规则可以包括编译器调用和选项、源文件依赖关系、目标文件生成和安装规则等内容。?使用Make可以使编译器自动化、模块化和可重复使用。

如何使用Linux make?使用Make需要编写Makefile文件,在其中定义目标、依赖和规则。可以使用文本编辑器,按照Makefile的语法格式编写。然后在终端中使用make命令即可执行编译和安装操作。Make还支持诸如顺序执行、并行执行、单元测试和调试等高级功能。Make可以作为自动化编译和部署的工具,更广泛地应用于各种软件项目中。

如何制作arm-linux-gcc编译工具

一、下载源文件

源代码文件及其版本:

binutils-2.19.tar.bz2, gcc-core-4.4.4.tar.bz2 gcc-g++-4.4.4.tar.bz2 Glibc-2.7.tar.bz2 Glibc-ports-2.7.tar.bz2 Gmp-4.2.tar.bz2 mpfr-2.4.0.tar.bz2mpc-1.0.1.tar.gz Linux-2.6.25.tar.bz2(由于我在编译出错的过程中,根据出错的信息修改了相关的C代码,故而没有下载相应的补丁)

一般一个完整的交叉编译器涉及到多个软件,主要包括bilinguals、cc、glibc等。其中,binutils主要生成一些辅助工具;gcc是用来生成交叉编译器,主要生成arm-linux-gcc交叉编译工具,而glibc主要提供用户程序所需要的一些基本函数库。

二、建立工作目录

编译所用主机型号 fc14.i686,虚拟机选的是VM7.0,Linux发行版选的是Fedora9,

第一次编译时用的是root用户(第二次用一般用户yyz),所有的工作目录都在/home/yyz/cross下面建立完成,首先在/home/yyz目录下建立cross目录,然后进入工作目录,查看当前目录。命令如下:

创建工具链文件夹:

[root@localhost cross]# mkdir embedded-toolchains

下面在此文件夹下建立如下几个目录:

setup-dir:存放下载的压缩包;

src-dir:存放binutils、gcc、glibc解压之后的源文件;

Kernel:存放内核文件,对内核的配置和编译工作也在此完成;

build-dir:编译src-dir下面的源文件,这是GNU推荐的源文件目录与编译目录分离的做法;

tool-chain:交叉编译工具链的安装位;

program:存放编写程序;

doc:说明文档和脚本文件;

下面建立目录,并拷贝源文件。

[root@localhost cross]#cd embedded- toolchains

[root@localhost embedded- toolchains]#mkdir setup-dir src-dir kernel build-dir tool-chain program doc

[root@localhost embedded- toolchains]#ls

build-dir doc kernel program setup-dir src-dir tool-chain

[root@localhost embedded- toolchains]#cd setup-dir

拷贝源文件:

这里我们采用直接拷贝源文件的方法,首先应该修改setup-dir的权限

[root@localhost embedded- toolchains]#chmod 777 setup-dir

然后直接拷贝/home/yyz目录下的源文件到setup-dir目录中,如下图:

建立编译目录:

[root@localhost setup-dir]#cd../build-dir

[root@localhost build-dir]#mkdir build-binutils build-gcc build-glibc

三、输出环境变量

输出如下的环境变量方便我们编译。

为简化操作过程。下面就建立shell命令脚本environment-variables:

[root@localhost build-dir]#cd../doc

[root@localhost doc]#mkdir scripts

[root@localhost doc]#cd scripts

用编辑器vi编辑环境变量脚本envionment-variables:[root@localhost scripts]

#vi envionment-variables

export PRJROOT=/home/yyz/cross/embedded-toolchains

export TARGET=arm-linux

export PREFIX=$PRJROOT/tool-chain

export TARGET_PREFIX=$PREFIX/$TARGET

export PATH=$PREFIX/bin:$PATH

截图如下:

执行如下语句使环境变量生效:

[root@localhost scripts]# source./environment-variables

四、建立二进制工具(binutils)

下面将分步介绍安装binutils-2.19.1的过程。

[root@localhost script]# cd$PRJROOT/src-dir

[root@localhost src-dir]# tar jxvf../setup-dir/binutils-2.19.1.tar.bz2

[root@localhost src-dir]# cd$PRJROOT/build-dir/build-binutils

创建Makefile:

[root@localhost build-binutils]#../../src-dir/binutils-2.19.1/configure--target=$TARGET--prefix=$PREFIX

在build-binutils目录下面生成Makefile文件,然后执行make,make install,此过程比较缓慢,大约需要一个15分钟左右。完成后可以在$PREFIX/bin下面看到我们的新的binutil。

输入如下命令

[root@localhost build-binutils]#ls$PREFIX/bin

详细介绍Linux内核开发工具都有哪些

1、Source Insight

Source Insight是Windows平台下一款流行度极高的源码阅读和编辑工具。不少Linux开发人员还是习惯于在Windows下进行源码编辑,甚至查看和编辑Linux内核源码,依然在Source Insight中完成。

说明:Source Insight是一款版权软件,需要自行解决版权问题。

安装Source Insight软件后,新建一个工程,取名并指定数据存放位置,如图 1.1所示。

图 1.1新建工程

点击OK按钮,进入工程设置界面,如图 1.2所示。

图 1.2工程设置

然后添加源码。浏览选中Linux内核源码文件夹后,点击“Add Tree”按钮,将内核源码树的全部文件添加到工程中,如图 1.3所示。

图 1.3添加内核源码

添加完成,即可在Source Insight中进行源码阅读和编辑了,如图 1.4所示。

图 1.4在Source Insight中阅读源码

2、Eclipse

Eclipse是一个跨平台IDE,既能运行于Windows平台,也能在Linux下运行。不少习惯于图形界面操作的开发人员,在Linux下则习惯于用Eclipse来查看和编辑Linux源码。

如果仅仅是在Eclipse中查看Linux内核源码,则可以不必事先安装交叉编译器,否则则须事先安装好交叉编译器。

创建内核源码工程。点击FileàNewàProject,开始创建工程,在工程创建界面选择创建C工程,如图 1.5所示。

图 1.5创建C工程

点击Next,在C Project界面的Project name栏中填写工程名称,去掉“Use default location”的勾,点击Browse将Location设置为Linux内核源码目录,如图 1.6所示。如果不在Eclipse中编译内核,则使用Linux GCC即可,否则请使用安装好的Cross GCC。

图 1.6导入Linux内核源码

然后点击Finish,完成Linux内核源码导入,在Eclipse中即可进行代码阅读和编辑了,如图 1.7所示。

图 1.7在Eclipse中浏览内核源码

在Eclipse中进行源码跟踪,只需选择函数、变量或者宏定义后按F3即可。更多的操作可在Navigate中找到。

3、vim+ctags+cscope

Vi/Vim是一个文本编辑器,在Vim中能高效的实现代码编辑。但Vim的功能不仅仅是一个文本编辑器,借助ctags和cscope的配合,Vim能实现堪比图形IDE环境的源码编辑和阅读功能,在某种程度上甚至比图形IDE更方便。

Vi/Vim的安装不再介绍了。如果不是通过远程登录在远程服务器上工作,而是在本地桌面系统操作,还可以用gvim启动Vi编辑器。

Taglist

Taglist是Vim的一个源码浏览插件,可从网站获得。下载到压缩包后,在本地解压,然后将解压得到目录中的plugin目录复制到~/.vim目录。如果用户主目录下没有.vim目录,则建立一个这样的目录即可。

Ctags

Ctags是一个用于产生tags文件的软件,可以下载源码进行编译安装,在Ubuntu下,可通过apt-get进行安装:

sudo apt-get install exuberant-ctags

源码阅读和跟踪

进入准备查看的源码所在目录,首先生成tags文件:

ctags-R

执行时间长短取决于源码数量的多少,执行完毕,在当前目录下可看到一个tags文件。源码越多,执行时间越长,产生的tags文件也越大。

注意:如果修改了源码,代码行号发生了变化,需要重新生成tags文件。

(1)查看函数等定义。用Vi/Vim打开一个C文件。若想知道某个函数、变量、结构或者宏定义在什么地方定义,先将光标移动到函数(变量、结构或者宏定义)上,然后按CTRL+]即可。查看后,按CTRL+o可回到原来所在位置。

(2)查看文件函数列表。打开C文件后,在Vi/Vim的命令状态下输入:TlistToggle(Vi/Vim的命令输入支持补全),在Vi/Vim左边就会出现函数列表侧栏,如图 1.8所示。按CTRL+ww(2次w),可在列表和代码查看区间切换。

图 1.8 Vi/Vim的函数列表侧栏

如果在本地桌面,用Gvim打开C文件,使用起来比较接近IDE集成环境。用鼠标双击函数即可跳转到函数定义的地方,CTRL+鼠标右键即可回退到原来所在位置。更多实用特性,还需要在实际操作中体验。

4、LXR

LXR是Linux Cross Referencer的缩写,是一个比较流行的Linux源码查看工具,当然也不仅仅局限于查看Linux源码。LXR的下载地址为:,参考该网站的安装说明,很容易在本机搭建一个本地LXR用于源码查看。

如果不想搭建本地LXR,可以直接浏览已经搭好的LXR网站,推荐两个网站:一个是开源中国网站提供的Linux源码在线阅读,另一个是网站,前者速度较快,但是提供的Linux内核版本较少,后者则提供的版本较多。网站提供了源码阅读、关键字搜索和自由文本搜索功能。两者的网页快照分别如图 1.9和图 1.10所示。

阅读剩余
THE END