#!/bin/sh
#
#
#  rhctl
#
#  Copyright (C) 2009 Christian Pointner <equinox@spreadspace.org>
#
#  This file is part of rhctl.
#
#  rhctl is free software: you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation, either version 3 of the License, or
#  any later version.
#
#  rhctl is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with rhctl. If not, see <http://www.gnu.org/licenses/>.
#

TARGET=`uname -s`

CFLAGS='-g -O2'
LDFLAGS='-g -Wall -O2'

PREFIX='/usr/local'
USERNAME='rhctl'
USERHOME='/var/run/rhctl'

print_usage() {
  echo "configure --help                    print this"
  echo "          --target=<TARGET>         build target i.e. Linux (default: autodetect)"
  echo "          --prefix=<PREFIX>         the installation prefix (default: /usr/local)"
  echo "          --username=<USERNAME>     create this user when installing (default: rhctl)"
  echo "          --userhome=<PATH>         the home directory of the user to be created  (default: /var/run/rhctl)"
}

for arg
do
  case $arg in
  --target=*)
    TARGET=${arg#--target=}
  ;;
  --prefix=*)
    PREFIX=${arg#--prefix=}
  ;;
  --username=*)
    USERNAME=${arg#--username=}
  ;;
  --userhome=*)
    USERHOME=${arg#--userhome=}
  ;;
  --help)
    print_usage
    exit 0
  ;;
  *)
    echo "Unknown argument: $arg"
    print_usage
    exit 1
  ;;
  esac
done

rm -f include.mk
case $TARGET in 
  Linux)
    echo "Linux specific build options"
  ;;
  OpenBSD|FreeBSD|NetBSD)
    echo "BSD specific build options"
    CFLAGS=$CFLAGS' -I/usr/local/include'
    LDFLAGS=$LDFLAGS' -L/usr/local/lib'
  ;;
  *)
    echo "Plattform not supported"
    exit 1;
  ;;
esac

if [ "x$PREFIX" = "x/usr" ]; then
 ETCDIR=/etc
else
 ETCDIR=$PREFIX/etc
fi

cat >> include.mk <<EOF
# this file was created automatically
# do not edit this file directly 
# use ./configure instead

TARGET := $TARGET
CC := gcc
CFLAGS := $CFLAGS
LDFLAGS := $LDFLAGS

SBINDIR := $PREFIX/sbin
MANDIR := $PREFIX/share/man
ETCDIR := $ETCDIR
USERNAME := $USERNAME
USERHOME := $USERHOME
EOF

exit 0