# - - - - - - #
#             #
#   COLORS    #
#             #
# - - - - - - #

GRAY     = "\e[0;30m"
RED      = "\e[0;31m"
GREEN    = "\e[0;32m"
YELLOW   = "\e[0;33m"
BLUE     = "\e[0;34m"
PURPLE   = "\e[0;35m"
CYAN     = "\e[0;36m"
WHITE    = "\e[0;37m"

B_GRAY   = "\e[1;30m"
B_RED    = "\e[1;31m"
B_GREEN  = "\e[1;32m"
B_YELLOW = "\e[1;33m"
B_BLUE   = "\e[1;34m"
B_PURPLE = "\e[1;35m"
B_CYAN   = "\e[1;36m"
B_WHITE  = "\e[1;37m"

RESET    = "\e[0m"

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
#               . name = value \          . += append to a variable   #
#   VARIABLES   .        value            . != set result of command  #
#               . name is case sensitive  . ?= set if not already set #
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #

D_QUINES  = ./1_Colleen \
						./2_Grace \
						./3_Sully

RULE      = all

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
#             .   target: prerequisites   .   $@ : target             #
#    RULES    .           recipe          .   $< : 1st prerequisite   #
#             .           recipe          .   $^ : all prerequisites  #
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #

all:
	@$(MAKE) RULE=$@ loop

run:
	@$(MAKE) RULE=$@ loop

diff:
	@$(MAKE) RULE=$@ loop

leaks:
	@$(MAKE) RULE=$@ loop

clean:
	@$(MAKE) RULE=$@ loop

fclean:
	@$(MAKE) RULE=$@ loop

loop: $(D_QUINES)
	@for dir in $^; do \
		echo $(B_GREEN)"$(RULE) $$dir"$(RESET); \
		$(MAKE) $(RULE) -C $$dir; \
	done

re: fclean all

.PHONY : all clean fclean re loop run diff leaks

