1
by Adam Conrad
Import upstream version 5.0.5 |
1 |
# +----------------------------------------------------------------------+
|
2 |
# | PHP Version 5 |
|
|
3 |
# +----------------------------------------------------------------------+
|
|
1.1.2
by Adam Conrad
Import upstream version 5.1.2 |
4 |
# | Copyright (c) 2000-2006 The PHP Group |
|
1
by Adam Conrad
Import upstream version 5.0.5 |
5 |
# +----------------------------------------------------------------------+
|
1.1.2
by Adam Conrad
Import upstream version 5.1.2 |
6 |
# | This source file is subject to version 3.01 of the PHP license, |
|
1
by Adam Conrad
Import upstream version 5.0.5 |
7 |
# | that is bundled with this package in the file LICENSE, and is |
|
8 |
# | available through the world-wide-web at the following url: |
|
|
1.1.2
by Adam Conrad
Import upstream version 5.1.2 |
9 |
# | http://www.php.net/license/3_01.txt |
|
1
by Adam Conrad
Import upstream version 5.0.5 |
10 |
# | If you did not receive a copy of the PHP license and are unable to |
|
11 |
# | obtain it through the world-wide-web, please send a note to |
|
|
12 |
# | license@php.net so we can mail you a copy immediately. |
|
|
13 |
# +----------------------------------------------------------------------+
|
|
14 |
# | Author: Sascha Schumann <sascha@schumann.cx> |
|
|
15 |
# +----------------------------------------------------------------------+
|
|
16 |
#
|
|
0.9.2
by Ondřej Surý
Import upstream version 5.4.1~rc1 |
17 |
# $Id$
|
1
by Adam Conrad
Import upstream version 5.0.5 |
18 |
#
|
19 |
# Usage:
|
|
20 |
#
|
|
21 |
# echo top_srcdir top_builddir srcdir CPP [CPP-ARGS] filenames | \
|
|
22 |
# awk -f mkdep.awk > dependencies
|
|
23 |
||
24 |
||
25 |
{
|
|
26 |
top_srcdir=$1 |
|
27 |
top_builddir=$2 |
|
28 |
srcdir=$3 |
|
29 |
cmd=$4 |
|
30 |
||
31 |
for (i = 5; i <= NF; i++) { |
|
32 |
if (match($i, "^-[A-Z]") == 0) |
|
33 |
break; |
|
34 |
cmd=cmd " " $i |
|
35 |
}
|
|
36 |
||
37 |
dif=i-1 |
|
38 |
||
39 |
for (; i <= NF; i++) |
|
40 |
filenames[i-dif]=$i |
|
41 |
||
42 |
no_files=NF-dif |
|
43 |
||
44 |
for(i = 1; i <= no_files; i++) { |
|
45 |
if (system("test -r " filenames[i]) != 0) |
|
46 |
continue
|
|
47 |
||
48 |
target=filenames[i] |
|
49 |
sub(srcdir "/", "", target) |
|
50 |
target2=target |
|
51 |
sub("\.(c|cpp)$", ".lo", target); |
|
52 |
sub("\.(c|cpp)$", ".slo", target2); |
|
53 |
||
54 |
for (e in used) |
|
55 |
delete used[e] |
|
56 |
||
57 |
cmdx=cmd " " filenames[i] |
|
58 |
done=0 |
|
59 |
while ((cmdx | getline) > 0) { |
|
60 |
if (match($0, "^# [0-9]* \".*\.h\"") != 0) { |
|
61 |
if (sub(top_srcdir, "$(top_srcdir)", $3) == 0) |
|
62 |
sub(top_builddir, "$(top_builddir)", $3) |
|
63 |
if (substr($3,2,1) != "/" && used[$3] != 1) { |
|
64 |
if (done == 0) |
|
65 |
printf(target " " target2 ":") |
|
66 |
done=1 |
|
67 |
printf(" \\\n\t" substr($3,2,length($3)-2)) |
|
68 |
used[$3] = 1; |
|
69 |
}
|
|
70 |
}
|
|
71 |
}
|
|
72 |
if (done == 1) |
|
73 |
print "\n" |
|
74 |
}
|
|
75 |
}
|