|
@@ -0,0 +1,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;
|
|
|
+}
|