Top > Blog Index > カレントディレクトリの .txt ファイルを .html に変換する Makefile

カレントディレクトリの .txt ファイルを .html に変換する Makefile

あまりによく使うのでメモ。

この手の処理は シェルスクリプトで書いても簡単だが、 Makefile なら タイムスタンプを見た上で、更新すべきファイルだけを 処理してくれるのがうれしい。

Makefile

mycmd := ここに TXT を HTML に変換するプログラムする指定

txtfiles:=$(wildcard *.txt)
htmlfiles=$(txtfiles:.txt=.html)

html : $(htmlfiles)

%.html : %.txt
    $(mycmd) < $< > $@  

clean:
     $(RM) $(htmlfiles)

※mycmd のプログラムは標準入力からテキストを受け付けて、標準出力に結果のHTMLを出力することを想定。実際には状況に応じて適宜書き換えてください。

sh の場合

for textf in *.txt
do
    htmlf=${textf%.*}.html
    echo "convert < $textf > $htmlf "
done