#!/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;