我试图得到一些相关的安装目标,在我的Makefile文件的工作方式如下:GNU Linux的Makefile的假目标相关工作不正常
.PHONY: install-everything install-part1 install-part2
install-everything: install-part1 install-part2
install-part1:
$(call part1-function)
install-part2:
$(call part2-function)
这是非常相似的,这里的GNU制作手册中描述: https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html
我做
make install-part1
第一,然后手动(即室射频)移除得到创建的$(DESTDIR)目录。现在
,每次我尝试运行上面列出的任何目标,我得到e.g:
make: nothing to be done for 'install-everything'.
我得到同样的答案,如果我试图强行让与“-B”标志。如果我添加调试信息(请--debug)我得到
File 'install-everything' does not exist.
Must remake target 'install-everything'.
我认为使用.PHONY指令会解决这个问题 - 谁能帮助?
这可能是因为你的'$(调用partX功能)'扩大到什么。如果是这样,所有食谱都是空的,你得到的消息是正确的:没有什么可做的。请显示您的'partX-function'宏的例子。 –
它只是创建一些目录,然后复制东西: define install-part1: $(mkdir -p $(1)) $(cp -r files $(1)) endef – user12066