This fixes these warnings from shellcheck:
    ^-- SC2006: Use $(..) instead of deprecated `..`
Update also a comment using the same pattern.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
		
	
			
		
			
				
	
	
		
			31 lines
		
	
	
		
			735 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			735 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
#! /bin/sh
 | 
						|
# Writes a target device config file to stdout, from a default and from
 | 
						|
# include directives therein.  Also emits Makefile dependencies.
 | 
						|
#
 | 
						|
# Usage: make_device_config.sh SRC DEPFILE-NAME DEPFILE-TARGET > DEST
 | 
						|
 | 
						|
src=$1
 | 
						|
dep=$2
 | 
						|
target=$3
 | 
						|
src_dir=$(dirname $src)
 | 
						|
all_includes=
 | 
						|
 | 
						|
process_includes () {
 | 
						|
  cat $1 | grep '^include' | \
 | 
						|
  while read include file ; do
 | 
						|
    all_includes="$all_includes $src_dir/$file"
 | 
						|
    process_includes $src_dir/$file
 | 
						|
  done
 | 
						|
}
 | 
						|
 | 
						|
f=$src
 | 
						|
while [ -n "$f" ] ; do
 | 
						|
  f=$(cat $f | tr -d '\r' | awk '/^include / {printf "'$src_dir'/%s ", $2}')
 | 
						|
  [ $? = 0 ] || exit 1
 | 
						|
  all_includes="$all_includes $f"
 | 
						|
done
 | 
						|
process_includes $src
 | 
						|
 | 
						|
cat $src $all_includes | grep -v '^include'
 | 
						|
echo "$target: $all_includes" > $dep
 |