Linux에서 "makefolder/path/clean"은 폴더/경로에서 "make clean" 명령을 실행하는 것과 동일합니까?

Linux에서 "makefolder/path/clean"은 폴더/경로에서 "make clean" 명령을 실행하는 것과 동일합니까?

저는 아직 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를 실행한다면 makeGNU가 있습니다.make

답변2

전혀 그렇지 않다. 에서 실행하는 디렉터리에 규칙이 없으면 folder/path/clean구문이 작동하지 않습니다 make folder/path/clean.

예를 들어 원하는 효과를 얻기 위해 make 파일에 재귀적 정리 규칙을 만들 수 있습니다. 예를 들어:

recursive-clean:
  (cd folder/path; make clean)
  ...

가지고 있는 모든 디렉토리에 대해 또는 모든 디렉토리 등에 대해 for 루프를 수행합니다.

관련 정보