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