UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

Pro*C用Makefile解説

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

 ソースコードをコンパイルし,サービスへの登録を行なう.

コンパイル環境の初期化
make clean

 cleanセクションで指定された処理を行なう. つまり,古いモジュールを消す.

4.使用例

 次に示すのは,ユーザの開発環境にあわせてサンプルのMakefileを編集すべき箇所である.

  • 22   コンパイルするCのソースファイル名と,VIEWから作成されたを指定する.
  • 23   -oの後に,作成するモジュールの名前を記述する.
  • 24   -sの後に登録するサービス名を記述する
  • 26   VIEWから作成すコピー句の名前を指定する.
  • 27   VIEW定義ファイルを指定する.
  • 28   消したい中間ファイルを指定する.


広告スペース
Google