我新的一年,我需要一些答案。我在网上搜索了一些答案,但我没有找到任何有用的东西。我在搜索的是shell程序,当你执行它时,在参数中创建一个带有二进制名称的Makefile:
./ automakefile.sh hello。
将构建一个名为hello的二进制名称的Makefile。
我希望你们能帮助我,我依靠你< 3
答案 0 :(得分:0)
不幸的是,没有这样的神奇命令。如果有的话,我们就不需要Makefiles了,因为魔法最有可能被合并到编译器中。
有几个原因导致没有这样的命令。
鉴于随机二进制文件,您通常不会说出它所编写的编程语言。
您也无法告诉使用哪个源文件来编译二进制文件,或者 所在的文件层次结构中的位置(而不仅仅是的位置)当上次编译二进制文件时,可能位于,可能在另一个系统上。
您不知道源代码文件之间的依赖关系。 Makefile主要用于跟踪这些(以及编译器标志等),因此在大项目中更改单个源文件不会触发重新编译所有内容。
您不知道要使用哪种编译器,或者传递给它的标志。这是Makefile包含的另一件事。
有一些构建工具可用于使Makefile的创建更容易,并使它们可以在不同体系结构的系统之间移植(Makefile,不一定是程序,而不是程序员)。一组这样的工具是GNU's autotools,另一组是CMake,我确定还有其他工具,但那些是我使用的工具。
现在你面对另一个但是类似的问题,那就是你仍然需要学习你的{{1>的语法和写法}和Makefile.am
文件(用于GNU工具)或您的configure.ac
文件(用于CMake)。