私は次のセットアップがありますMakefileで要件/依存関係を検証する方法は?
/-
.project-name
Makefile
...
.project-name
の内容はMakefile
のターゲットのdummy
cat .project-name
dummy
一つであるが、これは(sed
を使用して)(その名の通り)の変化set_project_name
ですディレクトリの周りのすべてのプロジェクトの名前といくつかのパスを調整する
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)
変数
PROJECT_NAME
でも
は、私は私が使用してみましたMakefile
で何かを実行する前に、このユーザーは.project-name
の内容を変更することを検証するだけで
PROJECT_NAME := `cat .project-name`
ある
TEST_PROJECT_NAME_2 := [[ 'dummy' == $(cat .project-name) ]] && $(error "ERROR: The name of the project can not be 'dummy', please use another name")
しかし、動作していません。実行されますが、常にエラーがスローされます。
Makefile
の上部にifeq
と一緒に試しましたが、どちらも実行されていません。私が間違っていることは何ですか?また、これを行うための最良のアプローチですか?
として
make
構文を使用する必要があると思う何をあなたが示唆したように、私は修正あなたの助けの@Jensいただきありがとうございますが、エラーはまだを持続します'$ PROJECT_NAME}'; $ PROJECT_NAME:= $(shell cat .project-name) 'また、 ' TEST_PROJECT_NAME_2:= if $ {PROJECT_NAME}]; $(エラー "ERROR:El nombre del proyectoはダミー 'と呼ばれています。 fi; ' – nanounanue検証部分については、[here](https://www.gnu.org/software/make/manual/html_node/Conditional-http://www.news.com)に記載されているように、' ifeq'、 'ifdef'、' ifndef'などを使用してください。 Example.html) – nanounanue