#-----[ Directory ]---------------------------------------------------- DIR_LIB = Library #-----[ Usual Commands ]----------------------------------------------- RM = rm ECHO = echo -e CD = cd LS = ls PWD = `pwd` TEST = test MAKE = make -s BASENAME = basename CAT = cat MKDIR = mkdir #-----[ Particular Commands ]------------------------------------------ #-----[ Options ]------------------------------------------------------ DIR_DOC = Documentation/Source PREFIXE_PATH = "." SUFFIXE_PATH = ".txt" #-----[ Rules ]-------------------------------------------------------- .PHONY : all help all : help doc : @$(ECHO) "" @$(ECHO) "=====[ doc ]=====================================" @$(ECHO) "" @$(MAKE) -C $(DIR_DOC) view path : @$(ECHO) "" @$(ECHO) "=====[ path ]====================================" @$(ECHO) ""; @$(ECHO) -n "+ "; @$(BASENAME) $(PWD); @$(ECHO) "| "; @$(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)| "; \ 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) ""