Makefile 函数 abspath 学习
abspath 是 makefile中的一个函数,它用来将相对路径转换成绝对路径。这在编程中是非常有用的,比如当你需要引用其他目录下的文件时,使用绝对路径可以更准确地找到文件的位置。
abspath
函数的语法是:
$(abspath NAMES...)
NAMES是
一个或多个文件的相对路径或者绝对路径。
举个例子:
RELATIVE_PATH = ./src/program.c
ABSOLUTE_PATH = $(abspath $(RELATIVE_PATH))
all:
@echo "Relative path: $(RELATIVE_PATH)"
@echo "Absolute path: $(ABSOLUTE_PATH)"
在这个例子中,我们将"./src/program.c
"这个相对路径转换为绝对路径。当我们运行makefile时,它会打印出相对路径和绝对路径:
(*^~^*) ~/workbase/test> make all
Relative path: ./src/program.c
Absolute path: /home/sam/workbase/test/src/program.c
注意:如果给定的路径不存在或者无法访问,abspath
函数将返回空字符串。