forked from len0rd/rockbox
		
	that are the plugins. Not used by anything just yet. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6149 a1c6a512-1295-4272-9138-f99709370657
		
			
				
	
	
		
			48 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
| #!/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":"");
 | |
| }
 |