在某Makefile内有以下语句,请完成填空。 SRC=fl.c f2.c f3.c TGT=S(SRC:.c=.o) SRC+=f4.c TGT= SRC=
时间: 2024-02-09 15:07:49 浏览: 20
根据给出的语句,可以分别解释以下三行:
第一行:定义了一个变量 `SRC`,其值为 `fl.c f2.c f3.c`。这个变量用来存储源文件列表。
第二行:定义了一个变量 `TGT`,其值为 `S(SRC:.c=.o)`。这个变量用来存储目标文件列表。在这个语句中,`SRC:.c=.o` 表示将 `SRC` 变量中的每个 `.c` 后缀替换为 `.o` 后生成一个新的字符串列表。然后,`S()` 函数将这个字符串列表传递给 `S` 函数,并返回一个新的字符串列表,作为 `TGT` 变量的值。具体来说,`S()` 函数的作用是将字符串列表中的每个字符串拼接在一起,用空格分隔。
第三行:在第一行的基础上,在 `SRC` 变量中添加了一个新的源文件 `f4.c`。
根据以上解释,可以得出第二个空的答案为:
```
TGT=$(SRC:.c=.o)
```
这个语句的作用是将 `SRC` 变量中的每个 `.c` 后缀替换为 `.o` 后生成一个新的字符串列表,并将这个字符串列表赋值给 `TGT` 变量。这个变量用来存储目标文件列表。