Blame build.sh

Ivan Mahonin 452870
#!/bin/bash
Ivan Mahonin 452870
Ivan Mahonin 452870
set -e
Ivan Mahonin 452870
Ivan Mahonin 20803a
Ivan Mahonin 20803a
TARGET="coolkbd"
Ivan Mahonin e3897e
FLAGS="$(pkg-config --cflags --libs x11 xft xtst xrandr)"
Ivan Mahonin cbe4b8
FLAGS="$FLAGS -Wall -lm"
Ivan Mahonin 20803a
MODE_FLAGS="-O3 -DNDEBUG"
Ivan Mahonin 40c5fe
DEF_CONFIG="config.h"
Ivan Mahonin 40c5fe
CONFIG="$DEF_CONFIG"
Ivan Mahonin 20803a
Ivan Mahonin 7e0df9
while [ "$#" != "0" ]; do
Ivan Mahonin 7e0df9
  if [ "$1" = "-release" ]; then
Ivan Mahonin 7e0df9
    true
Ivan Mahonin 7e0df9
  elif [ "$1" = "-debug" ]; then
Ivan Mahonin 7e0df9
    echo "debug mode"
Ivan Mahonin 7e0df9
    MODE_FLAGS="-g -O0"
Ivan Mahonin 7e0df9
  elif [ "$1" = "-direct-touch" ]; then
Ivan Mahonin 7e0df9
    FLAGS="$FLAGS -DDIRECT_TOUCH $(pkg-config --cflags --libs mtdev)"
Ivan Mahonin 40c5fe
  elif [ "$1" = "-config" ] && [ -n "$2" ]; then
Ivan Mahonin 40c5fe
    CONFIG="$2"
Ivan Mahonin 40c5fe
    echo "use config $CONFIG"
Ivan Mahonin 40c5fe
    shift
Ivan Mahonin 7e0df9
  elif [ "$1" = "-target" ] && [ -n "$2" ]; then
Ivan Mahonin 7e0df9
    TARGET="$2"
Ivan Mahonin 7e0df9
    shift
Ivan Mahonin 7e0df9
  else
Ivan Mahonin 40c5fe
    echo "usage: ./build.sh [-debug|-release] [-direct-touch] [-config CONFIG.H] [-target TARGET]"
Ivan Mahonin 7e0df9
    exit 1
Ivan Mahonin 7e0df9
  fi
Ivan Mahonin 20803a
  shift
Ivan Mahonin 7e0df9
done
Ivan Mahonin 20803a
Ivan Mahonin 20803a
Ivan Mahonin 40c5fe
if [ "$CONFIG" == "$DEF_CONFIG" ] && [ ! -f "$DEF_CONFIG" ]; then
Ivan Mahonin 40c5fe
  echo "copy $DEF_CONFIG from example"
Ivan Mahonin 40c5fe
  cp config.h.example $DEF_CONFIG
Ivan Mahonin 3c2742
fi
Ivan Mahonin 3c2742
Ivan Mahonin 3c2742
Ivan Mahonin 20803a
echo "build target: $TARGET"
Ivan Mahonin 40c5fe
echo cc main.c $MODE_FLAGS $FLAGS -include "$CONFIG" -o "$TARGET"
Ivan Mahonin 40c5fe
     cc main.c $MODE_FLAGS $FLAGS -include "$CONFIG" -o "$TARGET"
Ivan Mahonin 452870
Ivan Mahonin 452870
Ivan Mahonin 452870
echo done