你怎么能为GNU make编写一个只匹配目录的模式规则?

时间:2015-03-15 22:24:43

标签: gnu-make

我认为使用像这样的规则

out/%/:
    @ echo "Should be a directory: " $@

只会匹配具有尾部斜杠的目标。但

$ make out/index.html
Should be a directory:  out/index.html

有没有办法在模式规则中编写目标,以便只有目录匹配?

1 个答案:

答案 0 :(得分:1)

这是一种编写只匹配目录的模式的hacky方式。 $(dir names...)函数将返回仅匹配目录的模式。并且多次列出相同的内容是目标与列出一次相同。例如:

 TARGETS=$(dir out/*)
 $TARGETS: 
     @ echo "Should be a directory: " $@