我需要你的帮助!
为了获得与照片列表相关联的缩略图列表,我使用了以下Makefile(项目目录中有2个子目录拇指和图片)
all: $(patsubst pictures/%.jpg, thumbs/%.jpg, $(wilcard pictures/*.jpg))
thumbs/%.jpg: pictures/%.jpg
convert -thumbnail 100 $< $*
问题是我总是得到相同的错误消息“没有什么可以为'所有'做”,好像没有依赖关系。 :( 对此有任何解释吗?
答案 0 :(得分:3)
这是一个简单的拼写错误:只需将缺少的 d 添加到$(wildcard ...)
当您调用不存在的函数时,Make不会抛出错误,因此该函数调用的结果只是一个空字符串。这使得您的all
目标没有依赖关系,而且您就是这样!
为了将来参考,我通过在makefile的开头添加以下行找到了这个错误:
$(info $(patsubst pictures/%.jpg, thumbs/%.jpg, $(wilcard pictures/*.jpg)))
$(info ...)
函数将打印到控制台,控制台可以非常用于调试。在这种情况下,它打印出一个空白行。为了进一步调试,我尝试了这个:
$(info $(wilcard pictures/*.jpg))
哪个还转储了一个空字符串。那时,只需要小心眯眼:)