2016-11-07 48 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