46 lines
846 B
Perl
Executable File
46 lines
846 B
Perl
Executable File
#!/usr/bin/perl
|
|
|
|
sub Output
|
|
{
|
|
my ($var, $value) = @_;
|
|
print FD "#ifndef $var\n";
|
|
print FD "#define $var $value\n";
|
|
print FD "#else\n";
|
|
print FD "#undef $var\n";
|
|
print FD "#define $var $value\n";
|
|
print FD "#endif\n\n";
|
|
}
|
|
|
|
($name, $config) = @ARGV;
|
|
$config =~ s/\'/"/g;
|
|
@config = split / /, $config;
|
|
|
|
open FD, ">include/conf_$name.h";
|
|
print FD "/** \n";
|
|
print FD " * \@file conf_$name.h \n";
|
|
print FD " */ \n";
|
|
print FD "#ifndef conf_$name" . "_h\n";
|
|
print FD "#define conf_$name" . "_h\n\n";
|
|
|
|
for ($i = 0; $i < @config; $i++) {
|
|
$_ = $config[$i];
|
|
s/-D//g;
|
|
if ($_){
|
|
if (/=/){
|
|
($var, $value) = ($`, $');
|
|
if(($value =~ y/"//) == 1) {
|
|
do {
|
|
$value .= " " . $config[++$i];
|
|
} while ($i < @config && !($config[$i] =~ /"/));
|
|
}
|
|
Output($var, $value);
|
|
} else {
|
|
Output($_, 1);
|
|
}
|
|
}
|
|
}
|
|
|
|
print FD "#endif\n";
|
|
close FD;
|
|
|