shell和makefile之间的通用“include”文件

时间:2016-11-07 11:22:36

标签: linux bash shell makefile

我创建了一个(以makefile为导向)的包含文件,其中包含一些定义为由其他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)非常相似但面向“shell”:

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

显然,通过在我的(shell)脚本中包含这些东西,但是我有一个重复的文件(语义上)相同的信息!

任何想法将这两个文件“合并”成一个(myinclude / makevars和myinclude / shellvars)?任何特殊的语法? 任何帮助都很清楚!

- kasper!

1 个答案:

答案 0 :(得分:2)

试试这个:

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

这会将目标包含文件的文本加载到内存中,从中删除所有冒号和括号,然后执行结果。