#!/bin/bash # Compile script for MO-P # 2015 - Jan Hadrava die() { echo "$@" >&2 exit 1 } [ -n "$1" ] || die "Usage: compile []" if [ "${1%.*}" == "$1" ]; then die "Source file must have suffix. Can not compile." else src="$1" [ -f "$src" ] || die "File \"$src\" doesn't exist" bin="${1%.*}" ext="${1##*.}" shift cflags="$@" case "$ext" in c) comm="gcc -static -DEVAL -O2 -std=gnu11 $cflags $src -o ${bin} -lm" ;; cpp) comm="g++ -static -DEVAL -O2 -std=gnu++0x $cflags $src -o ${bin}" ;; pas) comm="fpc $cflags -XS -dEVAL -O2 -o${bin} $src";; *) die "Unknown suffix \"$ext\"." esac echo -e '\e[0;32m'"Compiling..."'\e[0m' >&2 echo -e '\e[0;33m'"$comm"'\e[0m' >&2 $comm && echo -e '\e[0;32m'"Done."'\e[0m' >&2 || die -e '\e[0;31m'"Compilation failed!"'\e[0m' fi