Make и Makefile

Автор: leXa Дата: 13.08.2003 14:33 Обьясните, кто знает, что делается в первой строчке
цели $(RECURSIVE_TARGETS) этого GNU-`шного Makefile`а?
Что такое fnord? А amf??
---
$(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \
echo "1='$1' MAKEGFLAGS='$$MAKEFLAGS' 1='$$1' 2='$$2' amf='$amf'"; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "target=$$target in '$$subdir' amf='$amf' AM_MAKEFLAGS='$(AM_MAKEFLAGS)'"; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
test -z "$$fail"
---
Вот результат запуска:
---
$ make
make all-recursive
make[1]: Вход в каталог `/home/user/Progs/Proga'
1='' MAKEGFLAGS='w' 1='fnord' 2='w' amf=''
target=all in 'mysubdir' amf='mf' AM_MAKEFLAGS=''
make[2]: Вход в каталог `/home/user/Progs/Proga/mysubdir'
make[2]: Цель `all' не требует выполнения команд.
make[2]: Выход из каталог `/home/user/Progs/Proga/mysubdir'
make[1]: Выход из каталог `/home/user/Progs/Proga'

$ make all-recursive
1='' MAKEGFLAGS='' 1='fnord' 2='' amf=''
target=all in 'mysubdir' amf='mf' AM_MAKEFLAGS=''
make[1]: Вход в каталог `/home/user/Progs/Proga/mysubdir'
make[1]: Цель `all' не требует выполнения команд.
make[1]: Выход из каталог `/home/user/Progs/Proga/mysubdir'
---
Re: make и Makefile 13.08.2003 15:34leXa Наверное, это присваивание
fnord = $$1
$$MAKEFLAGS = $$2
amf = $$2
Re: make и Makefile 16.08.2003 23:30leXa Смешно, я немного напутал, а ведь никто не поправил! Улыбка))
$$1 = fnord
$$2 = $$MAKEFLAGS
amf = $$2
RSS-материал