自定义Make函数
在makefile中可以使用define
关键字来支持自定义函数;
语法规则
define func
echo $(0) $(1)
endef
注:$(0)
默认是函数名,从$(1)
开始为函数参数;
用法示例
PRINTF_COLOR_FRONT_BLACK = "\033[0;30m"
PRINTF_COLOR_FRONT_HIGHT_BLACK = "\033[1;30m"
PRINTF_COLOR_FRONT_RED = "\033[0;31m"
PRINTF_COLOR_FRONT_HIGHT_RED = "\033[1;31m"
PRINTF_COLOR_FRONT_GREEN = "\033[0;32m"
PRINTF_COLOR_FRONT_HIGHT_GREEN = "\033[1;32m"
PRINTF_COLOR_FRONT_YELLOW = "\033[0;33m"
PRINTF_COLOR_FRONT_HIGHT_YELLOW = "\033[1;33m"
PRINTF_COLOR_FRONT_BLUE = "\033[0;34m"
PRINTF_COLOR_FRONT_HIGHT_BLUE = "\033[1;34m"
PRINTF_COLOR_FRONT_PURPLE = "\033[0;35m"
PRINTF_COLOR_FRONT_HIGHT_PURPLE = "\033[1;35m"
PRINTF_COLOR_FRONT_CYAN = "\033[0;36m"
PRINTF_COLOR_FRONT_HIGHT_CYAN = "\033[1;36m"
PRINTF_COLOR_FRONT_GRAY = "\033[0;37m"
PRINTF_COLOR_FRONT_HIGHT_GRAY = "\033[1;37m"
PRINTF_COLOR_FRONT_WHITE = "\033[0;37m"
PRINTF_COLOR_FRONT_HIGHT_WHITE = "\033[1;37m"
PRINTF_COLOR_FRONT_NODE = "\033[0m"
PRINTF_HIDE = "\033[8m"
PRINTF_CLEAR = "\033[2j"
PRINTF_CLEAR_LINE = "\015\033[K"
PRINTF_END = $(PRINTF_COLOR_FRONT_NODE)
define PRINT_TEST
@echo "["$(PRINTF_COLOR_FRONT_HIGHT_GREEN) $(0) $(PRINTF_END)"]" $(1)
endef
.PHONY: test
test:
@$(call PRINT_TEST, $@)