패턴과 일치하는 모든 파일에 규칙을 적용하도록 make에 지시하는 방법이 있습니까?

휴고 그

나는 다음과 같은 디렉토리 구조를 가진 프로젝트를 진행하고 있습니다.

inputs/
   a.txt
   b.txt
   c.txt

outputs/
   a.out
   b.out
   c.out

makefile

outputs폴더 의 파일은 폴더 의 파일에서 생성되며 inputs입력 파일 중 하나가 변경 될 때마다 자동으로 업데이트하고 싶습니다.

패턴 규칙이있는 메이크 파일을 생성하여이를 시도했습니다. (이 질문을 간단하게 유지하기 위해 입력 파일을 변환하는 대신 복사합니다)

outputs/%.txt: inputs/%.out
    cp $< $@

그러나이 메이크 파일은 내가 원하는대로하지 않았습니다. 실행 make outputs/a.txt하면 내가 작성한 규칙을 적용하고 오래된 경우 출력 파일을 다시 생성하지만 실행 make하면 아무 일도 일어나지 않습니다.

make: *** No targets.  Stop.

기본적으로 inputs 폴더의 모든 파일에 대해 출력 파일을 생성하고 싶다고 말하는 방법이 있습니까?

edit : 출력 파일이 입력 파일과 다른 파일 접미사를 갖도록합니다.

여기

일반적으로 다음과 같은 makefile로이 작업을 수행합니다.

