#! /bin/sh # usage: ./build [{dev,prod}] set -efu main() { case ${1-dev} in dev) build_dev;; prod) build_prod;; *) echo "$0: bad mode: $1" >&2; exit 1;; esac } build_dev() { ghc -Wall \ -i$HOME/stockholm/tv/5pkgs/haskell/xmonad-tv/src \ -isrc \ -odir tmp \ -hidir tmp \ src/main.hs \ -threaded \ -O0 \ -o tmp/main } # TODO for prod, don't -i external packages (libraries) build_prod() { ghc -Wall \ -i$HOME/stockholm/tv/5pkgs/haskell/xmonad-tv/src \ -isrc \ -odir tmp \ -hidir tmp \ src/main.hs \ -threaded \ -O3 \ -o tmp/main } main "$@"