У меня есть система, в которой я создаю make-файл и которая отлично работает под Mac OS X. Когда я запускаю его под Linux, у меня возникает странная проблема. Мне удалось сократить мой make-файл до очень простого примера:
compile:
gcc -o prog *.c &> compile__
chm:
chmod u=rwx,g=rwx,o= prog
both0:
gcc -o prog *.c &> compile__ ; \
chmod u=rwx,g=rwx,o= prog
both1:
gcc -o prog *.c ; \
chmod u=rwx,g=rwx,o= prog
Идея состоит в том, чтобы скомпилировать файл и затем изменить его разрешения. Если я выполню последовательность команд:
make compile
make chm
все отлично работает. Однако, если я выполню:
make both0
Я получаю сообщение:
chmod: cannot access `prog': No such file or directory
и разрешения не изменены. С другой стороны, если я выполню:
make both1
разрешения изменены правильно. Единственная разница - это перенаправление "&> compile__" под обоими0, которое я удалил для обоих1.
Есть идеи?