MAKE=make

BASEDIR=$(PWD)/..

include $(BASEDIR)/include/Makefile_base

BASEDIR=$(PWD)/..

COMPONENTS = utils advection dyn v4d

COMM     =
OTHERS   =  $(RPNCOMM) lapack blas massvp4 bindcpu_002 $(LLAPI) $(IBM_LD)
#LIBS     = $(MODEL) $(V4D) $(PHY) $(PATCH) $(CHM) $(CPL) $(OTHERS)
LIBS     = $(OTHERS)

INSTALLDIR= $(BASEDIR)/build

PYVERSIONFILE = rpn_version.py
CVERSIONFILE = rpn_version.h
FTNVERSIONFILE = rpn_version.hf

VERSION   = 4.1.0-adw
LASTUPDATE= 2009-11

versionfile:
	echo "__VERSION__ = '$(VERSION)'" > $(PYVERSIONFILE)
	echo "__LASTUPDATE__ = '$(LASTUPDATE)'" >> $(PYVERSIONFILE)
	echo "#define VERSION \"$(VERSION)\"" > $(CVERSIONFILE)
	echo "#define LASTUPDATE \"$(LASTUPDATE)\"" >> $(CVERSIONFILE)
	echo "#define VERSION \"$(VERSION)\"" > $(FTNVERSIONFILE)
	echo "#define LASTUPDATE \"$(LASTUPDATE)\"" >> $(FTNVERSIONFILE)

default: all

# slib: all
# 	r.build \
# 	  -obj $(FTNALLOBJ) \
# 	  -shared \
# 	  -librmn $(RMNLIBSHARED) \
# 	  -o jim.so

all:
	for i in $(COMPONENTS); \
	do cd $$i ; $(MAKE) all ; cd .. ;\
	done ;\

install: all
	mkdir -f $(INSTALLDIR)
	#TODO:

clean: clean0
	for i in $(COMPONENTS); \
	do \
	cd $$i ; $(MAKE) clean; cd .. ;\
	done

ctags: clean
	rm -f tags TAGS
	for mydir in . $(COMPONENTS); do \
	echo $$mydir ;\
	list2="$$mydir/*.f $$mydir/*.ftn* $$mydir/*.hf"; \
	for myfile in $$list2; do \
		echo $$myfile ;\
		etags --language=fortran --defines --append $$myfile ; \
		ctags --language=fortran --defines --append $$myfile ; \
	done ; \
	list3="$$mydir/*.c $$mydir/*.h"; \
	for myfile in $$list3; do \
		echo $$myfile ;\
		etags --language=c --defines --append $$myfile ; \
		ctags --language=c --defines --append $$myfile ; \
	done ; \
	list4="$$mydir/*.py"; \
	for myfile in $$list4; do \
		echo $$myfile ;\
		etags --language=python --defines --append $$myfile ; \
		ctags --language=python --defines --append $$myfile ; \
	done ; \
	done

test: all
	for i in $(COMPONENTS); \
	do echo -e "\n==== Make Test: " $$i "====\n"; cd $$i ; $(MAKE) test ; cd .. ;\
	done
