[英]Unable to execute all prerequisites for a target in makefile
我一直在嘗試對makefile中的特定目標執行所有先決條件。 但是只要前提條件是具有單個/多個信息值的目標,我就會發現其他前提條件沒有執行(在基於“信息”的目標之后)
我嘗試將前提條件中的值中的信息數量減少到僅1.。在這種情況下,我也找不到其他要執行的前提條件。 因此,我的問題是了解如何執行基於單行/多行信息的先決條件並繼續執行其他先決條件。
# Define new line and separator
.PHONY:newline
newline:
@echo
.PHONY:separator
separator:
$(info -------------------------------)
# Print the project details
.PHONY:project
project:
$(info Project Details)
$(info Author : xyz)
# Help menu
.PHONY:help
help: newline separator project separator newline
Expected outcome
$ make help
-------------------------------
Project Details
Author : xyz
-------------------------------
Outcome received
$ make help
-------------------------------
Project Details
Author : xyz
在制作過程中,每個目標最多只能執行一次配方。 因此,請不要這樣做,這是非常非常錯誤的。
另外, $(info ...)
是文本替換,在同一配方中的任何外部命令之前執行,因此將其與echo
混合通常是一個壞主意。
如果您想避免重復長虛線,則始終可以使用變量進行此操作:
sep := --------------------
define nl :=
endef
...
help:
$(info $(nl)$(sep))
$(info Project details)
...
$(info $(sep)$(nl))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.