#-----[ Directory ]----------------------------------------

DIR_CACHE			= Cache
DIR_DATA			= Data
DIR_ENDIANNESS			= Endianness
DIR_QUEUE			= Queue
DIR_RAMLOCK			= RamLock
DIR_SIM2OS			= Sim2OS
DIR_TTY   			= TTY

#-----[ Variable ]-----------------------------------------

OBJECTS_DEPS			= 	$(patsubst $(DIR_CACHE)/$(DIR_SRC)/%.cpp,$(DIR_CACHE)/$(DIR_OBJ)/%.o,$(wildcard $(DIR_CACHE)/$(DIR_SRC)/*.cpp))			\
					$(patsubst $(DIR_DATA)/$(DIR_SRC)/%.cpp,$(DIR_DATA)/$(DIR_OBJ)/%.o,$(wildcard $(DIR_DATA)/$(DIR_SRC)/*.cpp))			\
					$(patsubst $(DIR_DATA)/$(DIR_SRC)/%.c,$(DIR_DATA)/$(DIR_OBJ)/%.o,$(wildcard $(DIR_DATA)/$(DIR_SRC)/*.c))			\
					$(patsubst $(DIR_ENDIANNESS)/$(DIR_SRC)/%.cpp,$(DIR_ENDIANNESS)/$(DIR_OBJ)/%.o,$(wildcard $(DIR_ENDIANNESS)/$(DIR_SRC)/*.cpp))	\
					$(patsubst $(DIR_QUEUE)/$(DIR_SRC)/%.cpp,$(DIR_QUEUE)/$(DIR_OBJ)/%.o,$(wildcard $(DIR_QUEUE)/$(DIR_SRC)/*.cpp))			\
					$(patsubst $(DIR_RAMLOCK)/$(DIR_SRC)/%.cpp,$(DIR_RAMLOCK)/$(DIR_OBJ)/%.o,$(wildcard $(DIR_RAMLOCK)/$(DIR_SRC)/*.cpp))		\
					$(patsubst $(DIR_SIM2OS)/$(DIR_SRC)/%.cpp,$(DIR_SIM2OS)/$(DIR_OBJ)/%.o,$(wildcard $(DIR_SIM2OS)/$(DIR_SRC)/*.cpp)) 		\
					$(patsubst $(DIR_TTY)/$(DIR_SRC)/%.cpp,$(DIR_TTY)/$(DIR_OBJ)/%.o,$(wildcard $(DIR_TTY)/$(DIR_SRC)/*.cpp))


#-----[ Rules ]--------------------------------------------

all				:
				@\
				$(MAKE) --directory=$(DIR_CACHE)      all; \
				$(MAKE) --directory=$(DIR_DATA)       all; \
				$(MAKE) --directory=$(DIR_ENDIANNESS) all; \
				$(MAKE) --directory=$(DIR_QUEUE)      all; \
				$(MAKE) --directory=$(DIR_RAMLOCK)    all; \
				$(MAKE) --directory=$(DIR_SIM2OS)     all; \
				$(MAKE) --directory=$(DIR_TTY)        all; \
				$(MAKE) all_environment;

clean				:
				@\
				$(MAKE) --directory=$(DIR_CACHE)      clean; \
				$(MAKE) --directory=$(DIR_DATA)       clean; \
				$(MAKE) --directory=$(DIR_ENDIANNESS) clean; \
				$(MAKE) --directory=$(DIR_QUEUE)      clean; \
				$(MAKE) --directory=$(DIR_RAMLOCK)    clean; \
				$(MAKE) --directory=$(DIR_SIM2OS)     clean; \
				$(MAKE) --directory=$(DIR_TTY)        clean; \
				$(MAKE) environment_clean; \
				$(RM) tty_*;


help				:
				@$(MAKE) environment_help

include                         Makefile.Environment
