makefile 2023-06-15

2023-06-14  本文已影响0人  9_SooHyun

Makefile 基本结构

Makefile的基本结构包括三个部分:目标(Target)、依赖(Dependencies)和命令(Commands)

Target:Dependencies
    Commands

Makefile 变量

变量在声明时需要给予初值,而在使用时,需要给在变量名前加上 $符号,但最好用小括号 () 或是大括号 {} 把变量给包括起来。如果你要使用真实的 $ 字符,那么你需要用 $$ 来表示

变量可以使用在许多地方,如规则中的“目标”、“依赖”、“命令”以及新的变量中。先看一个例子:

objects = program.o foo.o utils.o
program : $(objects)
    cc -o program $(objects)

$(objects) : defs.h

变量会在使用它的地方精确地展开,就像C/C++中的宏一样,例如:

foo = c
prog.o : prog.$(foo)
    $(foo)$(foo) -$(foo) prog.$(foo)

展开后得到:

prog.o : prog.c
    cc -c prog.c

一些约定的变量:
$@:编译目标
$<:依赖列表中的第一个依赖对象
$^:依赖列表中的所有对象
$?:依赖文件列表中所有有更新的文件

上一篇 下一篇

猜你喜欢

热点阅读