#---------------------------------------------------------------------
#     Copyright (C) GFD Dennou Club, 2005. All rights reserved.
#---------------------------------------------------------------------
#=begin
#= Mkinclude of DCPAM
#
#   * Developers: Morikawa Yasuhiro
#   * Version: $Id: Mkinclude,v 1.8 2005/02/15 08:26:24 morikawa Exp $
#   * Tag Name: $Name:  $
#   * Change History: 
#
#=end

DESTDIR = /home/morikawa/Documents/ruby_workshop/y2005/RDinF90/dcpam2_rdoc_sample
INSTDIR = /usr/local/dcpam2

# Set Commands for basis command
CP         = cp -p
INSTALL    = install -m 644
INSTALLBIN = install -m 755
RM         = rm -rf
TAGS       = etags
AR         = ar rfv        # AR : Library builder specification
RUBY       = /usr/bin/ruby # for Generation RD documents
RD2        = /usr/bin/rd2  # for Generation RD documents
RDOCBIN    = /usr/bin/env rdoc # for Generation RDOC documents
PLATEX     = /usr/bin/platex  # for Generation DVI documents
DVI2PDF    = /usr/bin/dvipdfm # for Generation PDF documents

# Fortran コンパイラ
FRT=frt
IFC=ifc
FC=$(FRT)
#FC=$(IFC)

# コンパイル時・リンク時に必要なフラグ
FCOPTS_FRT4       = -Am -Kfast,parallel -E fitu
FCOPTS_FRT4_DEBUG = -Am -O0 -g -H aesux -E cg -v95d,95o,95s
FCOPTS_IFC7       = -O -Qoption,ld,-Bdynamic -Vaxlib -w
FCOPTS=$(FCOPTS_FRT4_DEBUG)

# モジュール・リンク用のオプション
MODOPT=-I
LIBOPT=-L

#
# set Library Name
#
DCPAMLIB        = dcpam
GT4LIB          = gt4f90io
SPMODELLIB      = spmodel
ISPACKLIB       = isp-ffc4
NETCDFLIB_FFC4  = netcdf-ffc4
NETCDFLIB       = netcdf
DCLF77LIB       = dcl52f77
DCLF90LIB       = dcl52f90

#
# set LIBFILE install directory.
#
# gt4f90io  Library Install Directory
GT4LIBDIR=/usr/lib/gt4f90io-ffc4/lib

# gt4f90io  Modules Install Directory
GT4MODDIR=/usr/lib/gt4f90io-ffc4/include

# spmodel  Library Install Directory
SPMODELLIBDIR=/usr/lib/spml-ffc4/lib

# spmodel  Modules Install Directory
SPMODELMODDIR=/usr/lib/spml-ffc4/include

# spmodel  Library Install Directory
ISPACKLIBDIR=/usr/lib

# NetCDF Library Install Directory
NETCDFLIBDIR=/usr/lib
#NETCDFLIBDIR=/usr/local/netcdf-ifc/lib

# NetCDF Modules Install Directory
#NETCDFMODDIR=/usr/local/netcdf/include
#NETCDFMODDIR=/usr/local/netcdf-ifc/include

# dcl-f90 Modules Install Directory
DCLF90MODDIR=/usr/lib/dcl-5.2-ffc4/include

# dcl-f90 Library Install Directory
DCLF90LIBDIR=/usr/lib/dcl-5.2-ffc4/lib

# dcl Library Install Directory
DCLF77LIBDIR=/usr/lib/dcl-5.2-ffc4/lib

# モジュール情報ファイルの拡張子 (.mod .d .f90 のどれかになる)
MODEXT=.mod
# make clean 時に使用するモジューリ情報ファイル指定
# (F90MODTYPE = hitachi.f90 のときは何も消してはならない)
MODS=*.mod



# DCPAM のライブラリ、モジュール、実行プログラム、ドキュメント置場
#
# DEST_MOD  : directory to which the module files are archived
#             (モジュール置場の指定)
DEST_MOD=$(DESTDIR)/include

