1#!/bin/sh 2 3set -e 4 5oldpwd=$(pwd) 6topdir=$(dirname $0) 7cd $topdir 8 9gtkdocize --docdir libkmod/docs || touch libkmod/docs/gtk-doc.make 10autoreconf --force --install --symlink 11 12libdir() { 13 echo $(cd "$1/$(gcc -print-multi-os-directory)"; pwd) 14} 15 16args="\ 17--prefix=/usr \ 18--sysconfdir=/etc \ 19--libdir=$(libdir /usr/lib) \ 20" 21 22if [ -f "$topdir/.config.args" ]; then 23 args="$args $(cat $topdir/.config.args)" 24fi 25 26if [ ! -L /bin ]; then 27 args="$args \ 28 --with-rootprefix= \ 29 --with-rootlibdir=$(libdir /lib) \ 30 " 31fi 32 33cd $oldpwd 34 35hackargs="--enable-debug --enable-python --with-xz --with-zlib --with-openssl" 36 37if [ "x$1" = "xc" ]; then 38 shift 39 $topdir/configure CFLAGS='-g -O2' $args $hackargs "$@" 40 make clean 41elif [ "x$1" = "xg" ]; then 42 shift 43 $topdir/configure CFLAGS='-g -Og' $args "$@" 44 make clean 45elif [ "x$1" = "xl" ]; then 46 shift 47 $topdir/configure CC=clang CXX=clang++ $args "$@" 48 make clean 49elif [ "x$1" = "xa" ]; then 50 shift 51 $topdir/configure CFLAGS='-g -O2 -Wsuggest-attribute=pure -Wsuggest-attribute=const' $args "$@" 52 make clean 53elif [ "x$1" = "xs" ]; then 54 shift 55 scan-build $topdir/configure CFLAGS='-g -O0 -std=gnu11' $args "$@" 56 scan-build make 57else 58 echo 59 echo "----------------------------------------------------------------" 60 echo "Initialized build system. For a common configuration please run:" 61 echo "----------------------------------------------------------------" 62 echo 63 echo "$topdir/configure CFLAGS='-g -O2' $args" 64 echo 65 echo If you are debugging or hacking on kmod, consider configuring 66 echo like below: 67 echo 68 echo "$topdir/configure CFLAGS='-g -O2' $args $hackargs" 69fi 70