簡易的にコンパイル型言語でプログラムを作ることがちょくちょくある。まあライブラリの性能評価とか、小さなカーネルモジュールとか、要するにCやC++で書いてソースが1ファイルで済むようなもの。
でもコンパイルオプションが面倒だったりするわけだ。Makefileとか別ファイルにコンパイル方法を書くのは面倒(要するにプログラムの規模にそぐわない手間がかかる)。しかもこのコンパイルオプションというやつ、とてもじゃないけど覚え切れないので、日をまたいだりシェルのヒストリから消えたりすると最悪です。
これまではMakefileが面倒なときはbuild.shみたいなスクリプトにコンパイルするためのスクリプトを書いていたのだけど、最近やっと画期的に便利な方法を発見した。
それはソースにコンパイル方法を書いておいて、ソースごと小さなスクリプトに食わせる、というもの。
例えばEmacsでこういうものがありますね、以下のような記述をファイルの末尾に書いておくという方法。末尾1KBしか読まないとか、^Lがあれば^Lの後ろだけ有効とか、ルールがいろいろあるようですが。



