Я определяю переменную как это в моем make-файле
target:
@for entry in ${FOLDERSS} ; \
do \
COUNT=$$(( $${COUNT}+1 )) ; \
if [ $$COUNT -eq 1 ] ; then \
FOLDERS="[ -s " ; \
aux=`echo $$entry` ; \
FOLDERS+=$$aux ; \
else \
FOLDERS+=" [ -s " ; \
aux=`echo $$entry` ; \
FOLDERS+=$$aux ; \
FOLDERS+=" ]" ; \
fi ; \
done ; \
FOLDERS+=" ]";\
"FOLDERSS" определяется вручную в моем Make-файле, содержащем все папки, которые мне нужно учитывать для компиляции.Теперь я хочу выполнить следующее:
deps: target
${AUTOGEN} -d $${FOLDERS}) -f ${AUTOCONF};\
, где AUTOGEN - это скрипт bash, а AUTOCONF - файл конфигурации.ПАПКИ должны записать именно то, что в них содержится, т.е. что-то вроде этого: [-s / home / at / src / folder1 [-s / home / at / src / folder2]] Так что в целом выполнение bashscript в моем make-файле должноиметь следующую команду:
./path/to/autogen -d [ -s /home/at/src/folder1 [ -s /home/at/src/folder2 ] ] -f /path/to/autoconfile
Если я набираю это вручную в make-файле, это работает, однако при использовании символа двойного доллара кажется, что он не может вычислить переменную FOLDERS.
У кого-нибудь есть предложения