저는 아직 Linux, 특히 Makefile에 익숙하지 않습니다.
Linux에서 "makefolder/path/clean"은 폴더/path/에서 "make clean" 명령을 실행하는 것과 동일합니까?
(폴더/경로/는 임의의 디렉터리를 나타냅니다.)
이 질문과는 별도로 Linux에서 이 구문(명령 및 매개변수)을 일반화하는 것이 가능합니까?
댓글 및 제안 답변을 기반으로 업데이트: 감사합니다. 새로운 것을 배웠습니다. 나는 또한 내가 사용한 Makefile(openwrt)이 더 많은 기능을 가지고 있기 때문에 일반적인 GNU Makefile과 다르다는 것을 발견했습니다.
요약하면 주요 질문의 두 명령이 다릅니다.
답변1
make clean
실행 하려면folder/path
make -C folder/path clean
하지만 이 스위치는 POSIX가 아닙니다 -C
(설명 참조). 최소한 GNU에서는 작동하며, Linux를 실행한다면 make
GNU가 있습니다.make
답변2
전혀 그렇지 않다. 에서 실행하는 디렉터리에 규칙이 없으면 folder/path/clean
구문이 작동하지 않습니다 make folder/path/clean
.
예를 들어 원하는 효과를 얻기 위해 make 파일에 재귀적 정리 규칙을 만들 수 있습니다. 예를 들어:
recursive-clean:
(cd folder/path; make clean)
...
가지고 있는 모든 디렉토리에 대해 또는 모든 디렉토리 등에 대해 for 루프를 수행합니다.