gentvals.sh

来自「这个是LINUX下的GDB调度工具的源码」· Shell 代码 · 共 75 行

SH
75
字号
#!/bin/sh# Usage: gentvals.sh target type dir files pattern cpptarget=$1type=$2dir=$3# FIXME: Would be nice to process #include's in these files.files=$4pattern=$5cpp=$6# FIXME: need trap to remove tmp files.rm -f tmpvals.list tmpvals.uniqfor f in $filesdo	if test -f $dir/$f ; then		grep "#define[ 	]$pattern" $dir/$f | sed -e "s/^.*#define[ 	]\($pattern\)[ 	]*\([^ 	][^ 	]*\).*$/\1/" >> tmpvals.list	fidonesort <tmpvals.list | uniq >tmpvals.uniqrm -f tmpvals.hfor f in $filesdo	if test -f $dir/$f ; then		echo "#include <$f>" >>tmpvals.h	fidonecat tmpvals.uniq |while read symdo	echo "#ifdef $sym" >>tmpvals.h	echo 'DEFVAL { "'$sym'", '$sym ' },' >>tmpvals.h	echo "#endif" >>tmpvals.hdoneif test -z "$target"then	echo "#ifdef ${type}_defs"else	echo "#ifdef NL_TARGET_$target"	echo "#ifdef ${type}_defs"fifor f in $filesdo	if test -f $dir/$f ; then		echo "/* from $f */"	fidoneif test -z "$target"then	echo "/* begin $type target macros */"else	echo "/* begin $target $type target macros */"fi$cpp -I$dir tmpvals.h | grep DEFVAL | sed -e 's/DEFVAL//' -e 's/  / /'if test -z "$target"then	echo "/* end $type target macros */"	echo "#endif"else	echo "/* end $target $type target macros */"	echo "#endif"	echo "#endif"firm -f tmpvals.list tmpvals.uniq tmpvals.h

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?