정적 패턴 규칙을 작성하여 패턴과 일치하는 대상에 대한 종속성 목록을 생성합니다. 종속성은 쉘 명령을 통해 생성됩니다 (파일 내용은 종속성에 대한 정보를 제공합니다). 여기에 명시 적 규칙의 예 :이 작동하는 동안대상 줄기를 Makefile의 쉘 명령으로 전달하는 방법
f1.o: $(shell gendep src/f1/f1.source)
... (some compilation command here) ...
, 나는 같은 파일 구조를 유지하고있어 이후 각각의 새로운 대상에 대해 그것을 다시하고 싶지 않아요. 정적 패턴 규칙에 대한 나의 시도는 다음과 같았습니다.
%.o: $(shell gendep src/%/%.source)
...
스템 (%와 일치하는 패턴)을 쉘 명령에 전달하는 데 문제가 있습니다. 쉘 명령은 문자 그대로 해석하고 src/%/%. source에서 작동하지만 당연히 존재하지 않습니다.
줄기를 셸 명령에 전달하는 방법이 있다고 의심하지만 찾을 수없는 것 같습니다. 여기있는 전문가가 나를 도와 줄 수 있을까요? 죄송합니다 이것이 초보자 질문 (나는 실제로 하나입니다).
시도해 보았지만 작동하지 않았습니다. 예를 들어 $ (shell gendep src/$ */$ *. source)를 시도하면 src /. source.source를 찾고있는 오류 (gendep에 의해 throw 된)가 발생합니다. 내가 뭔가 잘못하고 있는지 확실하지 않아. – dkn37
@ dkn37 : 죄송합니다. 귀하의 질문을 서둘러 읽었으며 귀하가 규칙 본문에서 셸 명령을 언급한다고 생각했습니다. 내가 바꿀거야 ... – Beta