linux 中的 'make' 命令是什么意思?
What do you mean by 'make' command in linux?
首先,我知道 make
用于构建代码。但是哪个代码?
但是构建代码是什么意思,执行make
命令后,呈现给用户的是什么?
其次,它与make build_for_e2e
有何不同?
Wikipedia 讲述了 make
Make is a build automation tool that automatically builds executable programs and libraries from source code
编译过程在大型项目中变得庞大而复杂,其中需要编译大量文件,并带有标志和库。人们将很难一一编译它。所以引入了这些类型的工具,还有更多类似的工具可用于相同的用途,如 cmake、gradle、maven。 e2e的Build也是build过程的一种形式,有不同形式的规范。
对于 C 语言,人们大多使用 make。有助于在不同系统中移植软件包。
如何使用make
:
前面说了make
是一个工具,在我们的系统中会有,我们可以在需要编译的目录下命令make
来执行它。然后 make 查找包目录中提供的 Makefile,它包含有关项目编译的信息。然后 make
根据从 Makefile 收集的信息编译包。
您还可以为您的项目创建Makefile,这样它也可以被make
支持和编译。可以找到它的简单教程 here. For big projects you can use gnu autotools
contains autoconf and automake which will help you to create your all files required by make automatically. You can find tutorial regarding it here and here 。这些包含一些基本信息,您可以找到一些关于 autotools 的高级教程,使用 google 获取更多信息。
首先,我知道 make
用于构建代码。但是哪个代码?
但是构建代码是什么意思,执行make
命令后,呈现给用户的是什么?
其次,它与make build_for_e2e
有何不同?
Wikipedia 讲述了 make
Make is a build automation tool that automatically builds executable programs and libraries from source code
编译过程在大型项目中变得庞大而复杂,其中需要编译大量文件,并带有标志和库。人们将很难一一编译它。所以引入了这些类型的工具,还有更多类似的工具可用于相同的用途,如 cmake、gradle、maven。 e2e的Build也是build过程的一种形式,有不同形式的规范。
对于 C 语言,人们大多使用 make。有助于在不同系统中移植软件包。
如何使用make
:
前面说了make
是一个工具,在我们的系统中会有,我们可以在需要编译的目录下命令make
来执行它。然后 make 查找包目录中提供的 Makefile,它包含有关项目编译的信息。然后 make
根据从 Makefile 收集的信息编译包。
您还可以为您的项目创建Makefile,这样它也可以被make
支持和编译。可以找到它的简单教程 here. For big projects you can use gnu autotools
contains autoconf and automake which will help you to create your all files required by make automatically. You can find tutorial regarding it here and here 。这些包含一些基本信息,您可以找到一些关于 autotools 的高级教程,使用 google 获取更多信息。