include $(SOC)/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)
#			@$(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) ""

