include $(MORPHEO_TOPLEVEL)/Makefile.tools

#-----[ Directory ]----------------------------------------------------
DIR_LIB			= Library
DIR_DOC			= Documentation/Source

#-----[ Options ]------------------------------------------------------

PREFIXE_PATH		= "."
SUFFIXE_PATH            = ".txt"

#-----[ Rules ]--------------------------------------------------------
.PHONY			: all help

all			: help

#~~~~~[ doc ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
doc			:
			@\
			$(ECHO) "";\
			$(ECHO) "=====[ doc ]=====================================";\
			$(ECHO) "";\
			$(MAKE) -C $(DIR_DOC) view;

#~~~~~[ path ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
path			:
			@\
			$(ECHO) "";\
			$(ECHO) "=====[ path ]====================================";\
			$(ECHO) "";\
			$(ECHO) -n "+ ";\
			$(BASENAME) $(PWD);\
			$(ECHO) "| <Top Level>";\
			$(ECHO) "|";\
			$(MAKE) path_rec TAB="|    " DIR_PATH=.;

path_rec		:
			@\
			for files in `$(LS) $(DIR_PATH)`; do								\
			    	if $(TEST) -d $(DIR_PATH)/$$files; 							\
				then 											\
					$(ECHO) "$(TAB)+ $$files";							\
															\
					if test -f $(DIR_PATH)/$(PREFIXE_PATH)`$(BASENAME) $$files`$(SUFFIXE_PATH);	\
					then										\
						$(ECHO) "$(TAB)| <\c";							\
						$(CAT) $(DIR_PATH)/$(PREFIXE_PATH)`$(BASENAME) $$files`$(SUFFIXE_PATH);	\
						$(ECHO) ">";								\
					else										\
						$(ECHO) "$(TAB)| <No description>";					\
					fi;										\
					$(ECHO) "$(TAB)|"; 								\
															\
					$(MAKE) path_rec TAB="$(TAB)|    " DIR_PATH=$(DIR_PATH)/$$files;		\
				fi;											\
			done;

#~~~~~[ Lib ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

lib 			:
			@\
			$(ECHO) "";\
			$(ECHO) "=====[ lib ]=====================================";\
			$(ECHO) "";\
			$(ECHO) " Function unimplemented";\
			$(ECHO) "";

#			@$(ECHO) " The library is generate into the directory : $(PWD)/$(DIR_LIB)"

#~~~~~[ Maintenance ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

clean 			:
			@\
			$(ECHO) "";\
			$(ECHO) "=====[ clean ]===================================";\
			$(ECHO) "";\
			$(ECHO) "Delete     temporary files              "$(PWD);\
			$(RM) *~;
#			@$(MAKE) clean_rec DIR_CLEAN=.

#Clean recursive
#clean_rec		:
#			@$(ECHO) "Delete     temporary files in directory $(DIR_CLEAN)"
#			@$(RM) -f $(DIR_CLEAN)/*~
#			@										\
#			if $(TEST) -f $(DIR_CLEAN)/Makefile -a "$(DIR_CLEAN)" != ".";			\
#			then 										\
#		       		($(CD) $(DIR_CLEAN); $(MAKE) clean;)                    		\
#			else										\
#				for files in `$(LS) $(DIR_CLEAN)`; do					\
#				    	if $(TEST) -d $(DIR_CLEAN)/$$files; 				\
#					then 								\
#						$(MAKE) clean_rec DIR_CLEAN=$(DIR_CLEAN)/$$files;	\
#					fi;								\
#				done;									\
#			fi;

#~~~~~[ Help ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

help			:
			@\
			$(ECHO) "";\
			$(ECHO) "=====[ help ]====================================";\
			$(ECHO) "";\
			$(ECHO) " Rules              Description";\
			$(ECHO) "";\
			$(ECHO) " * all              cf rule \"help\"";\
			$(ECHO) " * clean            Delete temporary files";\
			$(ECHO) " * doc              View documentation files";\
			$(ECHO) " * lib              Generate the library to include";\
			$(ECHO) " * help             Print this message";\
			$(ECHO) " * path             Print a little description of each directory";\
			$(ECHO) "";

