在*nix系统中,当我编译软件时,我应该做什么:
# make install
vs
# make install clean
?
# make install
vs
# make install clean
?
当您使用参数调用make
时,您正在为其提供一组目标。
在FreeBSD手册的升级端口部分中有关此问题的讨论,其中提到:
Unlike the usual make install clean command, it will upgrade all
the dependencies prior to building and installing the selected
port.
[...]
Note: You can save two extra steps by just running make install
clean instead of make, make install and make clean as three
separate steps.
sudo make install
(如果确实需要)。更好的方法是将非特权用户添加到具有写访问权限的安装目录组中,甚至更好的方法是将其安装到非系统区域(例如,使用./configure
时,您可以使用--prefix=
),因为大多数系统无论是Linux还是BSD,通常都有用于安装软件的软件包和打包系统。
make
命令本身中隐含着对make all
的调用,预计但并非必需,make install
具有相应的依赖关系,使它变得等效。 - aculichmake
意味着执行默认命令(可以在Makefile中配置)。如果指定了命令,则不会执行该命令(除非它是指定命令之一的依赖项)。 - Karoly Horvathall:
作为第一个目标,以便它成为默认值。再次强调,按照惯例,make install
通常(但不一定)具有调用“make all”等效所需的依赖项。 - aculich