make clean仅仅是清除之前编译的可执行文件及配置文件。
而make distclean要清除所有生成的文件。
Makefile
在符合GNU Makefiel惯例的Makefile中,包含了一些基本的预先定义的操作:
make
根据Makefile编译源代码,连接,生成目标文件,可执行文件。
make clean
清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件。
make install
将编译成功的可执行文件安装到系统目录中,一般为/usr/local/bin目录。
make uninstall
卸载上次安装的软件 也可以手动清除
make dist
产生发布软件包文件(即distribution package)。这个命令将会将可执行文件及相关文件打包成一个tar.gz压缩的文件用来作为发布软件的软件包。
它会在当前目录下生成一个名字类似“PACKAGE-VERSION.tar.gz”的文件。PACKAGE和VERSION,是我们在configure.in中定义的AM_INIT_AUTOMAKE(PACKAGE, VERSION)。
make distcheck
生成发布软件包并对其进行测试检查,以确定发布包的正确性。这个操作将自动把压缩包文件解开,然后执行configure命令,并且执行make,来确认编译不出现错误,最后提示你软件包已经准备好,可以发布了。
make distclean类似make clean,但同时也将configure生成的文件全部删除掉,包括Makefile。
//
“make clean”用来清理临时文件;卸载软件一般用“make uninstall”,或者手工删除也可以。
//
通常的安装方法是从源码安装包的目录执行以下命令:
tar xzvf soft1.tar.gz
若是bz2结尾的改用
tar jzvf soft1.tar.bz2
然后
cd soft1
#./configure #配置#
make #调用make#
make install #安装源代码#
通常的安装方法是从源码安装包的目录执行以下命令:
先解压
tar -zxvf soft1.tar.gz
若是bz2结尾的改用(其中第一个字母z改为j)
tar -jxvf soft1.tar.bz2
然后
cd soft1
#./configure #检查环境,配置编译条件,一个小数点一个斜划线不能省#
make #调用make开始编译#
sudo make install #安装二进制程序代码,要管理员身份#
卸载软件:
#sudo make uninstall (干掉make install命令时装进去的文件,要管理员身份)
只删除make时产生的临时文件(soft1下):
#make clean
同时删除configure和make产生的临时文件(soft1下)
# make distclean
-------------------------------------------------
make的原理是执行一个叫Makefile文件里的指令,make的基本用处是自动根据makefile里的指令来编译源文件。它还可以用来做比如安装软件,卸载软件等事情,但前提是作者在makefile里写了。比如makefile里有这么些内容:
...
install : < commands >
然后用make install的话,make程序就会按照上面install:后面的指令< commands >执行安装,uninstall也是一样的道理,大部分的作者会写有卸载的部分,这时只要简单地执行make unistall就可以,如果作者懒没有写,那就只有根据make install中的步骤,看它把什么文件拷到哪去了,然后分别手动删除。
还有关键的一点是,编译安装完成后,不要删除源代码,不然就算作者写了unnistall目标,你也没有makefile可以执行了。
/
./configure是用来检测你的目标平台特性的。比如他会检测你是不是有CC或者GCC,并不是需要CC或GCC
,它是个shell脚本. 通过执行它来生成Makefile文件.
./configure --prefix作用
不指定prefix,则可执行文件默认放在/usr/local/bin 库文件放在/usr/local/lib 配置文件放在/usr/local/etc下
其他资源放在/usr/local/share。你要是卸载程序要么在原来的make目录下用一次make uninstall(前提是make)
文件指定过uninstall),要么去上述目录一个个手工删除。
指定prefix.直接删除一个文件夹就可以了。
make是用来编译的,它从Makefile中读取指令,然后编译。
make install 是用来安装的,它从Makefile中读取指令,安装到指定的位置。