xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/ssv6xxx/parser-conf.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1#!/bin/bash
2# Script to convert defines in compiler option in to C's defines
3# Should be executed in make file and it take ccflags-y as the
4# compiler options. The content will be redirected to the first arguement.
5
6temp=$1_temp
7
8echo "#ifndef __SSV_CONF_PARSER_H__" > $temp
9echo "#define __SSV_CONF_PARSER_H__" >> $temp
10
11echo "char const *conf_parser[] = {" >> $temp
12
13for flag in ${ccflags-y}; do
14	if [[ "$flag" =~ ^-D.* ]]; then
15		def=${flag:2}
16        if [[ "$def" =~ .= ]]; then
17            def_1=${def/\=/_}
18            echo "\"$def_1\"," >> $temp
19        else
20		    echo "\"$def\"," >> $temp
21        fi
22	fi
23done
24
25echo "\"\"};" >> $temp
26
27echo "#endif // __SSV_CONF_PARSER_H__" >> $temp
28if [ -f $1 ];
29then
30	DIFF=$(diff $1 $temp)
31	if [ "$DIFF" == "" ]; then
32    		rm $temp
33	else
34    		mv $temp $1
35	fi
36else
37	mv $temp $1
38fi
39