Войти

Показать полную графическую версию : Ошибка в Makefile


hnsk
10-11-2014, 01:16
Необходимо собрать порт для freebsd.

Запнулся, казалось бы, на очень простой вещи.
Есть список файлов в pkg-plist нужно его прогнать через цикл и разложить в нужные места, скажем в ${PREFIX}

Есть Makefile c целю pre-install с содержимым:

pre-install:
@FILES!=${CAT} ${PLIST} | ${XARGS}
${ECHO} ${FILES}


Cудя по man make все должно работать.
!= Expand the value and pass it to the shell for execution and
assign the result to the variable. Any newlines in the result
are replaced with spaces.

Но не работает:
#make pre-install
FILES!=/bin/cat: not found
echo

#

Причем:
# whereis cat
cat: /bin/cat /usr/share/man/man1/cat.1.gz

Заменя переменных на абсалютные пути ни к чему не приводит.

Меняем на:
pre-install:
@FILES= ${CAT} ${PLIST} | ${XARGS}
${ECHO} ${FILES}


# make pre-install
login.access nsswitch.conf
echo

#

Тут команды экзекутятся, но не присваивается к FILES. echo - ничего не выводит.

Собвсенно вопрос: где ошибка?:)
PS: не обращайте внимание на название целей и прочее. Сделано исключительно для демонстрации ошибки.

FreeBSD 9.2-STABLE
какой версии make сказать не могу pkg which молчит.
быстрое гугление дало только
strings `which make` | grep -B1 MAKE_VERSION
9201210220
MAKE_VERSION


Спасибо.




© OSzone.net 2001-2012