32 lines
		
	
	
	
		
			742 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			742 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/sh
 | 
						|
# Nico Schottelius
 | 
						|
# cinit: create header file
 | 
						|
# 
 | 
						|
 | 
						|
 | 
						|
CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/*
 | 
						|
 | 
						|
echo "/* Warning: Autogenerated by $0, do not edit. */"
 | 
						|
for conf in $CONFS; do
 | 
						|
   NAME="$(basename $conf | tr a-z A-Z)"
 | 
						|
   value=$(head -n 1 $conf)
 | 
						|
 | 
						|
   # check if numeric: no quotes needed
 | 
						|
   is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }')
 | 
						|
   is_string="$(echo $value | grep '^"')"
 | 
						|
 | 
						|
   #
 | 
						|
   # Check for quote type
 | 
						|
   #
 | 
						|
   if [ ! "$is_numeric" -a ! "$is_string" ]; then
 | 
						|
      one_char=$(echo -n $value | wc -c)
 | 
						|
      
 | 
						|
      if [ "$one_char" -eq 1 ]; then
 | 
						|
         value="'$value'"
 | 
						|
      else
 | 
						|
         # is a string
 | 
						|
         value="\"$value\""
 | 
						|
      fi
 | 
						|
   fi
 | 
						|
   echo "#define" "$NAME" "$value"
 | 
						|
done
 |