代码拉取完成,页面将自动刷新
#!/bin/sh
#The real sh not with bash extensions
#for testing use dash as interpreter because sh is often simlinked to bash
HELP(){ echo "$0 [-h] [-f 'file'] [-c 'cflags'] [-l 'ldflags'] [-x 'cross_compiler_prefix-'] cmd ";exit; }
ARG(){ echo $*; }
EXT(){ echo ${1##*.}; }
BASE(){ basename $1 .${1##*.}; }
LS(){ ls $* 2> /dev/null; }
LS1(){ for f in `LS $*`;do echo $f;done }
LS2(){ for e in $*;do LS *.$e;done }
OBJ(){ for f in $*;do echo `basename $f .${f##*.}`.o;done }
EXE(){ for f in $*;do echo `basename $f .${f##*.}`.exe;done }
MAIN(){ grep -sl "^.*[[:space:]]*main[[:space:]]*[^.[:alnum:]]" $*; }
RM(){ rm $* 2>/dev/null; }
CC(){ for f in $*;do echo $CC -c $f;$CC -c $f;done }
LD(){ echo $LD -o $*;$LD -o $*; }
AR(){ echo $AR rcs $*;$AR rcs $*; }
RUN(){ [ -f ./$1 ] && time ./$*; }
mode_gcc(){ echo "mode: gcc";CC=gcc;AR=ar;LD=g++; }
mode_tcc(){ echo "mode: tcc";CC=tcc;AR=tcc -ar;LD=tcc; }
mode_clang(){ echo "mode: clang";CC=clang; }
_init(){
mode_gcc
ext="c cpp"
src=`LS2 $ext`
obj=`OBJ $src`
main=`MAIN $src`
exe=`EXE $main`
files=`LS -t $src $obj $exe`
echo src: $src
echo obj: $obj
echo main: $main
echo exe: $exe
echo files orded by time: $files
}
_build(){ CC $src;LD $exe $obj; }
_run(){ RUN $exe; }
_build_run(){ _build;_run; }
_clean(){ RM $obj; }
_list(){ LS2 "c cpp cxx h hpp"; }
#HELP
while getopts "hf:c:l:x:m:" opt; do
case $opt in
h) HELP;;
f) F="$OPTARG";;
c) CFLAGS="$CFLAGS $OPTARG";;
l) LDFLAGS+="$OPTARG";;
x) X="$OPTARG";;
m) eval "mode_$OPTARG";;
?) echo "Invalid option: -$OPTARG";;
esac
#echo $opt: $OPTARG
done
shift $(($OPTIND - 1))
CMD=$1
shift
[ -z $CMD ] && CMD=_build_run
echo cmd: $CMD [$*]
_init
eval "$CMD"
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。