#-
#- $Id: AA_make,v 2.16 2006/01/18 06:34:11 adm Exp $
#-
#-Q- sx6nec F_O = $(F_D) $(F_P) -C vsafe -size_t64 -I $(MODDIR)
#-Q- sxdkrz F_O = $(F_D) $(F_P) -C vsafe -size_t64 -I $(MODDIR)
#-Q- eshpux F_O = $(F_D) $(F_P) -C vsafe -I $(MODDIR)
#-Q- sx8brodie F_O = $(F_D) $(F_P)  -C vsafe -Wf,-L fmtlist transform -Wf,-O reorderrange=bblock -I $(MODDIR)

#---------------------------------------------------------------------
#- Create "libioipsl"
#---------------------------------------------------------------------

PRF_PRC = !\#-P-
DEF_PRC = $(PRF_PRC)$(D_P)
SRC_PRC   = defprec.f90
MODS1     = $(SRC_PRC)    \
            errioipsl.f90 \
            stringop.f90  \
            mathelp.f90   \
            getincom.f90  \
            calendar.f90  \
            fliocom.f90   \
            flincom.f90   \
            histcom.f90   \
            restcom.f90   \
            ioipsl.f90
OBJSMODS1 = $(MODS1:.f90=.o)

all: $(SRC_PRC) $(MODEL_LIB)($(OBJSMODS1))
	@echo IOIPSL is OK

$(SRC_PRC): def.prec
	(sed -e "s/^$(DEF_PRC) */  /g" def.prec | \
	 grep -v $(PRF_PRC) > $(SRC_PRC))



.PRECIOUS : $(MODEL_LIB)
#-Q- sxnec  .PRECIOUS : $(SXMODEL_LIB)
#-Q- sx6nec .PRECIOUS : $(SXMODEL_LIB)
#-Q- sxdkrz .PRECIOUS : $(SXMODEL_LIB)
#-Q- eshpux .PRECIOUS : $(SXMODEL_LIB)
#-Q- sx8brodie .PRECIOUS : $(SXMODEL_LIB)

$(MODEL_LIB)(%.o): %.f90
	$(F_C) $(F_O) -I$(NCDF_INC) $*.f90
	$(A_C) $(MODEL_LIB) $*.o
#-Q- sgi6 	mv $(shell echo $* | tr '[:lower:]' '[:upper:]').mod $(MODDIR)
#-Q- sxnec	$(A_X) $(SXMODEL_LIB) $*.o
#-Q- sxnec	mv $*.mod $(MODDIR)
#-Q- sx6nec	$(A_X) $(SXMODEL_LIB) $*.o
#-Q- sx6nec	mv $*.mod $(MODDIR)
#-Q- sxdkrz	$(A_X) $(SXMODEL_LIB) $*.o
#-Q- sxdkrz	mv $*.mod $(MODDIR)
#-Q- eshpux	$(A_X) $(SXMODEL_LIB) $*.o
#-Q- eshpux	mv $*.mod $(MODDIR)
#-Q- solaris	mv $*.mod $(MODDIR)
#-Q- sx8brodie 	$(A_X) $(SXMODEL_LIB) $*.o
#-Q- sx8brodie 	mv $*.mod $(MODDIR)
	$(RM) $*.o

clean:
#-Q- sxnec	$(RM) $(SXMODEL_LIB)
#-Q- sx6nec	$(RM) $(SXMODEL_LIB)
#-Q- sxdkrz	$(RM) $(SXMODEL_LIB)
#-Q- eshpux	$(RM) $(SXMODEL_LIB)
#-Q- sx8brodie  	$(RM) $(SXMODEL_LIB)
	$(RM) *.*~ Makefile~ core *.o *.mod i.*.L *.L i.*.f90
	$(RM) $(MODDIR)/*.mod $(MODDIR)/*.M *.M
	$(RM) $(MODEL_LIB) $(SRC_PRC)

#- Specific dependencies

$(MODEL_LIB)(errioipsl.o):  \
  $(MODEL_LIB)(defprec.o)

$(MODEL_LIB)(stringop.o):  \
  $(MODEL_LIB)(defprec.o)

$(MODEL_LIB)(mathelp.o):     \
  $(MODEL_LIB)(errioipsl.o)  \
  $(MODEL_LIB)(stringop.o)

$(MODEL_LIB)(getincom.o):  \
  $(MODEL_LIB)(stringop.o)

$(MODEL_LIB)(calendar.o):    \
  $(MODEL_LIB)(errioipsl.o)  \
  $(MODEL_LIB)(stringop.o)

$(MODEL_LIB)(fliocom.o):     \
  $(MODEL_LIB)(defprec.o)    \
  $(MODEL_LIB)(errioipsl.o)  \
  $(MODEL_LIB)(stringop.o)   \
  $(MODEL_LIB)(calendar.o)

$(MODEL_LIB)(flincom.o):     \
  $(MODEL_LIB)(errioipsl.o)  \
  $(MODEL_LIB)(stringop.o)   \
  $(MODEL_LIB)(calendar.o)

$(MODEL_LIB)(histcom.o):     \
  $(MODEL_LIB)(errioipsl.o)  \
  $(MODEL_LIB)(stringop.o)   \
  $(MODEL_LIB)(mathelp.o)    \
  $(MODEL_LIB)(calendar.o)  \
  $(MODEL_LIB)(fliocom.o)

$(MODEL_LIB)(restcom.o):     \
  $(MODEL_LIB)(errioipsl.o)  \
  $(MODEL_LIB)(stringop.o)   \
  $(MODEL_LIB)(mathelp.o)    \
  $(MODEL_LIB)(calendar.o)  \
  $(MODEL_LIB)(fliocom.o)

$(MODEL_LIB)(ioipsl.o):      \
  $(MODEL_LIB)(getincom.o)   \
  $(MODEL_LIB)(fliocom.o)    \
  $(MODEL_LIB)(flincom.o)    \
  $(MODEL_LIB)(histcom.o)    \
  $(MODEL_LIB)(restcom.o)

