- join(" ", map { my $x = $_;
- $x =~ s|\.ld$|$defext|;
- $x }
- @generated ) -}
-
-INSTALL_LIBS={- join(" ", map { lib($_) } @{$unified_info{install}->{libraries}}) -}
-INSTALL_SHLIBS={- join(" ", map { shlib($_) } @{$unified_info{install}->{libraries}}) -}
-INSTALL_SHLIB_INFO={- join(" ", map { "\"".shlib($_).";".shlib_simple($_)."\"" } @{$unified_info{install}->{libraries}}) -}
-INSTALL_ENGINES={- join(" ", map { dso($_) } @{$unified_info{install}->{engines}}) -}
-INSTALL_PROGRAMS={- join(" ", map { $_.$exeext } @{$unified_info{install}->{programs}}) -}
-{- output_off() if $disabled{apps}; "" -}
-BIN_SCRIPTS=$(BLDDIR)/tools/c_rehash
-MISC_SCRIPTS=$(BLDDIR)/apps/CA.pl $(BLDDIR)/apps/tsget.pl:tsget
-{- output_on() if $disabled{apps}; "" -}
+ join(" ", map { platform->convertext($_) } @generated ) -}
+
+INSTALL_LIBS={-
+ join(" ", map { platform->staticlib($_) // () }
+ grep { !$unified_info{attributes}->{$_}->{noinst} }
+ @{$unified_info{libraries}})
+-}
+INSTALL_SHLIBS={-
+ join(" ", map { platform->sharedlib($_) // () }
+ grep { !$unified_info{attributes}->{$_}->{noinst} }
+ @{$unified_info{libraries}})
+-}
+INSTALL_SHLIB_INFO={-
+ join(" ", map { my $x = platform->sharedlib($_);
+ my $y = platform->sharedlib_simple($_);
+ $x ? "\"$x;$y\"" : () }
+ grep { !$unified_info{attributes}->{$_}->{noinst} }
+ @{$unified_info{libraries}})
+-}
+INSTALL_ENGINES={-
+ join(" ", map { platform->dso($_) }
+ grep { !$unified_info{attributes}->{$_}->{noinst}
+ && $unified_info{attributes}->{$_}->{engine} }
+ @{$unified_info{modules}})
+-}
+INSTALL_PROGRAMS={-
+ join(" ", map { platform->bin($_) }
+ grep { !$unified_info{attributes}->{$_}->{noinst} }
+ @{$unified_info{programs}})
+-}
+BIN_SCRIPTS={-
+ join(" ", map { my $x = $unified_info{attributes}->{$_}->{linkname};
+ $x ? "$_:$x" : $_ }
+ grep { !$unified_info{attributes}->{$_}->{noinst}
+ && !$unified_info{attributes}->{$_}->{misc} }
+ @{$unified_info{scripts}})
+-}
+MISC_SCRIPTS={-
+ join(" ", map { my $x = $unified_info{attributes}->{$_}->{linkname};
+ $x ? "$_:$x" : $_ }
+ grep { !$unified_info{attributes}->{$_}->{noinst}
+ && $unified_info{attributes}->{$_}->{misc} }
+ @{$unified_info{scripts}})
+-}