0
我有以下設置:如何驗證Makefile中的需求/依賴關係?
/-
.project-name
Makefile
...
的.project-name
含量爲dummy
cat .project-name
dummy
其中Makefile
的目標是set_project_name
它(顧名思義)改變(使用sed
)的目錄周圍的項目名稱和調整路徑
set_project_name:
@ag [dD]ummy -l0 | xargs -0 sed -i "s/[dD]ummy/${PROJECT_NAME}/g"
## Renombrar la carpeta del proyecto
@[[ -d dummy ]] && mv dummy/pipelines/dummy.py dummy/pipelines/$(PROJECT_NAME).py
@[[ -d dummy ]] && mv dummy $(PROJECT_NAME)
也在Makefile
變量PROJECT_NAME
只是
PROJECT_NAME := `cat .project-name`
我想驗證這個用戶改變.project-name
內容在Makefile
執行什麼之前,我嘗試使用
TEST_PROJECT_NAME_2 := [[ 'dummy' == $(cat .project-name) ]] && $(error "ERROR: The name of the project can not be 'dummy', please use another name")
但是不工作,它執行,但總是拋出錯誤。
我也試過ifeq
位於Makefile
的頂部,但這並不是執行。我做錯了什麼?另外,這是做這件事的最好方法嗎?
謝謝您的幫助,我@Jens修改爲你建議,但錯誤仍然存在 'PROJECT_NAME:= $(shell cat .project-name)'還有 'TEST_PROJECT_NAME_2:= if ['dummy'== $ {PROJECT_NAME}];然後$(error「ERROR:El nombre del proyecto no puede ser'dummy',por favor utiliza otro nombre」); fi;' – nanounanue
對於驗證部分,您應該使用'ifeq','ifdef','ifndef'等[在這裏](https://www.gnu.org/software/make/manual/html_node/Conditional- example.html的) – nanounanue