#!/usr/bin/perl
# hexify.pl
# Takes a list of filenames on stdin and create a C data array for each one.
# Copyright Dan Kegel 2005
# Licensed under LGPL

# no input record separator
undef $/;

foreach $file (@ARGV) {
       open FILE, $file || die;
       binmode FILE;

       # munge filename into C variable name
       $varname = $file;
       $varname =~ s/\./_/;

       print "const static char name_$varname"."[] = \"$file\";\n";
       print "const static char file_$varname"."[] = {\n";
       while (read(FILE, $buffer, 16)) {
               $buffer =~ s/(.|\n)/'0x' . unpack('H2', $1).', '/ge;
               print "\t$buffer\n";
       }
       close FILE;

       print "};\n\n";
}
