我的目录:
$ ls *
Makefile
dir1:
file1.txt file2.txt
dir2:
file1.txt
Makefile:
A = $(wildcard ./dir1/*)
A += $(wildcard ./dir1/*)
B = $(dirname $(A))
print-% : ; @echo $* = $($*)
打印规则的输出:
$ make print-A
A = ./dir1/file1.txt ./dir1/file2.txt ./dir1/file1.txt ./dir1/file2.txt
$ make print-B
B =
我希望B
变量包含我的子目录相对路径(./dir1/
和./dir2/
)的列表,为什么这不起作用?如果只有A
中的文件存在就可以了。
答案 0 :(得分:1)
如何定义$(dirname ...)
宏? $(dir ...)
可以做你期望的事。