2013-03-03 11:19:50 +01:00
|
|
|
#!/bin/sh
|
|
|
|
|
2016-10-12 09:16:48 +02:00
|
|
|
if [ $# -eq 0 ]; then
|
|
|
|
cat <<EOF>&2
|
2016-06-23 23:18:36 +02:00
|
|
|
Usage: ${0##*/} FILE [CFLAGS]
|
2013-06-25 22:56:10 +02:00
|
|
|
|
|
|
|
Simulate a C interpreter by compiling, executing and removing file in one run.
|
|
|
|
EOF
|
2014-11-12 16:15:39 +01:00
|
|
|
exit
|
2013-03-03 11:19:50 +01:00
|
|
|
fi
|
|
|
|
|
2013-10-23 10:37:55 +02:00
|
|
|
[ -z "$CC" ] && CC=gcc
|
2013-03-03 11:19:50 +01:00
|
|
|
INPUT="$1"
|
|
|
|
|
|
|
|
shift
|
2016-06-23 23:18:36 +02:00
|
|
|
[ $# -eq 0 ] && set -- -Wall -Wextra -Wshadow -pthread -lm -g3 -O0
|
2013-03-03 11:19:50 +01:00
|
|
|
|
2013-05-31 19:01:32 +02:00
|
|
|
FILE="$(mktemp)"
|
2016-06-23 23:18:36 +02:00
|
|
|
echo "==> $CC \"$INPUT\" -o \"$FILE\" $*"
|
2013-03-03 11:19:50 +01:00
|
|
|
|
2016-06-23 23:18:36 +02:00
|
|
|
$CC "$INPUT" -o "$FILE" "$@"
|
2013-03-03 11:19:50 +01:00
|
|
|
|
|
|
|
echo "==> $FILE"
|
|
|
|
"$FILE"
|
|
|
|
rm "$FILE"
|