You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1.2 KiB

  1. COLOR ?= true
  2. ifeq ($(COLOR),true)
  3. NO_COLOR=\033[0m
  4. OK_COLOR=\033[32;01m
  5. ERROR_COLOR=\033[31;01m
  6. WARN_COLOR=\033[33;01m
  7. BLUE=\033[0;34m
  8. BOLD=\033[1m
  9. endif
  10. ifneq ($(shell awk --version 2>/dev/null),)
  11. AWK=awk
  12. else
  13. AWK=cat && test
  14. endif
  15. OK_STRING=$(OK_COLOR)[OK]$(NO_COLOR)\n
  16. ERROR_STRING=$(ERROR_COLOR)[ERRORS]$(NO_COLOR)\n
  17. WARN_STRING=$(WARN_COLOR)[WARNINGS]$(NO_COLOR)\n
  18. ifndef $(SILENT)
  19. SILENT = false
  20. endif
  21. TAB_LOG = printf "\n$$LOG\n\n" | $(AWK) '{ sub(/^/," | "); print }'
  22. TAB_LOG_PLAIN = printf "$$LOG\n"
  23. AWK_STATUS = $(AWK) '{ printf " %-10s\n", $$1; }'
  24. AWK_CMD = $(AWK) '{ printf "%-99s", $$0; }'
  25. PRINT_ERROR = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG) && exit 1
  26. PRINT_WARNING = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG)
  27. PRINT_ERROR_PLAIN = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN) && exit 1
  28. PRINT_WARNING_PLAIN = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN)
  29. PRINT_OK = $(SILENT) || printf " $(OK_STRING)" | $(AWK_STATUS)
  30. BUILD_CMD = LOG=$$($(CMD) 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING); else $(PRINT_OK); fi;