# DEST_LIB  : directory to which the library files are archived
#             (ライブラリ置場の指定)
DEST_LIB=$(DESTDIR)/lib

# DEST_BIN  : directory to which the executable files are archived
#             (実行ファイル置場の指定)
DEST_BIN=$(DESTDIR)/bin

# DEST_DOC  : directory to which the gtool4 documantation files are archived
#             (ドキュメントァイル置場の指定)
DEST_DOC=$(DESTDIR)/doc


# DCPAM のライブラリ、モジュール、実行プログラム、
# ドキュメントのインストール先
#
# INST_MOD  : directory to which the module files are installed
#             (モジュールインストールディレクトリの指定)
INST_MOD=$(INSTDIR)/include

# INST_LIB  : directory to which the library files are installed
#             (ライブラリインストールディレクトリの指定)
INST_LIB=$(INSTDIR)/lib

# INST_BIN  : directory to which the executable files are installed
#             (実行ファイルインストールディレクトリの指定)
INST_BIN=$(INSTDIR)/bin

# INST_DOC  : directory to which the gtool4 documantation files are installed
#             (ドキュメントァイルインストールディレクトリの指定)
INST_DOC=$(INSTDIR)/doc


# RDOC Document Setting
#
RDOCDIR = rdoc                     # 出力ディレクトリの指定
TITLE   = --title "DCPAM Reference Manual" # タイトル
CHARSET = --charset euc-jp         # 文字コード
MAINOPT = --main dynamics_mod      # 開始ページの指定
INLINE  = --inline-source          # インラインでソースを表示
LINENUM = --line-numbers           # ソースに行番号を付加
ALLOPT  = --all                    # private メソッドも表示
ONEFILE = #--one-file               # 出力を標準出力へ

RDOC    = ${RDOCBIN} --op ${RDOCDIR} \
	${TITLE} ${CHARSET} ${MAINOPT} ${INLINE} ${LINENUM} \
	${ALLOPT} ${ONEFILE} \


# RD Document Setting
#
RUBYLIB = $(DESTDIR)
CSS     = $(RUBYLIB)/rd/dcpam.css
#RDHINDEX= $(RUBYLIB)/rd/rd-hindex2.rb
RDEXT   = rd/rd2html-ext-lib
RDFLAG  = --with-part=html:include --out-code=euc --ref-extension \
                --native-inline \
                --head-element
#                --headline-secno
CSSFLAG = --with-css=$(CSS)
RD2HTML = ${RD2} -r ${RDEXT} ${RDFLAG} ${CSSFLAG}
RD2MAN = ${RD2} -r rd/rd2man-lib.rb
RD2LATEX = ${RD2} -r rd/rd2latex-lib.rb \
                --documentclass="jarticle" \
                --documentclass-option="titlepage" \
                --title="DCPAM Reference Manual" \
                --author="GFD Dennou Club"  \
                --maketoc     \
                --maketitle


# suffixe rules for documents
#
.SUFFIXES: .htm .3f .tex .pdf

.f90.htm:
	sed 's/^[	 ]*!//' $< > $<.rd
	$(RD2HTML) $<.rd > $@.tmp
	mv $@.tmp $@
	rm -f $<.rd

.f90.3f:
	sed 's/^[	 ]*!//' $< > $<.rd
	$(RD2MAN) $<.rd > $@.tmp
	mv $@.tmp $@
	rm -f $<.rd

.f90.tex:
	sed 's/^[	 ]*!//' $< > $<.rd
	$(RD2LATEX) $<.rd > $@.tmp
	mv $@.tmp $@
	rm -f $<.rd

.f90.pdf:
	sed 's/^[	 ]*!//' $< > $<.rd
	$(RD2LATEX) $<.rd > $@.tmp
	mv $@.tmp $@
	rm -f $<.rd
	$(PLATEX) $@ ; $(PLATEX) $@
	rm -f $*.aux $*.toc $*.log
	$(DVI2PDF) $*.dvi
