#!/usr/bin/perl # # x2b.pl -- (c) Chris Gerber, 1998 # # This is a kludge. You have been warned. # $usage = "$0 (xbm file) (output file) [-r] [-xN] [-yN]\n"; $header = ">xbm2bin.h"; if ($#ARGV < 1) { print $usage; exit( 1 ); } else { process_args(); } $xbm_file =~ /(\w*)\.xbm$/i; $prefix = $1; print "Coding...\n"; open( H_FILE, $header ) || die "Failed to open $header.\n"; print H_FILE "#include \"$xbm_file\"\n"; print H_FILE "#define BITS $prefix","_bits\n"; print H_FILE "#define WIDTH $prefix","_width\n"; print H_FILE "#define HEIGHT $prefix","_height\n"; print H_FILE "#define DEBUG\n" if $DEBUG; close( H_FILE ); $comp_cmd = "cc -Aa -o xbm2bin xbm2bin.c"; $comp_cmd .= " -DDEBUG" if $DEBUG; print "Compiling...\n % $comp_cmd\n"; print `$comp_cmd`; $run_cmd = "xbm2bin $out_file $options"; print "Running...\n % $run_cmd\n"; print `$run_cmd`; print "Done.\n"; sub process_args { my $i = 2; $xbm_file = $ARGV[0]; $out_file = $ARGV[1]; $options = ""; while ($i <= $#ARGV) { if ($ARGV[$i] =~ /^-D/) { $DEBUG = 1; } else { $options .= $ARGV[$i] . " "; } $i++; } } |