如何为 GNU make 编写只匹配目录的模式规则?
How can you write a pattern rule for GNU make that will only match directories?
我认为使用这样的规则
out/%/:
@ echo "Should be a directory: " $@
只会匹配尾部有斜杠的目标。但是
$ make out/index.html
Should be a directory: out/index.html
有没有办法在模式规则中写入目标,以便只有目录才能匹配它?
这是一种编写仅匹配目录的模式的 hacky 方法。 $(dir names...)
函数将 return 一个只匹配目录的模式。多次列出同一事物是在目标中与列出一次相同。例如:
TARGETS=$(dir out/*)
$TARGETS:
@ echo "Should be a directory: " $@
我认为使用这样的规则
out/%/:
@ echo "Should be a directory: " $@
只会匹配尾部有斜杠的目标。但是
$ make out/index.html
Should be a directory: out/index.html
有没有办法在模式规则中写入目标,以便只有目录才能匹配它?
这是一种编写仅匹配目录的模式的 hacky 方法。 $(dir names...)
函数将 return 一个只匹配目录的模式。多次列出同一事物是在目标中与列出一次相同。例如:
TARGETS=$(dir out/*)
$TARGETS:
@ echo "Should be a directory: " $@