view g23m/system/busyb/tools/cfg_gen.pl @ 227:19f9395bb274

l1tm_func.c: l1tm_mode_set() reconstructed
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 15 Jan 2017 01:07:58 +0000
parents 509db1a7b7b8
children
line wrap: on
line source

my $cfg_dir=$ARGV[0];
my $cfg_string= $cfg_file ;
my $guard_string;
my @files;

shift;

foreach $define (@ARGV)
{
    $define =~ /^(CFG_)?(.*?)_/;
    my $file = $2;
    if (! grep /$file/, @files)
    {
        push @files, $file;
    }
}

foreach $file (sort @files)
{
    my $cfg_string = "\L$file";
    my $cfg_file = "$cfg_dir/$cfg_string.cfg";

    my $guard_string = "\U__${file}_CFG__";

    # open the file
    open (CFG,">$cfg_file")||die "can't open $cfg_file \n";

    # print guard pattern
    print CFG "#ifndef $guard_string\n";
    print CFG "#define $guard_string\n";

    foreach (sort @ARGV)
    {
        if (/^(CFG_)?($file)_(.*?)=(.*)/)
        {
            print CFG "#define $3 $4\n";
        }
    }

    # end guard pattern
    print CFG "#endif /* $guard_string */ \n";

    # close the file
    close CFG;
}