dirname奇怪的行为与文件列表& Makefile文件

时间:2018-05-24 12:41:49

标签: makefile csh dirname

我的目录:

$ 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中的文件存在就可以了。

1 个答案:

答案 0 :(得分:1)

如何定义$(dirname ...)宏? $(dir ...)可以做你期望的事。