emu_cc.sh
来自「OTP是开放电信平台的简称」· Shell 代码 · 共 73 行
SH
73 行
#! /bin/shTOOLDIR=$ERL_TOP/erts/etc/win32/cygwin_tools/vcCOFFIX=$TOOLDIR/coffixWTOOLDIR=`(cygpath -d $TOOLDIR 2>/dev/null || cygpath -w $TOOLDIR)`# Do primitive 'make'newer_exe=`find $TOOLDIR -newer $COFFIX.c -name coffix.exe -print`if [ -z $newer_exe ]; then echo recompiling $COFFIX.exe cl.exe -Fe${WTOOLDIR}\\coffix.exe ${WTOOLDIR}\\coffix.c rm -f $COFFIX.obj coffix.obj $COFFIX.pdb coffix.pdbfi# Try to find out the output filename and remove it from command lineCMD=""OUTFILE=""INFILE=""SKIP_COFFIX=falsewhile test -n "$1" ; do x="$1" case "$x" in -o/*) OUTFILE=`echo $x | sed 's,^-[Io]\(/.*\),\1,g'`;; -o) shift OUTFILE=$1;; -MM) SKIP_COFFIX=true CMD="$CMD \"$x\"";; *.c) INFILE="$INFILE $x"; CMD="$CMD \"$x\"";; *) CMD="$CMD \"$x\"";; esac shiftdoneif [ -z "$INFILE" ]; then echo 'emu_cc.sh: please give an input filename for the compiler' >&2 exit 1fi if [ -z "$OUTFILE" ]; then OUTFILE=`echo $INFILE | sed 's,\.c$,.o,'`fiif [ $SKIP_COFFIX = false ]; then n=`echo $INFILE | wc -w`; if [ $n -gt 1 ]; then echo "emu_cc.sh:Error, multiple sources, one object output."; exit 1; fi TEMPFILE=/tmp/tmp_emu_cc$$.o if [ "X$EMU_CC_SH_DEBUG_LOG" != "X" ]; then echo "gcc -o $TEMPFILE -D__WIN32__ -DWIN32 -DWINDOWS -fomit-frame-pointer $CMD" >> $EMU_CC_SH_DEBUG_LOG 2>&1 fi eval gcc -o $TEMPFILE -D__WIN32__ -DWIN32 -DWINDOWS -fomit-frame-pointer $CMD RES=$? if [ $RES = 0 ]; then $COFFIX.exe -e `(cygpath -d $TEMPFILE 2>/dev/null || cygpath -w $TEMPFILE)` RES=$? if [ $RES = 0 ]; then cp $TEMPFILE $OUTFILE else echo "emu_cc.sh: fatal: coffix failed!" >&2 fi fi rm -f $TEMPFILE exit $RESelse eval gcc -D__WIN32__ -DWIN32 -DWINDOWS -fomit-frame-pointer $CMD 2>/dev/null exit $?fi
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?