#---------------------------------------------------------------------
#     Copyright (C) GFD Dennou Club, 2005. All rights reserved.
#---------------------------------------------------------------------
#=begin
#= Makefile for dcpam/run
#
#   * Developers: Morikawa Yasuhiro
#   * Version: $Id: Makefile,v 1.5 2005/01/10 15:40:50 morikawa Exp $
#   * Tag Name: $Name: dcpam2-20050405 $
#   * Change History: 
#
#=end

include ../Mkinclude

TARGET = dycore
OBJS= \
	dycore_type.o \
	dycore_grid.o \
	dycore_time.o \
	dycore_in.o \
	dycore_out.o \
	dycore_dynamics.o \
	dycore_hs94forcing.o \
	$(TARGET).o \

HTML = dycore_type.htm dycore_grid.htm dycore_time.htm \
	dycore_in.htm dycore_out.htm dycore_dynamics.htm \
	dycore_hs94forcing.htm \
	dycore.htm
CSS  = ../../rd/dcpam-rd2html.css
MAN = dycore_type.3f dycore_grid.3f dycore_time.3f \
	dycore_in.3f dycore_out.htm dycore_dynamics.3f \
	dycore_hs94forcing.3f \
	dycore.3f
TEX = dycore_type.tex dycore_grid.tex dycore_time.tex \
	dycore_in.tex dycore_out.htm dycore_dynamics.tex \
	dycore_hs94forcing.tex \
	dycore.tex
PDF = dycore_type.pdf dycore_grid.pdf dycore_time.pdf \
	dycore_in.pdf dycore_out.htm dycore_dynamics.pdf \
	dycore_hs94forcing.pdf \
	dycore.pdf

all: bin # lib mod

bin: $(TARGET)
	test -d $(DEST_BIN) || install -d $(DEST_BIN)
	$(INSTALLBIN) $(TARGET) $(DEST_BIN)

lib: $(OBJS)
	test -d $(DEST_LIB) || install -d $(DEST_LIB)
	$(AR) $(DEST_LIB)/lib$(DCPAMLIB).a $(OBJS)

mod: $(OBJS)
	test -d $(DEST_MOD) || install -d $(DEST_MOD)
	$(INSTALL) $(MODS) $(DEST_MOD)

$(TARGET): $(DEST_LIB)/lib$(DCPAMLIB).a $(OBJS)
	$(FC) $(FCOPTS) $(DEST_LIB)/lib$(DCPAMLIB).a $(OBJS) \
		$(MODOPT)$(DEST_MOD)      $(MODOPT)$(GT4MODDIR)    \
		$(MODOPT)$(SPMODELMODDIR) $(MODOPT)$(DCLF90MODDIR) \
		$(LIBOPT)$(DEST_LIB)      -l$(DCPAMLIB)     \
		$(LIBOPT)$(GT4LIBDIR)     -l$(GT4LIB)       \
		$(LIBOPT)$(NETCDFLIBDIR)  -l$(NETCDFLIB)    \
		                          -l$(NETCDFLIB_FFC4) \
		$(LIBOPT)$(SPMODELLIBDIR) -l$(SPMODELLIB)   \
		$(LIBOPT)$(ISPACKLIBDIR)  -l$(ISPACKLIB)    \
		$(LIBOPT)$(DCLF90LIBDIR)  -l$(DCLF90LIB)    \
		$(LIBOPT)$(DCLF77LIBDIR)  -l$(DCLF77LIB)    \
		-o $(TARGET)

#	$(FC) $(SYSFFLAGS) $(SYSLDFLAGS) $(SYSLDLIBS) $(MODOPT)$(DEST_MOD) \
#		$(LIBOPT)/home/morikawa/DCPAM/dcpam0/lib -ldcpam \
#		$(OBJS) -o $(TARGET) 

doc: htm man tex pdf
htm: $(HTML)
man: $(MAN)
tex: $(TEX)
pdf: $(TEX) $(PDF)

install: install-lib install-mod install-bin

install-lib:
	test -d $(INST_LIB) || install -d $(INST_LIB)
	$(AR) $(INST_LIB)/lib$(DCPAMLIB).a $(OBJS)

install-mod:
	test -d $(INST_MOD) || install -d $(INST_MOD)
	$(INSTALL) $(MODS) $(INST_MOD)

install-bin:
	test -d $(INST_BIN) || install -d $(INST_BIN)
	$(INSTALLBIN) $(TARGET) $(INST_BIN)

clean:
	-rm -f $(TARGET) $(OBJS) $(MODS)

clean-doc: clean-htm clean-man clean-tex clean-pdf

clean-htm:
	-rm -f $(HTML)
clean-man:
	-rm -f $(MAN)
clean-tex:
	-rm -f $(TEX)
clean-pdf:
	-rm -f $(PDF) *.dvi *.toc *.aux *.log *.pdf

# suffixe rules
#
.SUFFIXES: .f90 .o

.f90.o:
	$(FC) -c $(FCOPTS) $(MODOPT)$(DEST_MOD) $(MODOPT)$(GT4MODDIR) \
		$(MODOPT)$(SPMODELMODDIR) $(MODOPT)$(DCLF90MODDIR) $<

#		$(LIBOPT)/home/morikawa/DCPAM/dcpam0/lib -ldcpam \
