cmake: Generate vlc_about.h.
[vlc.git] / extras / buildsystem / make.pl
1 #! /usr/bin/perl
2
3 # Attributes
4 $bold = "\033[1m";
5
6 # Colors
7 $white  = "\033[37m";
8 $yellow  = "\033[33m";
9 $magenta  = "\033[35m";
10 $blue  = "\033[34m";
11 $red  = "\033[31m";
12 $reset = "\033[0m";
13
14 # Combinations
15 $info   = $white.$bold;
16 $warn   = $yellow.$bold;
17 $error  = $red.$bold;
18 $file   = $magenta.$bold;
19 $lineno = $blue.$bold;
20
21 while(<STDIN>)
22 {
23      $line = $_;
24      chomp $line;
25      # Skip entering/leaving directories and incomplete lines
26      if(
27         $line =~ /make\[([0-9]*)\]:.*/ ||
28 #       $line =~ /.*\s\\$/ ||
29         $line =~ /^test\s\-z\s/ ||
30         $line =~ /^Making\sclean\sin\s\./ ||
31         $line =~ /then\smv\s-f/ ||
32         $line =~ /.*make\s\s.*/ ||
33         $line =~ /make\s\sall-recursive/ ||
34         $line =~ /[A-z0-9-]*ar\s[A-z0-9]*\s([A-z0-9\-_\/\.]*)\s.*/ ||
35         $line =~ /^[A-z0-9-]*ranlib\s[A-z0-9-_]*plugin(.*)/ ||
36         $line =~ /^touch.*/ ||
37         $line =~ /^srcdir=.*/ ||
38         $line =~ /^.* (lib[A-z0-9-_]*plugin.so).*/ ||
39         $line =~ /^\sgcc\s-std=.*/ ||
40     $line =~ /^\sgcc\s-mmacosx.*/ ||
41     $line =~ /^\sg\+\+\s.*/ ||
42 #    $line =~ /^.*moc.*/ ||
43         $line =~ /^.*libtool.*\-o\s(lib.*\.la).*/ ||
44         $line =~ /^.*rm\s\-f\s(.*)/ ||
45         $line =~ /^rm\s-fr\s(.*)/ ||
46         $line =~ /^creating lib.*/ )
47      {}
48      # Info
49      elsif(
50           $line =~ s/^.*\-shared.*(lib.*\.so).*/ LINK    : $1/g ||
51           $line =~ s/^.* (lib.*\.so).*/ LINK    : $1/g ||
52           $line =~ s/^.* (lib.*\.o)\s\.\/(.*)/ COMPILE : $2/g ||
53           $line =~ s/^.* (lib.*\.o)\s`.*`(.*);\ \\/ COMPILE : $2/ ||
54           $line =~ s/.*\-o\s([^\s]*)\s`.*`([^\s]*);.*/ COMPILE : $2/g ||
55           $line =~ s/^[A-z0-9-]*ranlib\s(.*)/ RANLIB  : $1/g ||
56           $line =~ s/^Making\sall\sin\s(.*)/MAKE     : $1/g ||
57           $line =~ s/^Making\sclean\sin\s(.*)/CLEAN  : $1/g  )
58      {
59         print $info.$line.$reset."\n";
60      }
61      # Warning
62      elsif (
63           $line =~ s/(.*):([0-9]*):\swarning\:(.*)/WARNING : $file$1: $lineno$2: $warn$3/g  ||
64           $line =~ s/.*is\sdeprecated.*/WARNING : $line/g )
65      {
66         print $warn.$line.$reset."\n";
67      }
68      # Error
69      elsif (
70           $line =~ s/(.*):([0-9]*):\serror\:(.*)/ERROR   : $file$1: $lineno$2: $error$3/g  )
71      {
72         print $error.$line.$reset."\n";
73      }
74      # Print unmatched lines
75      else
76      {
77         print $line."\n";
78      }
79 }