Set debug off Mode reset tput sgr0 Mode red tput setaf 1 Mode red-b tput setaf 1; tput bold Mode green tput setaf 2 Mode green-b tput setaf 2; tput bold Mode yellow tput setaf 3 Mode yellow-b tput setaf 3; tput bold Mode blue tput setaf 4 Mode blue-b tput setaf 4; tput bold Mode violet tput setaf 5 Mode violet-b tput setaf 5; tput bold Mode cyan tput setaf 6 Mode cyan-b tput setaf 6; tput bold Mode white tput setaf 7 Mode gray tput setaf 8 Hi counter green Hi toolname yellow Hi cfile blue-b Hi ofile cyan Hi resname blue Hi outofile cyan-b Hi makepath violet Hi makedance violet-b Hi makefile violet Hi llibname blue Hi warnfunc violet Hi warnfuncname violet-b Hi warnfile green Hi warnline green-b Hi errorfile red Hi errorline red-b Hi errormake red-b Hi alibname blue Hi symver blue-b # Count gcc warnings Counter "Number of warnings:" "^.*:[[:digit:]]*: warning: " # gcc -c -o file.o file.c Match "^(gcc) .* \-c \-o ([[:graph:]]*\.o)( .* |[[:space:]])([[:graph:]]*\.c)" MatchHi "toolname:outofile:NONE:cfile" # linux kernel ... gcc -c -o file.o file.c Match "[[:space:]]*(gcc) .* \-c \-o ([[:graph:]]*\.o) ([[:graph:]]*\.c)" MatchHi "toolname:outofile:cfile" # libtool: -c -o file.o file.c Match "^(libtool): .* \-c ([[:graph:]]*\.c) (.* )*\-o ([[:graph:]]*\.o)" MatchHi "toolname:cfile:NONE:outofile" # gcc -o program file.o [file.o ...] -llibname Match "^(gcc|libtool)[: ].* \-o ([[:graph:]]*) (([[:graph:]]*\.(o|so)[[:space:]]*)+) ((\-l[[:graph:]]* ?)+)" MatchHi "toolname:resname:ofile:llibname" # gcc -o program file.o [file.o ...] Match "^(gcc|libtool)[: ].* \-o ([[:graph:]]*) (([[:graph:]]*\.(o|so)[[:space:]])+)" MatchHi "toolname:resname:ofile" # gcc -c ... file.c file.o Match "^(gcc) -c .* ([[:graph:]]*\.c) -o ([[:graph:]]*\.o) MatchHi "toolname:cfile:outofile" # ar Match "^(ar) .* ([[:graph:]]*\.a) (([[:graph:]]*\.o[[:space:]]*)+)" MatchHi "toolname:alibname:ofile" # libtool: link: ar cru libname.a .libs/file.o Match "^(libtool): .* (ar).*([[:graph:]]*\.a)[[:space:]]*(([[:graph:]]*\.o[[:space:]]*)+)" MatchHi "toolname:toolname:alibname:ofile" # libtool: link: ranlib libname.a Match "^(libtool): .* (ranlib) ([[:graph:]]*\.a)" MatchHi "toolname:toolname:alibname" # libtool: link: gcc ... -shared ... file.o -llibname -Wl,--version-script=foo # -o .libs/libblkid.so.1.99.0 Match "^(libtool): .* \-shared[[:space:]]*(([[:graph:]]*\.o )+).*((\-l[[:graph:]]* ?)+).*\-\-version\-script=([[:graph:]]*).*\-o ([[:graph:]]*)" MatchHi "toolname:ofile:llibname:symver:resname" # make Entering|Leaving '/path/to/dir' Match "^(make.*): ((Entering|Leaving) directory) `(/[^[:blank:]]*)'" MatchHi "toolname:makedance:makepath" # linux kernel: make -f scripts/Makefile.build obj=arch/x86/mm Match "^(make) \-f ([^[:space:]]*) obj=([^[:space:]]*) MatchHi "toolname:makefile:makedance" # mv [-f] source dest Match "^(mv) " MatchHi "toolname" # rm [-rf] filename Match "^([[:space:]]?rm) " MatchHi "toolname" # filename.c: In function 'funcname': Match "^(.*: In function ‘)(.*)(’:)" MatchHi "warnfunc:warnfuncname:warnfunc" # filename.c:line: warning: bla bla Match "^(.*:)([[:digit:]]*)(: warning:)" MatchHi "warnfile:warnline:warnfile" # filename:line: error: bla bla Match "^(.*:)([[:digit:]]*)(: error:) " MatchHi "errorfile:errorline:errorfile" # make: Error Match "^(make): (.* Error .*)" MatchHi "toolname:errormake" # fallbacks... file.o [file.o ..] -llibname -o lib.so Match "(([[:graph:]]*\.(o|so)[[:space:]])+)((\-l[[:graph:]]* ?)+).*\-o ([[:graph:]]*)" MatchHi "ofile:llibname:resname" #Match "(gcc|libtool|flex|bison|mv|ln|install)" #MatchHi "toolname"