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