#!/bin/bash set -e builddir= install=no while [ $# -gt 0 ]; do case "$1" in --build-dir) if [ $# -lt 2 ]; then echo "ERROR: missing argument for --build-dir option" >&2 exit 1 fi builddir=$2 shift 2 ;; --install) install=yes shift ;; --) shift break; ;; *) echo "ERROR: Unexpected argument: $1" >&2 exit 1 esac done if [ -z "${builddir}" ]; then echo "ERROR: --build-dir option not specified" >&2 exit 1 fi if [ -e "${builddir}" ]; then echo "ERROR: directory entry named '${builddir}' already exists" >&2 exit 1 fi mkdir "${builddir}" cd "${builddir}" cflags="-O2" # enable extra warnings cflags+=" -Winline" cflags+=" -Wmissing-include-dirs" cflags+=" -Wnested-externs" cflags+=" -Wpointer-arith" cflags+=" -Wredundant-decls" cflags+=" -Wswitch-enum" echo "" echo "Configuring ..." CFLAGS="${cflags}" ../configure --enable-examples-build --enable-tests-build "$@" echo "" echo "Building ..." make -j4 -k if [ "${install}" = "yes" ]; then echo "" echo "Installing ..." make install fi