Makefileを使用して複数のファイルに出力する

Makefileを使用して複数のファイルに出力する

ラテックステンプレートを介してマークダウンファイルを.pdfに変換するためのメイクファイルがあります。現在、この方法は一度に1つのファイルでのみ機能します。しかし、makefileを実行したいと思います。どのアクティブディレクトリにmarkdownファイルを保存し、単一のmakeコマンドを使用して同じ名前の.pdfとして出力します。たとえば、次の情報があるとします。

Foo.md ---> Foo.pdf

bar.md ---> bar.pdf

私の現在のメイクファイルはここにあります:

TEX = pandoc
MEXT = md
src = template.tex $(wildcard *.$(MEXT))
FLAGS = --latex-engine=xelatex

letter.pdf : $(src)
$(TEX) $(filter-out $<,$^ ) -o $@ --template=$< $(FLAGS)

.PHONY: clean
clean :
rm output.pdf

あなたのアドバイスに感謝します...

ベストアンサー1

この試み:

TEX = pandoc
MEXT = md
SRC = $(wildcard *.$(MEXT))
PDFS = $(SRC:.md=.pdf)
TMP = template.tex
FLAGS = --latex-engine=xelatex

all:    ${PDFS}

%.pdf:  %.md ${TMP}
        ${TEX} $(filter-out $<,$^ ) -o $@ --template=${TMP} $(FLAGS) $<


.PHONY: clean
clean:
        rm *.pdf

おすすめ記事