유닉스 make
에서 먼저 디렉토리에 가지 않고 디렉토리에서 실행할 수 cd
있습니까?
답변
make -C /path/to/dir
답변
다른 답변에서 언급했듯이 make (1)에는이 -C
옵션이 있습니다. 여러 명령에는 비슷한 옵션이 있습니다 (예 : tar). 이러한 옵션이없는 다른 명령의 경우 다음을 사용할 수 있습니다.
(cd /dir/path && command-to-run)
이것은 하위 쉘에서 명령을 실행합니다. 하위 쉘은 먼저 작업 디렉토리가 변경되고 (부모 쉘의 작업 디렉토리는 그대로 둡니다). 디렉토리를 변경할 수없는 오류 사례를 포착 &&
하는 대신에 여기 가 사용됩니다 ;
.
답변
디렉토리에 CD를 저장하지 않으려는 이유가 이후 작업을 위해 현재 디렉토리에 있어야하기 때문에 pushd 및 popd를 사용할 수 있습니다.
pushd ProjectDir ; make ; popd
ProjectDir로 이동하여 make를 실행 한 다음 현재 위치로 돌아갑니다.
답변
또한 다음을 사용할 수 있습니다.
make --directory /path/to/dir
답변
makefile :
all:
gcc -Wall -Wpedantic -std=gnu99 -g src/test.c -o build/test
run:
./build/test
또는
run:
./../build/test
기타
답변
