기존 Makefile을 최적화하려고합니다. logfilename을 인수로 취하는 모든 플롯에 대해 scriptfile을 사용하여 주어진 디렉토리의 모든 로그 파일에 대해 여러 개의 플롯 (Octave 사용)을 만드는 데 사용됩니다. 필자는 사용 가능한 모든 종류의 플롯에 대해 하나의 규칙을 사용하고 Octave에 직접 작성한 호출을 통해 특정 scriptfile/logfile을 인수로 사용합니다.make : 여러 파일의 여러 대상에 대해 명령을 호출 하시겠습니까?
모든 음모에 "his"옥타브 스크립트 (물론 로그 파일 포함)가있는 경우 스크립트가 변경되면 하나의 음모가 재생성됩니다.
그만큼 입력하고 싶지 않으므로 "a"줄을 만드는 데 하나의 일반적인 규칙 만 사용하면 어떻게 단순화 할 수 있을지 궁금합니다.
이- 로그 파일 : "$ (LOGNAME) .LOG"
- Scriptfile :
는 명확하게하려면 "플롯 $ (PLOTNAME)하는 .m"가 "생성 $ (LOGNAME) _ $ (PLOTNAME)
%1_%2.png: %1.log $(OCTAVE) --eval "plot$<2('$<1')"
하지만이 허용되지 않는 것 같다 "
처음 내가 생각했던 일을 .png를. 누군가 나에게 힌트를 줄 수 있을까요?
오, 고마워요! 매우 도움이됩니다. 매력처럼 작동합니다 - Makefile을 더 작지만 더 복잡하게 만들기 위해) – marvin2k
이것은 매우 유용했습니다. 한 가지주의해야 할 점은 OCT_template을 정의한 후에'= '가 없으면 ** 중요합니다 **입니다. make 매뉴얼은 =가 필요하다는 것을 나타내는 것처럼 보이지만 그 존재로 인해 호출이 어떤 것으로 확장되지 않습니다. 감사. –
@ Christopher Mason : 온라인에서 가장 쉽게 찾을 수있는 make 매뉴얼은 3.82이며 대부분의 사람들은 make가 3.81입니다. 나는 이것이 불일치 중 하나라고 생각한다. – reinierpost