2016-11-07 6 views
0

Я создал файл с поддержкой make-файлов, содержащий некоторые переменные, определенные для использования другими make-файлами.Общий «включить» файл между оболочкой и makefile

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

этот «заголовочный файл» работает просто замечательно, если бы я включил его в других Makefiles:

include myinclude/makevars 

, но было бы здорово, если бы я мог бы включить его в какой-то скрипт тоже !. В настоящее время я создал еще один файл (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

Смежные вопросы