COBOL用Makefile解説
0.改定履歴
- 1996.07.07 初 版
- 1996.07.10 第2版 修正箇所の明示.
1.はじめに
このドキュメントは,富士通提供サンプルプログラムをコンパイル&リンクするためのMakefileである.
このMakefileは,APサーバ上で稼働するCOBOLで作成されたソースコードをコンパイル&リンク,およびTuxedoのサービスへの登録を行なうモノである.
このサンプルで使用されるソース,作成されるターゲットは次の通りになる.
- aplserver.cob COBOLソースファイル
- APLSERVER 作成されるターゲットモジュール,およびサービスの名称
- ANSWER.cob VIEWで作成されたCOPY句.
- REQUEST.cbl VIEWで作成されたCOPY句.
2.富士通デモサンプルMakefile
01:BUILDCB85SV = $(ROOTDIR)/bin/CB85SRVR 02:CB85FLAGS = -I$(APPDIR)/view -L/opt/SUNWnsun/lib 03:all : APLSERVER 04:APLSERVER : aplserver.cob ../view/ANSWER.cbl ../view/REQUEST.cbl 05: $(BUILDCB85SV) -v -o APLSERVER -f "$(CB85FLAGS)" 06: -l aplserver.cob -s APLSERVER 07: /usr/local/bin/cleanv8 -r APLSERVER 08: cp APLSERVER .. 09:../view/ANSWER.cbl : 10: ( cd ../view; make answer.V ) 11:../view/REQUEST.cbl : 12: ( cd ../view; make request.V ) 13:clean : 14: rm -f APLSERVER aplserver.o
※先頭の2桁の番号とコロンは行番号を示す.
3.説明
- 01 Tuxedoのサービスとして登録するBuildserverコマンドの設定.
- 02 リンク時の参照ライブラリの設定.
- 03 最終的に作成するモジュール名称.
- 04 コンパイルパラメータ設定.使用するライブラリ,コピー句の指定
- 05 -oで,モジュール名を指定する.(後述の説明参照)
- 06 -l(える)でソースコード,-sでサービスの登録となる.(後述の説明参照)
- 07 Solaris2.5で動かすためのパッチプログラム(cleanv8)
- 08 作成されたモジュールを1つ上のディレクトリに複写.
- 09〜12 VIEWファイルの指定
- 13〜14 makeの実行時オプション「clean」が指定されたときの処理.
5行目オプション「-o」の後に指定された名前は,生成されるTuxedoのサービス化されたモジュールを示す. この名前をubbconfig上のSERVERSセクションで定義する必要がある.
6行目オプション「-s」は,Tuxedo上で稼働するサービスの名前を示す. この名前をubbconfig上のSERVICESセクションで定義する必要がある.
4.使用例
|
ソースコードをコンパイルし,サービスへの登録を行なう.
|
cleanセクションで指定された処理を行なう. つまり,古いモジュールを消す.
4.修正箇所
次に示すのは,ユーザの開発環境にあわせてサンプルのMakefileを編集すべき箇所である.
- 03 作成する実行モジュールの名前を書く.(実際にはMakefile内のセクション名)
- 04 コンパイルするCOBOLのファイル名と,VIEWファイルを指定する.
- 05 -oの後に,作成するモジュールの名前を記述する.
- 06 -l(エル)の後にソースファイル名,-sの後に登録するサービス名を記述する.
- 07 05の-oで指定したモジュール名を記述する.
- 09 VIEWから作成すコピー句の名前を指定する.
- 10 VIEW定義ファイルを指定する.