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" 36 37if [ "x$1" = "xc" ]; then 38 $topdir/configure CFLAGS='-g -O2' $args 39 make clean 40elif [ "x$1" = "xg" ]; then 41 $topdir/configure CFLAGS='-g -Og' $args 42 make clean 43elif [ "x$1" = "xl" ]; then 44 $topdir/configure CC=clang CXX=clang++ $args 45 make clean 46elif [ "x$1" = "xa" ]; then 47 $topdir/configure CFLAGS='-g -O2 -Wsuggest-attribute=pure -Wsuggest-attribute=const' $args 48 make clean 49elif [ "x$1" = "xs" ]; then 50 scan-build $topdir/configure CFLAGS='-g -O0 -std=gnu11' $args 51 scan-build make 52else 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" 64fi 65