가정 해 보겠습니다 I 메이크 파일에 다음과 같은 규칙이 있습니다대상에 대한 종속성 목록에서 특정 종속성을하는 방법을
%.foo: %.bar %.spam %.bot
<tab> echo "hello1" > $<
가 어떻게 또한으로 "hello2를"에코 할 수 있습니다 두 번째 종속성 (.bot 파일은 제외), 즉 .spam 파일? 감사합니다
는가정 해 보겠습니다 I 메이크 파일에 다음과 같은 규칙이 있습니다대상에 대한 종속성 목록에서 특정 종속성을하는 방법을
%.foo: %.bar %.spam %.bot
<tab> echo "hello1" > $<
가 어떻게 또한으로 "hello2를"에코 할 수 있습니다 두 번째 종속성 (.bot 파일은 제외), 즉 .spam 파일? 감사합니다
는%.foo: %.bar %.spam %.bot
echo "hello1" > $<
echo hello2 > $(word 2,$^)
(적어도 꽤 의미가 전체 운동을하게 내가 아는 껍질에, 그 >
덮어 쓰기를합니다. >>
를 사용하여 추가하려면.)
뭘 요구하는지하면 정반대입니다 make의 정상적인 작동 : 규칙은 에있는 파일을 수정해야합니다. 의 파일은 콜론의이 아니라 콜론의입니다. 당신은 여기에서 많은 문맥을 부여하지 않았기 때문에 당신보다 더 구체적인 조언을하기가 어렵습니다.
지금까지 당신이 요구 한 특정 질문으로,이 같은 것을 사용할 수 있습니다 :이 %
문자를 일치하는 파일 이름의 일부로 정의 된 $*
자동 변수를 사용
%.foo: %.bar %.spam %.bot
echo "hello1" > $<
echo "hello2" > $*.spam
패턴 규칙에서.
예. Makefile을 컴파일 용이 아닌 다른 용도로 사용하고 있습니다. 베타가 제안한 방법을 알았지 만 나는 네 방식을 선호한다. 그것은 청초하다. 감사 – RNAer
또는'$ (word 2, $ ^)'를 사용하십시오. 올린 사람 : http://stackoverflow.com/questions/11424204 –