Bash에서 make 명령 이후의 TAB 확장 파일 이름

Bash에서 make 명령 이후의 TAB 확장 파일 이름

pandoc을 사용하여 조직 파일을 마크다운 파일로 변환하는 makefile을 준비 중입니다. 그 내용은 다음과 같습니다(변환 규칙은 참고용일 뿐입니다).


%.md: %.org 
    pandoc -t markdown -s $< -o $@ 

conversion: 
    pandoc -t markdown -s aa.org -o aa.md

두 규칙 모두 유효합니다. 예를 들어 다음을 실행할 수 있습니다.

make aa.md

또는

make conversion

효과가 있었습니다. 게다가 bash에서는 다음을 확장할 수 있습니다.

make con\Tab 

자동 완성 하려면 Tab 키를 사용하세요 conversion. 그러나 파일 이름에 자동 완성 기능이 있으면 편리할 것입니다. 그래서 저는 다음과 같은 것을 원합니다. 동일한 폴더에 filefortest.org제가 bash로 작성한 파일이 있다고 가정해 보겠습니다.

make ./fil\Tab

바라보다! 저는 filefortest자동으로 해봤습니다. 이 목표를 달성하는 것이 가능합니까?

추신. 제가 요청하는 기능은 간단한 bash 스크립트를 사용하여 쉽게 얻을 수 있다는 것을 알고 있습니다 pandoc -t markdown -s $1.org -o $1.md. 그래서 이 질문은 저의 호기심에서 나온 질문입니다...

답변1

예, 아니오.

bash 자동 완성 기능은 내부를 살펴보고 makefile내부의 대상을 읽고 가능한 선택에 사용합니다. 이 경우 유일한 문제는 명확하게 정의된 대상만 읽는다는 것입니다. 패턴이 있는 항목은 무시됩니다.

따라서 원하는 것을 달성하는 방법에는 두 가지가 있습니다.

  1. %.md: %.org스키마를 사용하는 대신 각 개별 파일을 수동으로 정의하십시오 .
  2. CMake또는 그 사촌 중 일부를 사용하면 makefile세부 정보를 만들 수 있습니다.

관련 정보