2014-09-05 2 views
0

Я готовлю Makefile для TeX документа, и я хочу, чтобы настроить переменную TEXINPUTS среды следующим образом:Turn список слов в строке пути в BSD Сделать

Makefile говорит

TEXINPUTS= figures 
TEXINPUTS+= chapter1 
TEXINPUTS+= chatper2 

galley.pdf: ${SRCS} 
    env TEXINPUTS="${TEXINPUTSPATH}" ${TEX} galley.tex 

Где TEXINPUTSPATH должно быть figures:chapter1:chapter2:.

Как я могу вычислить TEXINPUTSPATH от TEXINPUTS с BSD Make?

ответ

0

Наивный подход TEXINPUTSPATH=${TEXINPUTS:S/ /:} не будет работать, потому что подстановка под командованием S выполняется для каждого слова TEXINPUTS. К счастью, мы можем использовать Q, чтобы процитировать каждое пространство и превратить TEXINPUTS в одно слово:

TEXINPUTSPATH=${TEXINPUTS:Q:S/\ /:/g} 
Смежные вопросы