2016-11-07 49 views
0

我創建了一個(makefile文件)包含文件,其中包含一些變量,這些變量被其他makefile使用。shell和makefile之間常見的「包含」文件

# this is myinclude/makevars file 
MY_FOLDER:=$(ROOT_FOLDER)/my/folder 
ANOTHER_FOLDER:=$(MY_FOLDER)/another/folder 
MY_LIB:=$(ANOTHER_FOLDER)/lib 

「包括文件」的作品好了,如果我將其包括在其他的makefile:

include myinclude/makevars 

但將是冷靜,如果我可能包括在一些shell腳本呢! 目前我已經創建了面向另一個文件(myinclude/shellvars)非常相似,但「殼」:通過包括這在我的(殼)腳本什麼作品

# this is myinclude/shellvars file 
MY_FOLDER=$ROOT_FOLDER/my/folder 
ANOTHER_FOLDER=$MY_FOLDER/another/folder 
MY_LIB=$ANOTHER_FOLDER/lib 

清楚,但我有一個重複的文件(語義)相同的信息!

任何想法將這兩個文件「合併」爲一個(myinclude/makevars和myinclude/shellvars)?任何特殊的語法? 任何幫助顯然是讚賞!

- kasper!

回答

2

試試這個:

eval "$(cat makevars.inc | tr -d '(:)')" 
echo "$MY_LIB" 

這會將目標的文本包含文件到內存中,刪除了這一切冒號和括號,然後執行的結果。

+0

它的工作......謝謝! – Kasper