IN = $(wildcard inputs/*.txt)
OUT = $(subst inputs/,outputs/,$(IN))

outputs/%.txt: inputs/%.txt
        cp $< $@

default:  $(OUT)

이렇게하면 기본 대상 (파일의 첫 번째 대상)이 만들어지며 , 디렉터리 문자열이 입력에서 출력으로 변경된 OUT기존 파일의 glob 확장에 따라 달라집니다 IN.


접미사를 변경하려면 대상을 조작하는 다른 많은 내장 함수가 있습니다. 예를 들어 중간 작업을 추가 할 수 있습니다.

IN2 = $(addsuffix .out,$(basename $(IN)))

basename기능은 후행를 제거 .txt하고,이 addsuffix뒤에 추가됩니다 .out.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Bash에서 이름이 두 패턴과 일치하는 모든 파일을 열거 나 나열하는 방법

분류에서Dev

텍스트 처리-모든 행에서 패턴과 일치하는 파일을 출력하는 방법

분류에서Dev

패턴과 일치하는 스파이더 URL을 사용하지 않도록 지시 하시겠습니까?

분류에서Dev

패턴과 일치하는 모든 위치에 대해 항상 하나의 정적 파일을 제공하도록 Nginx를 구성하는 방법은 무엇입니까?

분류에서Dev

특정 패턴과 일치하는 모든 행을 파일 끝에 배치

분류에서Dev

레이아웃 메타 정보를 파일 패턴과 일치하는 모든 파일에 삽입하는 방법은 무엇입니까?

분류에서Dev

열려있는 모든 실행 파일 / MEX 파일을 닫거나 종료하도록 MATLAB에 지시하는 방법이 있습니까?

분류에서Dev

이름에서 특정 패턴과 일치하는 파일을 삭제하는 방법은 무엇입니까?

분류에서Dev

템플릿에 ...를 넣을 위치를 파악하는 규칙적인 패턴이 있습니까?

분류에서Dev

sed \ awk를 사용하여 파일 내에서 특정 줄을 찾은 다음 다른 패턴과 일치하는 모든 후속 줄을 일치시키는 방법은 무엇입니까?

분류에서Dev

파일에서 패턴과 일치하는 첫 번째 줄을 추출하는 방법과 패턴이 없으면 고정 출력을 인쇄합니까?

분류에서Dev

Perl6 : 파일 이름이 패턴과 일치하는 설치된 모든 모듈을 찾는 방법은 무엇입니까?

분류에서Dev

패턴과 일치하는 모든 파일을 폴더로 이동하려면 어떻게해야합니까?

분류에서Dev

VirtualBox가 모든 VM 파일에 / dev / shm을 사용하도록 효과적으로 강제 할 수있는 방법은 무엇입니까?

분류에서Dev

Angular 프로젝트에서 모든 활성 ESLint / Prettier 규칙을 나열하는 방법이 있습니까?

분류에서Dev

파일에 모든 NULL 값이있는 열을 표시하지 않는 방법

분류에서Dev

디렉토리 트리의 파일과 일치하지 않는 .gitignore 규칙을 표시하는 간단한 방법이 있습니까?

분류에서Dev

IE10 +에 비해 IE9에서 지원하지 않는 모든 CSS 규칙을 파악할 수있는 현명한 방법이 있습니까?

분류에서Dev

Python의 Pip에서 버전 패턴과 일치하는 패키지의 가능한 모든 버전을 어떻게 검색 할 수 있습니까?

분류에서Dev

특정 패턴과 일치하도록 LSTM 모델에서 시퀀스 예측을 제한하는 방법은 무엇입니까?

분류에서Dev

다른 파일의 패턴과 일치하는 모든 문자열로 파일을 생성하는 방법

분류에서Dev

마지막 패턴 일치까지 내 패턴과 일치하는 모든 줄을 인쇄합니다.

분류에서Dev

Perl에서 배열을 사용하여 패턴을 일치시키는 방법이 있습니까?

분류에서Dev

패턴과 일치하지 않는 모든 것을 어떻게 삭제할 수 있습니까?

분류에서Dev

Makefile : 패턴과 일치하는 모든 대상에 대한 종속성을 선언하는 방법은 무엇입니까?

분류에서Dev

dir 및 subdir에서 패턴과 일치하는 모든 파일을 단일 dir로 복사

분류에서Dev

Outlook에서 자신이 속한 모든 배포 목록으로 전송 된 모든 이메일을 이동하는 규칙을 만들 수 있습니까?

분류에서Dev

특정 패턴과 일치하는 모든 URL을 찾는 방법

분류에서Dev

Java에서 정규식과 일치하는 패턴을 추출하는 방법

Related 관련 기사

  1. 1

    Bash에서 이름이 두 패턴과 일치하는 모든 파일을 열거 나 나열하는 방법

  2. 2

    텍스트 처리-모든 행에서 패턴과 일치하는 파일을 출력하는 방법

  3. 3

    패턴과 일치하는 스파이더 URL을 사용하지 않도록 지시 하시겠습니까?

  4. 4

    패턴과 일치하는 모든 위치에 대해 항상 하나의 정적 파일을 제공하도록 Nginx를 구성하는 방법은 무엇입니까?

  5. 5

    특정 패턴과 일치하는 모든 행을 파일 끝에 배치

  6. 6

    레이아웃 메타 정보를 파일 패턴과 일치하는 모든 파일에 삽입하는 방법은 무엇입니까?

  7. 7

    열려있는 모든 실행 파일 / MEX 파일을 닫거나 종료하도록 MATLAB에 지시하는 방법이 있습니까?

  8. 8

    이름에서 특정 패턴과 일치하는 파일을 삭제하는 방법은 무엇입니까?

  9. 9

    템플릿에 ...를 넣을 위치를 파악하는 규칙적인 패턴이 있습니까?

  10. 10

    sed \ awk를 사용하여 파일 내에서 특정 줄을 찾은 다음 다른 패턴과 일치하는 모든 후속 줄을 일치시키는 방법은 무엇입니까?

  11. 11

    파일에서 패턴과 일치하는 첫 번째 줄을 추출하는 방법과 패턴이 없으면 고정 출력을 인쇄합니까?

  12. 12

    Perl6 : 파일 이름이 패턴과 일치하는 설치된 모든 모듈을 찾는 방법은 무엇입니까?

  13. 13

    패턴과 일치하는 모든 파일을 폴더로 이동하려면 어떻게해야합니까?

  14. 14

    VirtualBox가 모든 VM 파일에 / dev / shm을 사용하도록 효과적으로 강제 할 수있는 방법은 무엇입니까?

  15. 15

    Angular 프로젝트에서 모든 활성 ESLint / Prettier 규칙을 나열하는 방법이 있습니까?

  16. 16

    파일에 모든 NULL 값이있는 열을 표시하지 않는 방법

  17. 17

    디렉토리 트리의 파일과 일치하지 않는 .gitignore 규칙을 표시하는 간단한 방법이 있습니까?

  18. 18

    IE10 +에 비해 IE9에서 지원하지 않는 모든 CSS 규칙을 파악할 수있는 현명한 방법이 있습니까?

  19. 19

    Python의 Pip에서 버전 패턴과 일치하는 패키지의 가능한 모든 버전을 어떻게 검색 할 수 있습니까?

  20. 20

    특정 패턴과 일치하도록 LSTM 모델에서 시퀀스 예측을 제한하는 방법은 무엇입니까?

  21. 21

    다른 파일의 패턴과 일치하는 모든 문자열로 파일을 생성하는 방법

  22. 22

    마지막 패턴 일치까지 내 패턴과 일치하는 모든 줄을 인쇄합니다.

  23. 23

    Perl에서 배열을 사용하여 패턴을 일치시키는 방법이 있습니까?

  24. 24

    패턴과 일치하지 않는 모든 것을 어떻게 삭제할 수 있습니까?

  25. 25

    Makefile : 패턴과 일치하는 모든 대상에 대한 종속성을 선언하는 방법은 무엇입니까?

  26. 26

    dir 및 subdir에서 패턴과 일치하는 모든 파일을 단일 dir로 복사

  27. 27

    Outlook에서 자신이 속한 모든 배포 목록으로 전송 된 모든 이메일을 이동하는 규칙을 만들 수 있습니까?

  28. 28

    특정 패턴과 일치하는 모든 URL을 찾는 방법

  29. 29

    Java에서 정규식과 일치하는 패턴을 추출하는 방법

뜨겁다태그

보관