3 # Copyright 1999, 2000, 2001 Patrik Stridvall
5 # This library is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU Lesser General Public
7 # License as published by the Free Software Foundation; either
8 # version 2.1 of the License, or (at your option) any later version.
10 # This library is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 # Lesser General Public License for more details.
15 # You should have received a copy of the GNU Lesser General Public
16 # License along with this library; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 $0 =~ m%^(.*?/?tools)/winapi/make_filter$%;
24 require "$1/winapi/setup.pm";
28 &file_absolutize &file_normalize
29 $current_dir $wine_dir
31 use output qw($output);
32 use make_filter_options qw($options);
34 use make_parser qw($directory $tool $file $line $message);
36 if($options->progress) {
37 $output->enable_progress;
39 $output->disable_progress;
42 ########################################################################
44 ########################################################################
46 my $command = $options->make . " " . join(" ", $options->arguments);
47 open(IN, "($command) 2>&1 |");
52 if(!&make_parser::line($_)) {
58 if($directory && $directory ne "." && $file !~ m%^/%) {
59 $output->write(&file_normalize("$directory/$file") . ":$line: $message\n");
61 $output->write("$file:$line: $message\n");
64 if($directory && $directory ne "." && $file !~ m%^/%) {
65 $output->write(&file_normalize("$directory/$file") . ": $message\n");
67 $output->write("$file: $message\n");
70 if($directory && $directory ne ".") {
71 $output->write("$directory: $tool: $message\n");
73 $output->write("$tool: $message\n");
75 $output->write("$message\n");
78 } elsif($tool eq "make") {
79 if($directory && $directory ne ".") {
80 $output->progress("$directory: make");
87 $output->hide_progress();