나는 메이크 파일을 생성하고 Mac OS X에서 완벽하게 작동하는 시스템을 가지고 있습니다. 리눅스에서 실행하면 이상한 문제가 발생합니다. 나는 매우 간단한 예제로 내 메이크 파일을 줄일 수 있었다 :gnumake로 인한 이상한 리디렉션 문제
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
사용 권한이 올바르게 변경됩니다. 유일한 차이점은 both1에 대해 제거한 양쪽 모두에서 리디렉션 "&> compile__"입니다.
아이디어가 있으십니까?
우분투 리눅스에서 gnumake 버전 3.81을 실행한다는 사실을 잊어 버렸습니다. – Tsf
저에게 맞는 작품 : CentOS 5.4 (Final); GNU Make 3.81; gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46); hello.c; –
다른 Linux에서 Fedora 9 (Sulfur)와 같은 GNU Make 3.81을 테스트했습니다. 문제 없어! 내 설치 아래서 만 나타나는 것 같습니다 : Ubuntu 10.04.2 LTS, 커널 2.6.32-30. – Tsf