X.pdf
ターゲットがで、前提条件が であると仮定して、makefile ターゲットの前提条件で % 記号を再利用する方法を学びたいと思いX/X.tex
ます。
詳しく説明すると、現在、次のようなメイクファイルがあります。
all: foo.pdf
%.pdf: %.tex
pdflatex $*.tex
さらにファイルfoo.tex
があり、入力make
するとfoo.pdf
、実行して作成されますpdflatex foo.tex
。
現在、制御できないさまざまな理由により、ディレクトリ構造が変更されました。
my_dir
|- Makefile
|- foo
|- foo.tex
X.pdf
Makefile を変更して、make を試みるときにファイルを検索するようにしたいと考えていますX/X.tex
。
私は次のことを試しました (私は '%/%.tex' を入れて、 を探すように指示しましたfoo/foo.tex
):
all: foo.pdf
%.pdf: %/%.tex
pdflatex $*/$*.tex
ただし、これにより次の結果が得られます。
No rule to make target `foo.pdf', needed by `all'. Stop.
そう%.pdf: $*/$*.tex
です。
を に変更する%/%.tex
とfoo/%.tex
、期待どおりに動作しますが、そこにハードコーディングしたくありませんfoo
。将来的には、andall: foo.pdf bar.pdf
を探す必要があるからです。foo/foo.tex
bar/bar.tex
私は Makefiles にかなり慣れていません (私のニーズに合わせて他の人を変更することに限定された経験)、絶対に基本的なもの以上のことをしたことがないので、誰かが私に役立つポインターを与えることができれば (私は本当に知りません) Makefile のドキュメントで検索する単語 - 有望に見えたのは%
とだけでし$*
た。これは機能しませんでした)。