make 是 GNU 工具链的一部分吗?
Is make a part of GNU tool chain?
据我了解,主要目的是将源代码转换为可执行文件的GNU工具链由gcc编译器集合(.c到.o转换),链接器和定位器(ld)组成。
我还知道 make 文件只包含一组供编译器读取的指令,而且 make 本身会调用 gcc 进行编译。
我的问题是,make file 是 GNU 工具链的替代品还是工具链的一部分并随附?
还有,如果用make编译.c文件,是不是还要经过标准的五步(预处理、编译、汇编、链接、定位)?
阅读 GNU make. and download its source code, whose copyright is owned by the FSF. So GNU make is definitely (like GCC or GNU binutils or GNU coreutils) part of the GNU project 的文档。
请注意(至少在 GNU/Linux 上)make
是 运行 GCC 编译命令。
在某些情况下,也使用GNU autoconf。然后 Makefile
-s 可以由(autoconf 生成的)configure
脚本生成。
要了解更多信息,请尝试构建一些 GNU 软件,例如 GNU emacs, from its source code. You might be interested by Linux source distributions such as gentoo or in following linuxfromscratch。
要了解更多,请尝试为某些 GNU 软件贡献一些代码。也可以尝试 运行 make -p
来理解 GNU make.
已知的规则
据我了解,主要目的是将源代码转换为可执行文件的GNU工具链由gcc编译器集合(.c到.o转换),链接器和定位器(ld)组成。 我还知道 make 文件只包含一组供编译器读取的指令,而且 make 本身会调用 gcc 进行编译。 我的问题是,make file 是 GNU 工具链的替代品还是工具链的一部分并随附? 还有,如果用make编译.c文件,是不是还要经过标准的五步(预处理、编译、汇编、链接、定位)?
阅读 GNU make. and download its source code, whose copyright is owned by the FSF. So GNU make is definitely (like GCC or GNU binutils or GNU coreutils) part of the GNU project 的文档。
请注意(至少在 GNU/Linux 上)make
是 运行 GCC 编译命令。
在某些情况下,也使用GNU autoconf。然后 Makefile
-s 可以由(autoconf 生成的)configure
脚本生成。
要了解更多信息,请尝试构建一些 GNU 软件,例如 GNU emacs, from its source code. You might be interested by Linux source distributions such as gentoo or in following linuxfromscratch。
要了解更多,请尝试为某些 GNU 软件贡献一些代码。也可以尝试 运行 make -p
来理解 GNU make.