|
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
|