小编hel*_*_23的帖子

Makefile警告和错误的颜色突出显示

我写了一个工作正常的Makefile; 我只是将其中一部分发布到调查中:

BUILD_PRINT = @echo -e "\e[1;34mBuilding $<\e[0m"
COMPILE_cpp = $(CXX) $(CFLAGS) -o $@ -c $< $(MAKEDEP) $(INCLUDES)
%.o : %.cpp
    $(BUILD_PRINT)
    $(COMPILE_cpp)
.SUFFIXES: .o .cpp
Run Code Online (Sandbox Code Playgroud)

我想强调编译器给出的警告和错误,而不使用外部工具(如colorgcc或CMake); 我认为破解它的一个好方法是通过" bash脚本技巧 ".查看在" 如何突出显示输出中的警告和错误行"中发布的解决方案我尝试过以下方法:

pathpat="(/[^/]*)+:[0-9]+"
ccred=$(echo -e "\033[0;31m")
ccyellow=$(echo -e "\033[0;33m")
ccend=$(echo -e "\033[0m")

BUILD_PRINT = @echo -e "\e[1;34mBuilding $<\e[0m"
COMPILE_cpp = $(CXX) $(CFLAGS) -o $@ -c $< $(MAKEDEP) $(INCLUDES)
%.o : %.cpp
    $(BUILD_PRINT)
    $(COMPILE_cpp) 2>&1 | sed -e "/[Ee]rror[: ]/ s%$pathpat%$ccred&$ccend%g" -e "/[Ww]arning[: ]/ s%$pathpat%$ccyellow&$ccend%g" echo "${PIPESTATUS[0]}"
.SUFFIXES: .o …
Run Code Online (Sandbox Code Playgroud)

linux bash makefile sed colors

16
推荐指数
2
解决办法
2万
查看次数

标签 统计

bash ×1

colors ×1

linux ×1

makefile ×1

sed ×1