私のフォルダにはいくつかのファイルがあります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 $@