我試圖得到一些相關的安裝目標,在我的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