On Sun, Sep 28, 2008 at 05:51:30PM +0300, Dmitry Nezhevenko wrote: > > make вызывает shell для исполнения записанных в нём команд. > > В общем случае -- нет
Как раз в общем случае --- да, а Вы привели случай частный. > > > Синтаксис Makefile на наличие шелла никак не завязан. > > ---[ cut here ]--- > all: > sleep 60 > \end{cut} > --- > > А теперь запускаем это и смотрим: > 17104 pts/5 Ss 0:00 /bin/zsh > 17150 pts/5 S+ 0:00 \_ make > 17151 pts/5 S+ 0:00 \_ sleep 60 > > Где тут шелл, вызванный мейком? Если не убедило -- запусти strace make > и глянь там =) Да, согласен, в этом случае make разберётся и выполнит команду напрямую, однако если записать так: all: sleep 60; sleep 60 то ему придётся вызвать шелл (и он таки его вызовет). А это значит, что синтаксис мейкфайла непосредственно связан с синтаксисом POSIX-шелла. По факту даже не каждое встроенное правило сможет обойтись без шелла. -- Andrey V. Kiselev ICQ# 26871517 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]