next up previous
Next: すべてをつくる (all) Up: いろいろなターゲット Previous: いろいろなターゲット

clean から始めよう

(警告) この節から始めるのは、簡単で、しかも有用だからですが、 実は危険でもあります。不注意にファイルが消えてしまう事のないように、 テスト用のディレクトリで3回以上チェックしてから応用するようにして下さい。

エディタのbak ファイルなど、ハードディスクのいらないゴミは 知らないうちにどんどんたまっていくものです。 そうかといって rm コマンドを乱発していると、必要なファイルまで 思わず消してしまったりします。 そんなとき、作業しているディレクトリに

all:
clean:
        rm -f *.bak
という内容の Makefile を作っておくと便利です。 (rm の行の先頭は TAB です。)

make clean と打つだけで .bak ファイルを全て消してくれます。

all: の行も重要です。これがないと単に make と打っただけでも make clean したのと同じになってしまいます。

.bak ファイルだけではなくて、いろいろなゴミがでて来る場合には、 次のような Makefile を使えばよいでしょう。

all:
clean:
        rm -f *.bak
	rm -f *~
	rm -f core
	rm -f \#*\#

たかがゴミを消すだけなのに、わざわざ Makefile を作るのを いぶかる方もいるかも知れませんが、少なくとも次のような利点があるのです。

1.
コマンドの打ち間違いの心配が減る。 (rm -f * ~ 等と打ってしまったら悲惨ですから。)
2.
どれがゴミか消す都度悩む必要がない。

もちろん、最初にMakefile を作る際にはどれを消すべきか慎重に判断して、 Makefile の打ち間違いもないように気を配らなければなりません。 (慣れないうちは、消すファイルは極力控えめにして、 絶対いらないファイルに限定するようにした方がいいでしょう。)

1年に及ぶ原稿書きの場合など、これがあると無しとでは大違いなのが、 理解頂けるでしょうか。

(※) なお、一般に流布しているプログラムのソースでは、 make clean すると make で作ったものを 洗いざらい消してしまう(プログラムのソースなどの「材料」は消さない) 動作をするようになっています。 ここではそれをちょっと違う用途に「流用」しているわけです。




2001-02-10