#!/usr/bin/env sh set -e SRC=src BUILD=.build/ CC=gcc build() { FILE=$1 ADDRESS=$2 PORT=$3 OUT=.build/${FILE} IN=src/${FILE} mkdir -p .build gcc -std=gnu99 -O3 -Wno-builtin-declaration-mismatch ${SRC}/lib/*.c ${IN} -o ${OUT} ./${OUT} ${ADDRESS} ${PORT} } case $2 in [0-9]*.[0-9]*.[0-9]*.[0-9]*) ADDRESS=$2 ;; [0-9]*) PORT=$2 ;; *) ADDRESS=127.0.0.1 esac case $3 in [0-9]*.[0-9]*.[0-9]*.[0-9]*) ADDRESS=$3 ;; [0-9]*) PORT=$3 ;; *) PORT=42069 ;; esac case $1 in edevice.py) build edevice.c ${ADDRESS} ${PORT} ;; cluster.py) build cluster.c ${ADDRESS} ${PORT} ;; *) echo "You must provide a file." exit 1 ;; esac