sub findfile {
my ($name) = @_;
my $dir, $i, $outdir = "";
- $i = 0;
- foreach $dir (@incdirs) {
- $outdir = $dir, $i++ if -f "$dir$name";
+ unless (defined $findfilecache{$name}) {
+ $i = 0;
+ foreach $dir (@incdirs) {
+ $outdir = $dir, $i++ if -f "$dir$name";
+ }
+ die "multiple instances of source file $name\n" if $i > 1;
+ $findfilecache{$name} = $outdir . $name;
}
- die "multiple instances of source file $name\n" if $i > 1;
- return "$outdir$name";
+ return $findfilecache{$name};
}
sub objects {
"\trm -f *.o". (join "", map { " $_" } &progrealnames("XU")) . "\n".
"\n",
"install:\n",
-map("\t\$(INSTALL_PROGRAM) -m 755 $_ \$(bindir)/$_\n", &progrealnames("XU")),
-map("\t\$(INSTALL_DATA) -m 644 $_ \$(man1dir)/$_\n", &manpages("XU", "1")),
+map("\t\$(INSTALL_PROGRAM) -m 755 $_ \$(DESTDIR)\$(bindir)/$_\n", &progrealnames("XU")),
+map("\t\$(INSTALL_DATA) -m 644 $_ \$(DESTDIR)\$(man1dir)/$_\n", &manpages("XU", "1")),
"\n",
"install-strip:\n",
"\t\$(MAKE) install INSTALL_PROGRAM=\"\$(INSTALL_PROGRAM) -s\"\n",