Pro*C用Makefile解説
0.改定履歴
- 1996.07.07 初 版
- 1996.07.10 第2版 修正箇所の明示.
1.はじめに
このドキュメントは,提供サンプルプログラムをコンパイル&リンクするためのMakefileである.
このMakefileは,APサーバ上で稼働するCOBOLで作成されたソースコードをコンパイル&リンク,およびTuxedoのサービスへの登録を行なうモノである.
このサンプルで使用されるソース,作成されるターゲットは次の通りになる.
- dbserver.pc ProCで書かれたソースコード.
- dbserver.c ProCのソースのプリコンパイル結果.
- dbserver ターゲットモジュール
- DBSERVER サービスへの登録名
- request.h VIEWから作成されたヘッダファイル(コピー句の様なモノ)
- answer.h VIEWから作成されたヘッダファイル(コピー句の様なモノ)
2.デモサンプル
makefile 01:BUILDSV = $(ROOTDIR)/bin/buildserver 02:PCFLAGS = include=$(ROOTDIR)/include 03:PROC = $(ORACLE_HOME)/bin/proc 04:PROCFLAGS = -I$(ORACLE_HOME)/sqllib/public 05:PROLDFLAGS = -L$(ORACLE_HOME)/lib 06:PROLDLIBS = -lsql $(ORACLE_HOME)/lib/osntab.o -lsqlnet -lora -lsqlnet -lpls -lora -lnlsrtl3 -lc3v6 -lcore3 -lnlsrtl3 -lcore3 `cat $(ORACLE_HOME)/rdbms/lib/sysliblist` 07:SQLLIBS = -lsql 08:TTLIBS = $(OSNTAB) $(SQLNETLIBS) $(LLIBORA) $(LIBPLSHACK) (SQLNETLIBS) $(LLIBORA) $(CORELIBS) $(LDLIBS) $(CLIBS) 09:OSNTAB = $(ORACLE_HOME)/lib/osntab.o 10:SQLNETLIBS = -lsqlnet 11:LLIBORA = -lora 12:CORELIBS = $(LLIBNLSRTL) $(LLIBCV6) $(LLIBCORE) $(LLIBNLSRTL) $(LLIBCV6) $(LLIBCORE) $(LLIBNLS6) $(LLIBCV6) 13:LLIBNLSRTL = -lnlsrtl 14:LLIBCV6 = -lcv6 15:LLIBCORE = -lcore 16:LLIBNLS6 = -lnls6 17:LLIBCORE = -lcore 18:LLIBNLS6 = -lnls6 19:.SUFFIXES: .o .c .pc .h .v 20:.pc.c: 21: $(PROC) $(PCFLAGS) iname=$*.pc 22:dbserver : dbserver.c ../view/answer.h ../view/request.h 23: $(BUILDSV) -v -f"$(PROCFLAGS) $(PROLDFLAGS)" -o dbserver \ 24: -f dbserver.c -f"$(PROLDLIBS)" -s DBSERVER 25: cp dbserver .. 26:../view/answer.h : 27: ( cd ../view; make answer.V ) 28:../view/request.h : 29: ( cd ../view; make request.V ) 30:clean : 31: rm -f dbserver dbserver.o dbserver.c
※先頭の2桁の番号とコロンは行番号を示す.
3.説明
- 01 Tuxedoのサービスとして登録するBuildserverコマンドの設定.
- 02〜18 リンク時の参照Oracleライブラリの設定.
- 19〜21 サフィックスの指定
- 22〜24 コンパイルパラメータ設定.使用するライブラリ,コピー句の指定
- 25 作成されたモジュールを1つ上のディレクトリに複写.
- 26〜29 VIEWファイルの指定
- 30〜31 makeの実行時オプション「clean」が指定されたときの処理.
3.使用例
コンパイル&リンク make -f Makefile
ソースコードをコンパイルし,サービスへの登録を行なう.
|
cleanセクションで指定された処理を行なう. つまり,古いモジュールを消す.
4.使用例
次に示すのは,ユーザの開発環境にあわせてサンプルのMakefileを編集すべき箇所である.
- 22 コンパイルするCのソースファイル名と,VIEWから作成されたを指定する.
- 23 -oの後に,作成するモジュールの名前を記述する.
- 24 -sの後に登録するサービス名を記述する
- 26 VIEWから作成すコピー句の名前を指定する.
- 27 VIEW定義ファイルを指定する.
- 28 消したい中間ファイルを指定する.