鉱山では、Makefile
ファイルの内容に基づいていくつかの変数を割り当て、ファイルの内容の文字列置換を実行して新しい変数を定義しようとします。
.file-a
私のプロジェクトディレクトリには、次の内容を含むファイルがあります。
foo-bar
私のMakefile
外観は次のとおりです。
FILE_A_NAME := .file-a
FILE_A_CONTENTS := `cat $(FILE_A_NAME)`
NEW_VAR := $(subst -,_, $(FILE_A_CONTENTS))
.PHONY: foo
foo:
@echo $(NEW_VAR)
make foo
echoしたいのですが、foo_bar
代わりに次のような結果を得ます。
cat: .file_a: No such file or directory
NEW_VAR
交換が行われているようですFILE_A_NAME
。交換作業を実行するにはどうすればよいですかFILE_A_CONTENTS
?
答え1
shell
以下を実行するには、この関数を使用する必要がありますcat
。
FILE_A_CONTENTS := $(shell cat $(FILE_A_NAME))