#!/bin/bash
# Script to convert defines in compiler option in to C's defines
# Should be executed in make file and it take ccflags-y as the
# compiler options. The content will be redirected to the first arguement.
temp=$1_temp
echo "#ifndef __SSV_CONF_PARSER_H__" > $temp
echo "#define __SSV_CONF_PARSER_H__" >> $temp
echo "char const *conf_parser[] = {" >> $temp
for flag in ${ccflags-y}; do
if [[ "$flag" =~ ^-D.* ]]; then
def=${flag:2}
if [[ "$def" =~ .= ]]; then
def_1=${def/\=/_}
echo "\"$def_1\"," >> $temp
else
echo "\"$def\"," >> $temp
fi
fi
done
echo "\"\"};" >> $temp
echo "#endif // __SSV_CONF_PARSER_H__" >> $temp
if [ -f $1 ];
then
DIFF=$(diff $1 $temp)
if [ "$DIFF" == "" ]; then
rm $temp
else
mv $temp $1
fi
else
mv $temp $1
fi