blob: e163cba0843defef35847013ff267a767eb0b8f4 (
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
#!/usr/bin/env perl
use strict;
use Getopt::Long;
my $output;
my $version;
my $docbook;
my $html;
my $xml;
my $plaintext;
my $no_split;
my $no_headers;
Getopt::Long::Configure('pass_through');
Getopt::Long::GetOptions(
'output=s' => \$output,
'version' => \$version,
'no-split' => \$no_split,
'no-headers' => \$no_headers,
'docbook' => \$docbook,
'html' => \$html,
'xml' => \$xml,
'plaintext' => \$plaintext
);
if ($version)
{
print "makeinfo (OpenWrt stub) 4.13\n";
exit 0;
}
sub output_filename
{
my $path = shift || return;
my $name = $path;
my $setfile;
if (open F, "< $path")
{
while (defined(my $line = readline F))
{
if ($line =~ /\@setfilename\s+(\S+)/)
{
$setfile = $1;
$setfile =~ s!^.+/!!;
last;
}
}
close F;
}
$name =~ s!^.+/!!;
$name =~ s!\.[^.]+$!!;
if ($html)
{
$setfile =~ s!\.[^.]+$!! if $setfile;
if ($no_split)
{
return $setfile ? "$setfile.html" : "$name.html" unless $output;
return $output;
}
return $setfile ? "$setfile/index.html" : "$name/index.html" unless $output;
return "$output/index.html";
}
elsif ($xml || $docbook)
{
$setfile =~ s!\.[^.]+$!! if $setfile;
return $setfile ? "$setfile.xml" : "$name.info" unless $output;
return $output;
}
elsif ($plaintext)
{
return ($output || "-");
}
return ($output || $setfile || "$name.info");
}
foreach my $arg (@ARGV)
{
next unless -f $arg;
my $out = output_filename($arg);
if ($out =~ m!^(.+/)[^/]+$!)
{
system("mkdir", "-p", $1);
}
my $fd = \*STDOUT;
if ($out ne "-" && !$no_headers)
{
open $fd, "> $out" || die "Can't open $out: $!\n";
}
if ($html || $xml || $docbook)
{
print $fd "<!-- Dummy output for $arg -->\n";
}
else
{
print $fd "Dummy output for $arg\n";
}
close $fd;
}
|