#-----[ Directory ]---------------------------------------- DIR_DOC = doc DIR_TEST = SelfTest #-----[ Variable ]----------------------------------------- OBJECTS = $(OBJECTS_COMMON) #-----[ Rules ]-------------------------------------------- .PRECIOUS : $(DIR_LIB)/%.a #.NOTPARALLEL : clean help all_component : test_env $(DIR_OBJ) $(DIR_LIB) @\ $(MAKE) $(LIBRARY); # if simulator is modelsim, libComponent.a is a directory, else is normal library generated by g++ $(DIR_LIB)/%.a : $(SOURCES) $(HEADERS) @\ case "${SIMULATOR_SYSTEMC}" in \ "modelsim") \ $(MODELTECH_VLIB) $@; \ $(MODELTECH_SCCOM) $(CFLAGS) $(SOURCES) -work $@; \ ;; \ *) \ $(MAKE) $(OBJECTS); \ if $(TEST) $$? -eq 0; then \ $(ECHO) "Archive : $*"; \ $(AR) -r $@ $(OBJECTS); \ $(RANLIB) $@; \ fi; \ ;; \ esac; $(DIR_LIB) : @\ $(ECHO) "Create directory : $@";\ $(MKDIR) $@; document : @$(MAKE) --directory=$(DIR_DOC) --makefile=Makefile component_clean : @$(RM) $(LIBRARY) # if $(TEST) -d $(DIR_DOC); then $(MAKE) --directory=$(DIR_DOC) --makefile=Makefile clean; fi; component_clean_all : component_clean @$(RM) $(DIR_LIB) # if $(TEST) -d $(DIR_DOC); then $(MAKE) --directory=$(DIR_DOC) --makefile=Makefile clean_all; fi; component_help : @\ $(ECHO) " -----[ Component ]----------------------------------";\ $(ECHO) "";\ $(ECHO) " * all_component : compile all c++ file and generate library";\ $(ECHO) " * document : Generate documantation";\ $(ECHO) " * clean : Erase all generate files";\ $(ECHO) " * help : print this text";\ $(ECHO) ""; help : @\ $(MAKE) common_help;\ $(MAKE) component_help; clean : @\ $(MAKE) common_clean ;\ $(MAKE) component_clean; clean_all : @\ $(MAKE) common_clean_all ;\ $(MAKE) component_clean_all;