makefile.do 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #all object file
  2. OBJS = $(foreach obj, $(CPPFILES), $(OBJS_DIR)$(basename $(obj)).$(OBJS_SUFFIX))
  3. OBJS += $(foreach obj, $(CFILES), $(OBJS_DIR)$(basename $(obj)).$(OBJS_SUFFIX))
  4. #dependency
  5. DEPS = $(OBJS:.$(OBJS_SUFFIX)=.$(DEPS_SUFFIX))
  6. #rules
  7. all : begin_log $(FIRST_TARGET_NAME) end_log
  8. #output log
  9. begin_log :
  10. @echo "######################################################### begin compile "$(OUTPUT_NAME)$(OUTPUT_SUFFIX)
  11. end_log :
  12. @echo "######################################################### end compile "$(OUTPUT_NAME)$(OUTPUT_SUFFIX)
  13. $(FIRST_TARGET_NAME) : make_temp_path $(OBJS) link
  14. sinclude $(DEPS)
  15. make_temp_path:
  16. for obj in $(foreach obj, $(OBJS), $(dir $(obj))); do \
  17. # echo $$obj; \
  18. mkdir --parents $$obj; \
  19. done
  20. link:
  21. @echo "********************************************************* link begin..."
  22. $(LINK_TYPE) $(OUTPUT_DIR)$(OUTPUT_NAME)$(OUTPUT_SUFFIX) \
  23. $(OBJS) \
  24. $(IMPORT_LIB)
  25. @echo "********************************************************* link ended."
  26. clean:
  27. rm -f $(OBJS) \
  28. $(DEPS) \
  29. $(OUTPUT_DIR)$(OUTPUT_NAME)$(OUTPUT_SUFFIX)