一、GNUmakefile、makefile和Makefile
默认情况下,当make命令寻找makefile时,它按照以下顺序尝试查找文件名:GNUmakefile
、makefile
和Makefile
。通常情况下,您应该将您的makefile命名为makefile
或Makefile
。(我们推荐使用Makefile,因为它在目录列表的开头附近突出显示,就像其他重要文件(如README)一样)。
第一个被检查的名称GNUmakefile并不适用于大多数makefile。只有当您有一个特定于GNU make的makefile,而其他版本的make无法理解时,才应该使用这个名称。其他的make程序会寻找makefile和Makefile,但不会寻找GNUmakefile。
如果make找不到上述任何名称的文件,它就不会使用任何makefile。然后,您必须使用命令参数指定一个目标,make将尝试使用内置的隐式规则推断如何重新生成该目标。
二、自命名的Makefile
1、自命名Makefile简介
如果您想要使用非标准的makefile名称,可以使用"-f"或"–file"选项指定makefile名称。参数“-f name”或“–file=name”告诉make以读取文件name作为makefile的方式进行操作。如果使用多个"-f"或"–file"选项,可以指定多个makefile。所有的makefile将按照指定的顺序进行合并。如果您使用了"-f"或"–file"选项,那么默认的makefile名称GNUmakefile、makefile和Makefile将不会自动被检查。
2、自命名Makefile示例
使用自命名的makefile,您可以通过以下示例来说明:
假设您的自命名makefile名称为"my_makefile",其中包含以下内容:
target: dependency1 dependency2
command1
command2
dependency1:
# commands to build dependency1
dependency2:
# commands to build dependency2
在这个示例中,目标名为"target",它依赖于"dependency1"和"dependency2"。在目标下方是生成目标所需的命令。
要使用自命名的makefile,请使用-f
或--file
选项跟随您的自命名makefile名称,如下所示:
make -f my_makefile
这将告诉make命令使用名为"my_makefile"的自定义makefile来构建目标。
请确保您在当前工作目录中拥有名为"my_makefile"的文件,并根据需要调整目标名称、依赖关系和命令。
使用自命名的makefile,您可以创建自己的makefile命名约定,并根据需要自定义规则和目标。