バッチ処理用の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 $@

関連情報