Make
如何在 Makefile 中使用 cat 創建的變數中進行字元串替換?
在我的
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
echofoo_bar
,但相反,我得到:cat: .file_a: No such file or directory
似乎
NEW_VAR
正在對FILE_A_NAME
. 我怎樣才能讓替換工作FILE_A_CONTENTS
?
您需要使用該
shell
功能來執行cat
:FILE_A_CONTENTS := $(shell cat $(FILE_A_NAME))