make和make install的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了make和make install的区别相关的知识,希望对你有一定的参考价值。

make和make install的区别:意思不同、用法不同、侧重点不同

一、意思不同

1.make意思:做;制造;使得;赚(钱);成功;达成

2.make install意思:安装;编译安装;安装软件;完成安装

二、用法不同

1.make用法:接由名词、形容词、动词不定式、过去分词或介词短语充当补足语的复合宾语。

例句:

If I had the time, I 'd make something better.

如果有时间的话,我会做些更好吃的东西。

2.make install用法:接名词或代词作宾语,也可接以as短语或介词短语充当补足语的复合宾语。

例句:

You will want to capture a snapshot of your  when you make install changes. 

进行安装更改时,将要捕获安装的快照。

三、侧重点不同

1.make侧重点:用于一般现在时。

2.make install侧重点:用于一般现在时或一般将来时。

参考技术A inux编译安装中configure、make和make install各自的作用

./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。
make是用来编译的,它从Makefile中读取指令,然后编译。
make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
AUTOMAKE和AUTOCONF是非常有用的用来发布C程序的东西。
1、configure
这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:
./configure --prefix=/usr

上面的意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。
同时一些软件的配置文件你可以通过指定 --sys-config= 参数进行设定。有一些软件还可以加上 --with、--enable、--without、--disable 等等参数对编译加以控制,你可以通过允许 ./configure --help 察看详细的说明帮助。
2、make
这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或Python编写的软件需要调用perl或python来进行编译)。
如果 在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。
make 的作用是开始进行源代码编译,以及一些功能的提供,这些功能由他的 Makefile 设置文件提供相关的功能,比如 make install 一般表示进行安装,make uninstall 是卸载,不加参数就是默认的进行源代码编译。
make 是 Linux 开发套件里面自动化编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些需要的程序进行编译的程序。一般情况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成。
3、make install
这条命令来进行安装(当然有些软件需要先运行 make check 或 make test来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)
linux编译安装中configure、make和make install各自的作用
希望对你有一定的帮助~本回答被提问者采纳

“make install”和“make altinstall”在细节上的区别

【中文标题】“make install”和“make altinstall”在细节上的区别【英文标题】:Difference in details between "make install" and "make altinstall" 【发布时间】:2013-04-07 18:16:09 【问题描述】:

这是我的情况:

我正在使用Ubuntu 10.04 (Lucid Lynx)。系统默认的Python是v2.6.5,但是我需要Python v2.7。于是我从 python.org 下载了源码并尝试安装。

第一次安装,我跑了:

cd Python2.7.4
./configure --prefix=/usr
make
su root
make install

这会将 Python 2.7 安装到我的系统中。它将在/usr/bin 中创建一个链接“python”,链接到python2.7 也在/usr/bin 中。所以当我输入>python时,系统将为我启动Python 2.7.4,就像我输入>python2.7时一样。

但是当我这样安装时:

cd Python2.7.4
./configure --prefix=/usr
make
su root
make altinstall

/usr/bin 中的“python”链接仍然存在,并链接到默认系统版本python2.6。当然,我可以删除它并创建一个链接到python2.7 的新软链接。

“make install”和“make altinstall”命令有什么区别,除了/usr/bin中的链接?

【问题讨论】:

【参考方案1】:

Altinstall 将确保您机器上的默认 python 没有被触及。

【讨论】:

【参考方案2】:

我们来看看生成的Makefile!

一、安装目标:

install:         altinstall bininstall maninstall

它可以完成 altinstall 以及 bininstallmaninstall 所做的一切

这里是bininstall;它只是创建python 和其他符号链接。

# Install the interpreter by creating a symlink chain:
#  $(PYTHON) -> python2 -> python$(VERSION))
# Also create equivalent chains for other installed files
bininstall:     altbininstall
        -if test -f $(DESTDIR)$(BINDIR)/$(PYTHON) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON); \
        then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \
        else true; \
        fi
        (cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(EXE) $(PYTHON))
        -rm -f $(DESTDIR)$(BINDIR)/python2$(EXE)
        (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python2$(EXE))
        ... (More links created)

这里是maninstall,它只是创建指向 Python 手册页的“未版本化”链接。

# Install the unversioned manual pages
maninstall:     altmaninstall
        -rm -f $(DESTDIR)$(MANDIR)/man1/python2.1
        (cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python$(VERSION).1 python2.1)
        -rm -f $(DESTDIR)$(MANDIR)/man1/python.1
        (cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python2.1 python.1)

TLDR:altinstall 跳过创建 python 链接和手册页链接,install 将隐藏系统二进制文件和手册页。

【讨论】:

好的,这个答案很好,我明白了。谢谢你。我还有一个问题是您刚刚提到“maininstall”用于创建手册页。 “手册页”是什么意思?命令“man python”的结果? 没错,man 程序在运行时会查找已安装的手册页。要在运行 altinstall 后查看 2.7 手册页,您需要使用 man python2.7 make install 上使用make altinstall 的具体指导可以在Python's UNIX documentation 中找到。 很棒的答案,但 TLDR 应该在顶部。 TLDR si 按照惯例放在最后。

以上是关于make和make install的区别的主要内容,如果未能解决你的问题,请参考以下文章

make和make install的区别

make 和 make install的区别是是啥?

make && make install的区别

configure make make clean make install区别联系

apt-get install 与 make install 的区别 linux

./configure,make,make install的作用