正如所了解的那样,makefile的目标就是为编译程序提供一些指令。
在调试makefile时,目标是找到make正在试图编译什么东西,以及它认为哪些命令可以用来编译。
Makefile(或者Ant脚本、或者该公司所选择使用的其它格式)都是处理过程的核心。
每个组件有它自己的Makefile,并且顶级Makefile遍历它所有的子目录构建它所找到的所有Makefile。
但是,你还需要配置好的内核代码树和一套描述模块如何构建的makefile规则。
其他程序可能会要求我们直接编辑makefile,当然,新的开发还可能需要我们自己编写makefile。
记住makefile是会由人来阅读的,而不是只由make程序来使用的。
使用一个经过适当配置的Makefile,将只会从源文件编译foo.o。
您通过利用ProjectPropertiesGUI为您的工程指定适当的属性来控制makefile的特征。
历史上最难解决的一个兼容性问题是在makefile中对包含的处理。
作为一个可选步骤,编辑Makefile以调整软件安装目录或其他编译细节。
MakeMaker将简单配置文件转换为标准makefile,该makefile可以与大家熟悉的make命令一起使用。
通过避免在linux目录中出现特定于体系结构的子目录,可以大大简化makefile文件。
因为我没有在Makefile.PL中指定PREFIX,所以将从我的perl解释器中收集这个变量。
有关这一点的简单示例,请参阅随附的makefile(在本文后面的参考资料中)。
可交付的工程包括对编辑、调试、makefile生成器、语法分析、搜索和内容辅助的支持。
注意,在默认情况下假设Makefile在与源代码相同的文件夹中。
如果make运行失败,那么在顶层目录中寻找适合自己系统的makefile)。
如果您只为一个特定设备构建openCryptoki,那么源树的顶级Makefile应该被修改。
要想使用这个PAM模块,可以从后面的下载一节下载完整的pam_ns.c文件和对应的makefile。
忽略从指定该指令的位置到生成文件末尾之间,由命令返回的非零退出代码。
PL是为整个项目生成gnuMakefile的Perl脚本。
PL运行时,它首先检查MANIFEST,并检查是否存在项目所需的所有文件。
取消从指定该指令的位置到生成文件末尾之间的已执行命令的显示。
最后当然是Makefile,GNUMake将使用它来构建二进制文件。
请记住:Makefile要求您使用Tab字符而不是空格来产生缩进行。
每个构建都是利用BuildConfiguration来指定的,并且IDE将为每个BuildConfiguration自动生成makefile。
下面先来回顾一下在使用makefile时所遇到的最常见的一些问题。
对于运行make时将被编译的新文件,您必须将它们添加到它们所在的目录中的Makefile.am文件中。
1·The package makefile is the important item, provides the steps actually needed to download and compile the package.
该数据包生成文件是重要的项目,它提供了下载和编制这个数据包做需要的步骤。
2·This theory is supported by the Makefile.
这个理论是由生成文件支持。
3·For more information, see Creating a Makefile Project.
有关更多信息,请参见创建生成文件项目。