Странное поведение dirname со списком файлов и Makefile
Мой каталог:
$ 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 ответ
Решение
Как $(dirname ...)
макрос определен? $(dir ...)
может делать то, что вы ожидаете.