summaryrefslogtreecommitdiffstats
path: root/bin/dependencies
blob: 1c26c6e28d81cc2553389fd71220db788825b1b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/usr/bin/perl -w
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
# All rights reserved.
#
# This file is part of HDF5.  The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the files COPYING and Copyright.html.  COPYING can be found at the root
# of the source code distribution tree; Copyright.html can be found at the
# root level of an installed copy of the electronic HDF5 document set and
# is linked from the top-level documents page.  It can also be found at
# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
# access to either file, you may request a copy from help@hdfgroup.org.
#
my $depend_file;
my $new_depend_file;
my $srcdir;
my $top_srcdir;
my $top_builddir;

while ($_ = shift @ARGV) {
    if (/^--srcdir=([^ \t\n]*)/) {
        $srcdir = $1;
        $srcdir =~ s/\./\\\./g;
    } elsif (/^--top_srcdir=([^ \t\n]*)/) {
        $top_srcdir = $1;

        # Trim off the path name if we're interested in the previous path.
        if ($top_srcdir =~ /\/fortran\/\.\.$/) {
            $top_srcdir =~ s/\/fortran\/\.\.$//;
        } elsif ($top_srcdir =~ /\/c\+\+\/\.\.$/) {
            $top_srcdir =~ s/\/c\+\+\/\.\.$//;
        }

        $top_srcdir =~ s/\./\\\./g;
    } elsif (/^--top_builddir=([^ \t\n]*)/) {
        $top_builddir = $1;
        $top_builddir =~ s/\./\\\./g;
    } else {
        $depend_file = $_;
        $new_depend_file = "$_.new";
        last;
    }
}

open(DEPEND, "<$depend_file") || die "cannot open file $depend_file: $!\n";
open(NEW, ">$new_depend_file") || die "cannot open file $new_depend_file: $!\n";

while (<DEPEND>) {
    s/\.o(\b)/\.lo$1/g;
    s/ $srcdir/ \$\(srcdir\)/g;
    s/ $top_srcdir/ \$\(top_srcdir\)/g;
    s/ $top_builddir/ \$\(top_builddir\)/g;
    print NEW $_;
}

close(DEPEND);
close(NEW);

`mv $new_depend_file $depend_file`;