簡単なMakefile作成方法
(2001.11.27)
ささやかなプログラミングで、ソースが10個くらいしかなくても
リコンパイル対象がどれかなどどいちいちチェックするのは面倒です。
毎回リビルドでは時間がかかりますし、
ややこしいのは、親クラスのヘッダファイルを修正した場合、
継承したクラスのヘッダファイルに必要で、
巡り巡って、継承したクラスを使うソースのリコンパイルが
必要になります。
それを察してか、SAS/Cにmkmkというmakefile生成ツールがあります。
実行すると、カレントディレクトリの全ソースをチェックして、
依存関係を走査し、smakefileを作成します。
(SAS/Cはmake→smake、makefile→smakefileです)
オブジェクトの削除、リビルドなども行なえるように
スクリプトから利用するよう考えてみました。
以下は、スクリプトgomakeの中身です。
利用されるときは、
protect gomake +S
とやって、プロテクトのビットSを設定してください。
.KEY BUILDTYPE
SET PROGNAME=eucproxy
if "" eq "<BUILDTYPE>"
if exists smakefile
delete smakefile
endif
mkmk target=$PROGNAME makefile=smakefile
smake
endif
if "clear" eq "<BUILDTYPE>"
delete #?.o
delete #?.lnk
delete $PROGNAME
endif
if "rebuild" eq "<BUILDTYPE>"
gomake clear
gomake
endif