本文只是讲解make工具的源码编译功能,不涉及gcc,不涉及源码为什么要编译安装。
首先,make是一个编译程序。 然而,这只是一个程序,并不能应用于所有内核。 因此,在编译不同的源代码时,需要不同的规则来编译,而这个规则是写在Makefile中的。 当使用 make 时linux 源码编译解释,make 会使用该目录下的 Makefile 作为参数配置文件来执行 make 的编译操作。 听起来很简单linux 源码编译解释,那么我们就来看看详细的步骤吧。
1、首先获取源文件(这里以apache的配置为例)
[root@localhost张大帅哥 ~]# ls
anaconda-ks.cfg httpd-2.2.34.tar.bz2 公共 视频 文档 音乐
bin initial-setup-ks.cfg 模板 图片 下载 桌面
我这里有一个源码包,先连接到/usr/local/src/进行压缩
[root@localhost张大帅哥 ~]# mv httpd-2.2.34.tar.bz2 /usr/local/src/
[root@localhost张大帅哥 ~]# cd /usr/local/src/
[root@localhost张大帅哥 src]# ls
httpd-2.2.34.tar.bz2
2. 解压压缩包
[root@localhost张大帅哥 src]# tar -xvf httpd-2.2.34.tar.bz2
[root@localhost张大帅哥 src]# ls
httpd-2.2.34 httpd-2.2.34.tar.bz2
3.进入新建的目录,查看INSTALL和README相关文件。 通常我们收到源码包后会先检查这两个文件。 由于这两个文件相当于手册,勾选后安装相关软件(也可以下一步用configure勾选后提示安装)
[root@localhost张大帅哥 src]# cd httpd-2.2.34/
[root@localhost张大帅哥 httpd-2.2.34]# ls
ABOUT_APACHE CHANGES httpd.dsp libhttpd.dep NOTICE server
acinclude.m4 config.layout httpd.mak libhttpd.dsp NWGNUmakefile srclib
Apache.dsw configure httpd.spec libhttpd.mak os support
build configure.in include LICENSE README test
BuildAll.dsp docs INSTALL Makefile.in README.platforms VERSIONING
BuildBin.dsp emacs-style InstallBin.dsp Makefile.win README-win32.txt
buildconf httpd.dep LAYOUT modules ROADMAP
4.构建Makefile:这里的Makefile不需要我们自己编辑,configure(手动检查程序)会检查运行环境,同时完善Makefile,可以指定安装目录
[root@localhost张大帅哥 httpd-2.2.34]# ./configure --prefix=/app/apache22
5.编译:使用make,它会手动检查该目录下的Makefile,然后按照规则进行编译
[root@localhost张大帅哥 httpd-2.2.34]# make
6.安装:make会根据Makefile中的安装选项进行安装
[root@localhost张大帅哥 httpd-2.2.34]# make install
这样就完成了编译和安装。 (我安装在/app目录下)
我们可以进入/app/apache22来启动apache服务。 首先我们需要在/etc/profile.d下创建一个.sh文件,写入exportPATH=$PATH:/app/apache22/bin,稍后source读取并执行这个文件
输入/app/bin/apache22/bin启动服务
[root@localhost张大帅哥 profile.d]# vim title.sh
[root@localhost张大帅哥 profile.d]# source title.sh
[root@localhost张大帅哥 bin]# apachectl start
打开浏览器输入ip即可查看显示内容(查看前记得清除防火墙),浏览器显示内容可以在/app/apache22/htdocs/index.html中设置