Files
rtems/tools/cpu/sh/shgen.c
Joel Sherrill fa21a8439f New files from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. His comments:
* c/src/exec/score/tools/sh - NEW DIRECTORY - contains shgen
    Most of it should be self-explanatory. I am a little bit concerned about
    host-dependent features (getopt, floating point libraries). This
    shouldn't disturb much now, as this tool should be compileable on all
    gnu-based hosts and is only applicable for the sh. But in case somebody
    complains, we may need to add autoconf checks or even restructurize
    parts of rtems (IMO, rtems needs to be restructurized - remember the
    "turning rtems upside down" issue).
1998-07-17 15:17:29 +00:00

66 lines
1.4 KiB
C

/*
* Copyright (c) 1998 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
*
* See the file COPYING for copyright notice.
*/
#include <stdio.h>
#include <string.h> /* strcmp, strerror */
#include <errno.h>
#include <getopt.h>
#include "sci.h"
static void usage( char *prog )
{
fprintf( stderr, "usage: %s [options] driver\n", prog );
fprintf( stderr, "options:\n" );
fprintf( stderr, "\t-M Phi .. processor frequency [MHz] default: 20\n" );
fprintf( stderr, "driver:\n" );
fprintf( stderr, "\tsci .. bitrate table for sci\n" );
exit ( 1 );
}
static void shgen_header( FILE *file )
{
fprintf( file,
"/*\n * DO NOT EDIT - this file is automatically generated by shgen\n" );
fprintf( file,
" * Copyright (c) 1998, Ralf Corsepius (corsepiu@faw.uni-ulm.de)\n */\n" );
fprintf( file,
"\n/* This file is not copyrighted */\n\n" );
}
int main( int argc, char *argv[] )
{
double Phi = 20.0 ;
while ( ( optopt = getopt( argc, argv, "M:" ) ) > 0 )
{
switch ( optopt )
{
case 'M' :
sscanf( optarg, "%lf", &Phi );
Phi = Phi * 1000000.0;
break ;
default :
usage( argv[0] );
break ;
}
}
if ( argc - optind != 1 )
usage( argv[0] );
shgen_header( stdout );
if ( strcmp( argv[optind], "sci" ) == 0 )
{
shgen_gensci( stdout, Phi );
}
else
usage( argv[0] );
return 0 ;
}