私はメイクファイルでGNUplotを使っていくつかのグラフを作成しようとしています。ディレクトリ内のすべての* .pltファイルがGNUplotを介して実行されるようにしたいと思いますが、動作させるにはわかりません。ここで は、これまでの私のメイクです:私は、個々の.pltファイルを指定した場合makefileの問題(gnuplot)
all: %.tex
%.tex: %.plt
<tab> gnuplot < $<
レシピが正常に動作しているが、私はそれらを生産するとして、それは私の新しいプロットをピックアップします。
EDIT
: 私は、私はそれを今働いてしまったと思う:# plots all files in the folder with .plt extensions
SOURCES = $(wildcard *.plt)
TARGETS = $(SOURCES:.plt=.tex)
all: $(TARGETS)
%.tex: %.plt
gnuplot < $<
誰かが(次のように)私の推論が正しいかどうかを確認することができますか? 私はall
のファイルを指定していませんでした(私は%で少し混乱しています)。ワイルドカードを使用して任意の.pltファイルをピックアップして変数SOURCES
を割り当てます(なぜ* .pltの代わりに.pltを使用すると機能しません)。 SOURCE
が割り当てられた後、TARGETS
変数が設定され、今度はall:
にビルドするように指定されたファイルがあります。一致ルールが実行されます。
はい、推論のあなたのチェーンが右です。 –
* .pltの代わりに.pltを使用すると、 'wildcard'関数がシェルのglob式をとるため動作しません。 [here](http://www.gnu.org/software/make/manual/make.html#Wildcards):makeのワイルドカード文字は '*'、 '?'、 '[...]'です。 Bourneシェルと同じです。 –