makefile

发布时间 2023-10-15 01:06:49作者: 周意凯

格式:

依赖关系

(tab)生成目标的方法

变量定义:

定义一个变量(也常称为宏定义),只要在一行的开始定义这个变量(一般使用大写饿,而且放在makefile文件的顶部来定义),后面跟一个-号,=号后面即为设定的变量值。如果要应用该变量,用一个$符号来引用变量,变量名需要放在$后的()里。
变量的命名字可以包含字符、数字,下划线(可以是数字开头),但不应该含有“:”、“#”、“=”或是空字符(空格、回车等)

一些特殊的内部变量:
$@ :指代当前规则下的目标文件列表
$< :指代依赖文件列表中的第一个依赖文件
$^ : 指代依赖文件列表中所有依赖文件
$? : 指代依赖文件列表中新于对应目标文件的文件列表

 

`CFLAGS` 是一个常用的变量,在 Makefile 中用于指定编译器的编译选项。`-Wall` 和 `-Wextra` 是两个常见的编译选项。

- `-Wall` 选项表示开启所有常见的警告信息。编译器会检查代码中可能存在的潜在问题,并生成相应的警告信息。这有助于提高代码质量和发现潜在的错误。

- `-Wextra` 选项同样是开启额外的警告信息。它会启用一些附加的警告选项,常常检查一些可能被忽略的细节或不常见的问题。这有助于更全面地审查代码。

通过在 `CFLAGS` 变量中设置这两个选项,你告诉编译器在编译过程中启用所有常见的警告,并增加额外的警告检查。这样可以提高代码质量并减少潜在的错误。

除了 `-Wall` 和 `-Wextra`,还有许多其他编译选项可供使用,用于控制编译过程中的警告级别、优化等。可以根据需要从这些选项中选择适合的选项,以满足特定的编程需求和标准。