Makefile中的文件名操作函数--dir $(dir <names...>) 名称:取目录函数——dir。 功能:从文件名序列<names>中取出目录部分。目录部分是指最后一个反斜杠(“/”)之前的部分。如果没有反斜杠,那么返回“./”。 返回:返回文件名序列<names>的目录部分。 示例: $(dir src/foo.c hacks)返回值是“src/ ./...
请注意这里关于“#”的使用,注释符“#”的这种特性值得我们注意,如果我们这样定义一个变量: dir := /foo/bar # directory to put the frobs in dir这个变量的值是“/foo/bar”,后面还跟了4个空格,如果我们这样使用这样变量来指定别的目录——“$(dir)/file”那么就完蛋了。 还有一个比较有用的操作符是...
dir := /foo/bar # directory to put the frobs in 变量“dir”的值是“/foo/bar ”(后面有4个空格),这可能并不是你想要实现的。假如一个特定的文件以它作为路径来表示“$(dir)/file”,那么大错特错了。 这里顺便提醒大家,在书写Makefile时。注释内容推荐书写在独立的一行或者多行,这样就可以防止出现这...
for dir in tools examples src; do make -C $dir; done 然后交给shell解释执行,可见dir就是一个shell中的变量。 总之,在makefile的shell命令中,党要引用shell变量的时候,要使用$$VAR格式。 此外注意一点,在makefile中,$$还被用来做SECONDEXPANSION,即二次扩展,一般是作为prerequsites. 如: .SECONDEXPANSION (...
dir函数:用于获取文件所在目录的路径。 概念:目录函数,用于获取指定文件的所在目录路径。 优势:方便获取文件所在目录的路径。 应用场景:在构建过程中需要获取文件所在目录的路径时,可以使用dir函数。 腾讯云相关产品:无 示例: 代码语言:txt 复制 OBJ_DIR := $(dir $(OBJ_FILES)) 代码语言:txt 复制 notdir函数:...
第三行输出: a.o b.o sa.o sb.o 在$(patsubst %.c,%.o,$(dir)...
名称:取目录函数——dir。 功能:从文件名序列中取出目录部分。目录部分是指最 后一个反斜杠(“/”)之前的部分。如果没有反斜杠,那么返回“./”。 返回:返回文件名序列的目录部分。 示例: $(dir src/foo.c hacks)返回值是“src/ ./”。 $(notdir ) 名称:取文件函数——notdir。
3、函数 dir 函数dir 用来获取目录,使用方法如下: $(dir <names…>) 此函数用来从文件名序列<names>中提取出目录部分,返回值是文件名序列<names>的目录 部分,比如: $(dir </src/a.c>) 提取文件“/src/a.c”的目录部分,也就是“/src”。
PROGRAM=$(BIN_DIR)/test PROGRAM=$(BIN_DIR)/test OBJ文件及路径 EXTENSION=c OBJS=$(patsubst $(SRC_DIR)/%.$(EXTENSION), $(OBJ_DIR)/%.o,$(wildcard $(SRC_DIR)/*.$(EXTENSION)))DEPS=$(patsubst $(OBJ_DIR)/%.o, $(DEPS_DIR)/%.d, $(OBJS))include头文件路径 INCLUDE=...
如果目标是“dir/a.foo.b”,并且目标的模式是“a.%.b”,那么,“$*”的值就是“dir/a.foo”。这个变量对于构造有关联的文件名是比较有较。如果目标中没有模式的定义,那么“$*”也就不能被推导出,但是,如果目标文件的后缀是make所识别的,那么“$*”就是除了后缀的那一部分。例如:如果目标是“foo.c”,...