일괄 처리를 위해 makefile을 작성하는 방법은 무엇입니까?

일괄 처리를 위해 makefile을 작성하는 방법은 무엇입니까?

내 폴더에 파일이 몇 개 있습니다 source. 프로그램을 사용하여 처리 program하고 폴더에 출력하고 싶습니다 target.

$ make

이를 위해 makefile을 어떻게 작성해야 합니까?

디렉토리 트리:

/ 
   Makefile 
   program
   /source
      foo.x
      bar.x
      spam.x
   /target
      foo.y
      bar.y
      spam.y

답변1

이 같은:

SOURCES := $(wildcard source/*)
TARGETS := $(patsubst source/%.x, target/%.y, $(SOURCES))

all: $(TARGETS)

target/%.y: source/%.x
    program -i $< -o $@

관련 정보