]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[build] Include only one copy of each ROM in "make allroms"
authorMichael Brown <mcb30@ipxe.org>
Wed, 30 Mar 2011 14:49:00 +0000 (15:49 +0100)
committerMichael Brown <mcb30@ipxe.org>
Wed, 30 Mar 2011 14:49:00 +0000 (15:49 +0100)
Each PCI ROM currently ends up appearing twice in the $(ROMS) list:
once under its designated name (e.g. "rtl8139.rom"), once under its
PCI IDs (e.g. "bin/10ec8139.rom").

Include only the latter of these in the $(ROMS) list, so that doing
"make allroms" will generate only one copy of each ROM.

Reported-by: Bastian Blank <waldi@debian.org>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/util/parserom.pl

index 578eb1dc1b256a05f30326626d6c5fe26cf4e7af..a37e2a56f68bd7e5987df2df029c65cce46fdbbf 100644 (file)
@@ -18,7 +18,7 @@ open DRV, "<$source" or die "Could not open $source: $!\n";
 my $printed_family;
 
 sub rom {
-  ( my $type, my $image, my $desc, my $vendor, my $device ) = @_;
+  ( my $type, my $image, my $desc, my $vendor, my $device, my $dup ) = @_;
   my $ids = $vendor ? "$vendor,$device" : "-";
   unless ( $printed_family ) {
     print "\n";
@@ -34,8 +34,8 @@ sub rom {
   print "ROM_DESCRIPTION_$image = \"$desc\"\n";
   print "PCI_VENDOR_$image = 0x$vendor\n" if $vendor;
   print "PCI_DEVICE_$image = 0x$device\n" if $device;
-  print "ROMS += $image\n";
-  print "ROMS_$driver_name += $image\n";
+  print "ROMS += $image\n" unless $dup;
+  print "ROMS_$driver_name += $image\n" unless $dup;
 }
 
 while ( <DRV> ) {
@@ -49,8 +49,8 @@ while ( <DRV> ) {
          \s*.*\s*                 # Driver data
        \)/x ) {
     ( my $vendor, my $device, my $image, my $desc ) = ( lc $1, lc $2, $3, $4 );
-    rom ( "pci", $image, $desc, $vendor, $device );
     rom ( "pci", lc "${vendor}${device}", $desc, $vendor, $device );
+    rom ( "pci", $image, $desc, $vendor, $device, 1 );
   } elsif ( /^\s*ISA_ROM\s*\(
              \s*\"([^\"]*)\"\s*,  # Image
              \s*\"([^\"]*)\"\s*   # Description