2011-08-02 4 views
3

에서 다른 실행 파일을 선택.bash는

Sun이 아닌 GNU make를 사용하려면 OS에 어떻게 알릴 수 있습니까? 어떻게 든 경로를 덮어 쓸 필요가 있습니까?

+2

별도로 이름이 지정된 2 개의 프로그램을 사용하는 이유에 대해 혼란 스럽습니다. 커맨드 라인에'make'라고 입력하면'gmake'가 실행되는 이유는 무엇입니까? 당신은'gmake'를 타자하고'make'를 실행한다고 말하고 있습니까? – shellter

답변

5

동일하게 이름이 지정된 두 개의 실행 파일의 경우 PATH 변수의 경로 순서를 다시 지정하십시오. 첫 번째 일치 항목이 사용되기 때문입니다.

그렇지 않으면 ~/.profile 또는 ~/.bashrc 파일에 별명을 정의

alias make="/usr/sfw/bin/gmake" 

또는 기능 :

make() { /usr/sfw/bin/gmake "[email protected]"; } 

주, 별명은 대화 형 모드에서만 작동하는지. 스크립트는 그들을 볼 수 없습니다. 이 경우 함수를 사용하십시오.

2

할 수 있습니다에 변수 PATH에/usr/지방/빈 따라서

cd /usr/bin 
    ln -s /usr/sfw/bin/gmake make 
앞에있는 한 디렉토리로 당신이 그것을 연결할 경우, 예를 들어는/usr/빈에/usr/sfw/bin/gmake를 연결

경로에 이미 make가 없는지 확인하십시오. 그렇지 않으면 항상 make 대신 gmake를 호출하여 gnu-make를 사용하고 make를 sun-version-make에 남겨 둘 수 있습니다.

그렇지 않으면 당신은 단순히 gmake 대신 make을 입력 이전 게시물

+1

'/ usr/bin'에 여분의 것들을 넣는 것은 그리 좋은 생각이 아닙니다. 패키지 관리에 그 영역을 남겨 두십시오. 언젠가는 거기에'make'를 설치 할지도 모릅니다. – reinierpost

1

수동으로 make 명령을 실행하는 경우에서와 같이 별칭을 사용할 수 있습니다. GNU 버전 (PATH이라고 가정)이 올바르게 설정됩니다.

make을 호출하는 IDE 또는 기타 도구가있는 경우 make가 아닌 gmake를 사용하도록 지정해야하며 사용 방법은 사용중인 도구에 따라 다릅니다.

+0

그 행에 대한 또 다른 가능성 : 나중에 "make"를 호출하는 재귀 makefile이있는 경우, "gmake"로 시작한 경우에도 makefile을 수정하여 그 안에 하드 코드 된 "make"를 "$ (MAKE) ". – slowdog

관련 문제