mirror of
https://git.proxmox.com/git/pve-docs
synced 2025-10-04 19:31:41 +00:00
scan-adoc-refs: cleanup makefile generation
This commit is contained in:
parent
f50e5e3a3c
commit
221527df67
121
scan-adoc-refs
121
scan-adoc-refs
@ -329,6 +329,40 @@ foreach my $e (@$start_env) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $makevar_hash = {};
|
||||||
|
|
||||||
|
sub makevar_define {
|
||||||
|
my ($varname) = @_;
|
||||||
|
|
||||||
|
die "makefile variable '$varname' already defined\n"
|
||||||
|
if exists($makevar_hash->{$varname});
|
||||||
|
|
||||||
|
$makevar_hash->{$varname} = {};
|
||||||
|
}
|
||||||
|
|
||||||
|
sub makevar_list_add {
|
||||||
|
my ($varname, $value) = @_;
|
||||||
|
|
||||||
|
die "makefile variable '$varname' not defined\n"
|
||||||
|
if !exists($makevar_hash->{$varname});
|
||||||
|
|
||||||
|
$makevar_hash->{$varname}->{$value} = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub makevar_dump {
|
||||||
|
my $txt = '';
|
||||||
|
|
||||||
|
foreach my $varname (sort keys %$makevar_hash) {
|
||||||
|
$txt .= "$varname =";
|
||||||
|
foreach my $value (sort keys %{$makevar_hash->{$varname}}) {
|
||||||
|
$txt .= " \\\n\t$value";
|
||||||
|
}
|
||||||
|
$txt .= "\n\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
return $txt;
|
||||||
|
}
|
||||||
|
|
||||||
if ($generate_depends) {
|
if ($generate_depends) {
|
||||||
|
|
||||||
my $tmpfilename = "${generate_depends}.tmp";
|
my $tmpfilename = "${generate_depends}.tmp";
|
||||||
@ -345,8 +379,6 @@ if ($generate_depends) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
my $res = '';
|
|
||||||
|
|
||||||
my $depend_varname_hash = {};
|
my $depend_varname_hash = {};
|
||||||
|
|
||||||
foreach my $fn (sort keys %$depends) {
|
foreach my $fn (sort keys %$depends) {
|
||||||
@ -354,19 +386,24 @@ if ($generate_depends) {
|
|||||||
$basename =~s/\.adoc$//i;
|
$basename =~s/\.adoc$//i;
|
||||||
$basename =~s/[^A-Za-z0-9]/_/g;
|
$basename =~s/[^A-Za-z0-9]/_/g;
|
||||||
|
|
||||||
my $var1text = "${basename}_ADOCSOURCES =";
|
my $varname1 = "${basename}_ADOCSOURCES";
|
||||||
my $var2text = "${basename}_ADOCDEPENDS = \$\{${basename}_ADOCSOURCES\}";
|
my $varname2 = "${basename}_ADOCDEPENDS";
|
||||||
$depend_varname_hash->{$fn} = "${basename}_ADOCDEPENDS";
|
|
||||||
|
makevar_define($varname1);
|
||||||
|
makevar_define($varname2);
|
||||||
|
|
||||||
|
$depend_varname_hash->{$fn} = $varname2;
|
||||||
|
|
||||||
|
makevar_list_add($varname1, $fn);
|
||||||
|
makevar_list_add($varname2, "\$\{$varname1\}");
|
||||||
|
|
||||||
foreach my $dep (sort keys %{$depends->{$fn}}) {
|
foreach my $dep (sort keys %{$depends->{$fn}}) {
|
||||||
if ($dep =~ m/-(opts|synopsis).adoc$/) {
|
if ($dep =~ m/-(opts|synopsis).adoc$/) {
|
||||||
$var2text .= " \\\n\t$dep";
|
makevar_list_add($varname2, $dep);
|
||||||
} else {
|
} else {
|
||||||
$var1text .= " \\\n\t$dep";
|
makevar_list_add($varname1, $dep);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$res .= "$var1text\n\n";
|
|
||||||
$res .= "$var2text\n\n";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
my $man_sources_hash = {};
|
my $man_sources_hash = {};
|
||||||
@ -380,6 +417,38 @@ if ($generate_depends) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $varname = "MANUAL_SOURCES";
|
||||||
|
makevar_define($varname);
|
||||||
|
foreach my $sourcefile (sort keys %$man_sources_hash) {
|
||||||
|
makevar_list_add($varname, $sourcefile);
|
||||||
|
}
|
||||||
|
|
||||||
|
$varname = "CHAPTER_LIST";
|
||||||
|
makevar_define($varname);
|
||||||
|
my $filelist = $fileinfo->{outfile}->{default};
|
||||||
|
foreach my $sourcefile (sort keys %$filelist) {
|
||||||
|
my $target = $filelist->{$sourcefile};
|
||||||
|
makevar_list_add($varname, $target);
|
||||||
|
}
|
||||||
|
|
||||||
|
$varname = "MANUAL_PAGES";
|
||||||
|
makevar_define($varname);
|
||||||
|
$filelist = $fileinfo->{outfile}->{manvolnum};
|
||||||
|
foreach my $manpage (sort keys %$filelist) {
|
||||||
|
my $target = $filelist->{$manpage};
|
||||||
|
makevar_list_add($varname, $target);
|
||||||
|
}
|
||||||
|
|
||||||
|
$varname = "WIKI_IMPORTS";
|
||||||
|
makevar_define($varname);
|
||||||
|
$filelist = $fileinfo->{outfile}->{wiki};
|
||||||
|
foreach my $sourcefile (sort keys %$filelist) {
|
||||||
|
my $target = $filelist->{$sourcefile};
|
||||||
|
makevar_list_add($varname, $target);
|
||||||
|
}
|
||||||
|
|
||||||
|
my $res = makevar_dump();
|
||||||
|
|
||||||
my $make_targets = {};
|
my $make_targets = {};
|
||||||
foreach my $e (@$start_env) {
|
foreach my $e (@$start_env) {
|
||||||
my $filelist = $fileinfo->{outfile}->{$e};
|
my $filelist = $fileinfo->{outfile}->{$e};
|
||||||
@ -399,40 +468,6 @@ if ($generate_depends) {
|
|||||||
$res .= "$target: $dep\n\n";
|
$res .= "$target: $dep\n\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
my $varname = "MANUAL_SOURCES";
|
|
||||||
$res .= "$varname =";
|
|
||||||
foreach my $sourcefile (sort keys %$man_sources_hash) {
|
|
||||||
$res .= " \\\n\t$sourcefile";
|
|
||||||
}
|
|
||||||
$res .= "\n\n";
|
|
||||||
|
|
||||||
$varname = "CHAPTER_LIST";
|
|
||||||
$res .= "$varname =";
|
|
||||||
my $filelist = $fileinfo->{outfile}->{default};
|
|
||||||
foreach my $sourcefile (sort keys %$filelist) {
|
|
||||||
my $target = $filelist->{$sourcefile};
|
|
||||||
$res .= " \\\n\t$target";
|
|
||||||
}
|
|
||||||
$res .= "\n\n";
|
|
||||||
|
|
||||||
$varname = "MANUAL_PAGES";
|
|
||||||
$res .= "$varname =";
|
|
||||||
$filelist = $fileinfo->{outfile}->{manvolnum};
|
|
||||||
foreach my $manpage (sort keys %$filelist) {
|
|
||||||
my $target = $filelist->{$manpage};
|
|
||||||
$res .= " \\\n\t$target";
|
|
||||||
}
|
|
||||||
$res .= "\n\n";
|
|
||||||
|
|
||||||
$varname = "WIKI_IMPORTS";
|
|
||||||
$res .= "$varname =";
|
|
||||||
$filelist = $fileinfo->{outfile}->{wiki};
|
|
||||||
foreach my $sourcefile (sort keys %$filelist) {
|
|
||||||
my $target = $filelist->{$sourcefile};
|
|
||||||
$res .= " \\\n\t$target";
|
|
||||||
}
|
|
||||||
$res .= "\n\n";
|
|
||||||
|
|
||||||
print $outfh $res;
|
print $outfh $res;
|
||||||
close($outfh);
|
close($outfh);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user