ifeq ($(origin MORPHEO_TMP), undefined) $(error "variable MORPHEO_TMP is undefined"); endif #-----[ Directory ]---------------------------------------- DIR_LIB = $(DIR_TMP)/lib DIR_ENVIRONMENT = . DIR_CACHE = Cache DIR_DATA = Data DIR_ENDIANNESS = Endianness DIR_QUEUE = Queue DIR_RAMLOCK = RamLock DIR_SIM2OS = Sim2OS DIR_TTY = TTY include $(DIR_CACHE)/Makefile.defs include $(DIR_DATA)/Makefile.defs include $(DIR_ENDIANNESS)/Makefile.defs include $(DIR_QUEUE)/Makefile.defs include $(DIR_RAMLOCK)/Makefile.defs include $(DIR_SIM2OS)/Makefile.defs include $(DIR_TTY)/Makefile.defs #-----[ Variable ]----------------------------------------- ENTITY := Environment DIR_SRC = $(DIR_ENVIRONMENT)/src include $(DIR_ENVIRONMENT)/Makefile.defs LIBRARY_NAME := $(ENTITY) LIBRARY_FILE := $(DIR_LIB)/lib$(LIBRARY_NAME).a Environment_OBJECTS_DEPS := $(OBJECTS) \ $(Cache_OBJECTS_DEPS) \ $(Data_OBJECTS_DEPS) \ $(Endianness_OBJECTS_DEPS) \ $(Queue_OBJECTS_DEPS) \ $(RamLock_OBJECTS_DEPS) \ $(Sim2OS_OBJECTS_DEPS) \ $(TTY_OBJECTS_DEPS) #-----[ 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) $(LIBRARY_FILE); $(LIBRARY_FILE) : $(DIR_LIB) $(Environment_OBJECTS_DEPS) @\ $(ECHO) "Archive : $@";\ $(AR) -r $@ $(Environment_OBJECTS_DEPS);\ $(RANLIB) $@; $(DIR_LIB) : @\ $(ECHO) "Create directory : $@";\ $(MKDIR) $@ exe_all : @\ $(MAKE) --directory=$(DIR_CACHE) clean; \ $(MAKE) --directory=$(DIR_CACHE) exe; \ $(MAKE) --directory=$(DIR_DATA) clean; \ $(MAKE) --directory=$(DIR_DATA) exe; \ $(MAKE) --directory=$(DIR_ENDIANNESS) clean; \ $(MAKE) --directory=$(DIR_ENDIANNESS) exe; \ $(MAKE) --directory=$(DIR_QUEUE) clean; \ $(MAKE) --directory=$(DIR_QUEUE) exe; \ $(MAKE) --directory=$(DIR_RAMLOCK) clean; \ $(MAKE) --directory=$(DIR_RAMLOCK) exe; \ $(MAKE) --directory=$(DIR_SIM2OS) clean; \ $(MAKE) --directory=$(DIR_SIM2OS) exe; \ $(MAKE) --directory=$(DIR_TTY) clean; \ $(MAKE) --directory=$(DIR_TTY) exe; \ $(MAKE) clean; \ $(MAKE) exe; 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_*; clean_all : clean @\ $(RM) $(DIR_LIB); help : @$(MAKE) environment_help include Makefile.Environment