A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd
at master 48 lines 1.1 kB view raw
1#!/usr/bin/perl 2 3sub getdir { 4 my ($some_dir, $files)=@_; 5 opendir(DIR, $some_dir) || die "can't opendir $some_dir: $!"; 6 my @all = grep { /$files$/ && -f "$some_dir/$_" } readdir(DIR); 7 closedir DIR; 8 return @all; 9} 10 11my @all=getdir(".", "\.c"); 12my @pluginhead=getdir("lib", "\.h"); 13 14for(@pluginhead) { 15 $plug{$_}=$_; 16} 17 18my %head2lib=('Tremor' => 'libTremor'); 19 20my $s; 21foreach $s (sort @all) { 22 23 my $plib=0; 24 my $codec; 25 open(F, "<$s"); 26 while(<F>) { 27 if($_ =~ /^ *\#include [\"<]([^\"]+)[\">]/) { 28 my $f = $1; 29 if($plug{$f}) { 30 $plib=1; 31 } 32 if($f =~ /codecs\/([^\/]+)/) { 33 $codec=$1; 34 my $d = $head2lib{$codec}; 35 if($d) { 36 $codec = $d; 37 } 38 } 39 } 40 } 41 42 #print "$s uses $plib and $codec\n"; 43 44 $s =~ s/\.c//; 45 printf("\$(OBJDIR)/$s.elf: \$(OBJDIR)/$s.o \$(LINKFILE)%s%s\n\t\$(ELFIT)\n\n", 46 $plib?" \$(OBJDIR)/libplugin.a":"", 47 $codec?" \$(OBJDIR)/$codec.a":""); 48}