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