请用展示这些gnu make内置函数的简单用例,wildcard、realpath、abspath、error、warning、shell、origin、flavor。并附上知识点的解释。回答需要像这样《wordlist:将字符串列表分成两部分,第一部分从开始到指定位置,第二部分从指定位置到结尾。例如:$(wordlist 2,4,a b c d e) 将得到 b c d》
时间: 2023-03-01 20:51:42 浏览: 109
1. wildcard:该内置函数用于获取当前目录下的文件列表。
示例:
```
SOURCES := $(wildcard *.c)
```
2. realpath:该内置函数用于获取文件或目录的绝对路径。
示例:
```
MY_PATH := $(realpath ./file.txt)
```
3. abspath:该内置函数用于获取文件或目录的绝对路径。
示例:
```
MY_PATH := $(abspath ./file.txt)
```
4. error:该内置函数用于打印错误消息并终止 make 进程。
示例:
```
ifneq ($(VAR),)
$(error VAR is not set)
endif
```
5. warning:该内置函数用于打印警告消息,但不终止 make 进程。
示例:
```
ifneq ($(VAR),)
$(warning VAR is not set)
endif
```
6. shell:该内置函数用于执行 shell 命令并返回输出。
示例:
```
CUR_DIR := $(shell pwd)
```
7. origin:该内置函数用于获取变量的定义方式,是通过 makefile 中的定义、环境变量定义、还是默认定义。
示例:
```
ifneq ($(origin VAR),undefined)
$(info VAR is defined)
else
$(info VAR is undefined)
endif
```
8. flavor:该内置函数用于获取变量的类型,是字符串变量还是函数变量。
示例:
```
ifneq ($(flavor VAR),undefined)
$(info VAR is a function)
else
$(info VAR is not a function)
endif
```
阅读全文