#= Makefile for dcpam/src
#
# Authors::   Yasuhiro MORIKAWA
# Version::   $Id: Makefile,v 1.6 2008-08-10 17:16:39 morikawa Exp $
# Tag Name::  $Name: dcpam5-20080812 $
# Copyright:: Copyright (C) GFD Dennou Club, 2004-2007. All rights reserved.
# License::   See COPYRIGHT[link:../COPYRIGHT]
#
######################################################################
#
#== Settings

INCLUDEFILE = ../Config.mk
include $(INCLUDEFILE)

LIBDIRS		= setup util prepare_data io \
		  dynamics radiation saturate \
		  phy_implicit vdiffusion cumulus lscond surface_flux \
		  dryconv_adjust held_suarez_1994
RUNDIRS		= main
BINS		= 

# End Settings
######################################################################

all: lib exec

lib:
	@for i in $(LIBDIRS) ; do \
	  cd $$i ; \
	  $(MAKE) || exit 1; \
	  cd .. ; \
	done

exec:
	@for i in $(RUNDIRS) ; do \
	  cd $$i ; \
	  $(MAKE) || exit 1; \
	  cd .. ; \
	done

test:
	@for i in $(LIBDIRS) $(RUNDIRS) ; do \
	  cd $$i ; \
	  $(MAKE) $@ || exit 1; \
	  cd .. ; \
	done

doc:
	@for i in $(LIBDIRS) $(RUNDIRS) ; do \
	  cd $$i ; \
	  $(MAKE) $@ || exit 1; \
	  cd .. ; \
	done

clean:
	@for i in $(LIBDIRS) $(RUNDIRS) ; do \
	  cd $$i ; \
	  $(MAKE) $@ || exit 1; \
	  cd .. ; \
	done

clean.all:
	@for i in $(LIBDIRS) $(RUNDIRS) ; do \
	  cd $$i ; \
	  $(MAKE) clean || exit 1; \
	  cd .. ; \
	done

clean-doc:
	@for i in $(LIBDIRS) $(RUNDIRS) ; do \
	  cd $$i ; \
	  $(MAKE) $@ || exit 1; \
	  cd .. ; \
	done

install: lib install-lib install-mod exec install-exec

install-lib:
	test -d $(INSTLIBDIR) || $(INSTALLDIR) $(INSTLIBDIR)
	$(INSTALL) $(LIBDIR)/$(DCPAMLIB) $(INSTLIBDIR)

install-mod:
	test -d $(INSTMODDIR) || $(INSTALLDIR) $(INSTMODDIR)
	$(INSTALL) $(MODDIR)/$(MODS) $(INSTMODDIR)

install-exec:
	test -d $(INSTBINDIR) || $(INSTALLDIR) $(INSTBINDIR)
	@for i in $(BINS) ; do \
	  $(INSTALL) $(BINDIR)/$$i $(INSTBINDIR) ;\
	  echo $(INSTALL) $(BINDIR)/$$i $(INSTBINDIR) ;\
	done

depend: 
	@for i in $(LIBDIRS) $(RUNDIRS) ; do \
	  cd $$i ; \
	  $(MAKE) $@ || exit 1; \
	  cd .. ; \
	done

clean.depend: 
	@for i in $(LIBDIRS) $(RUNDIRS) ; do \
	  cd $$i ; \
	  rm depend; \
	  cd .. ; \
	done

tags: tags.local #tags.dir

#tagssm: tagssm.local tagssm.dir
#
tags.local:
	$(TAGS) */*.f90
#tagssm.local:
#	@$(TAGS) dcpam.f90 $(SUBDIRSSM:%=%/*.f90)
#
#tags.dir:
#	@for i in $(SUBDIRS) ; do \
#	  cd $$i ; \
#	  $(MAKE) tags ; \
#	  cd .. ; \
#	done
#
#tagssm.dir:
#	@for i in $(SUBDIRSSM) ; do \
#	  cd $$i ; \
#	  $(MAKE) tags ; \
#	  cd .. ; \
#	done

