X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/projects.git/blobdiff_plain/0b8ae20fd3339cdb7b02aa37ec295cb0ceca6380..821fa83fccab0589fb06f6c111768dfcb78bf4f7:/tools/make/configure diff --git a/tools/make/configure b/tools/make/configure index 2382c1d..2eb9f91 100755 --- a/tools/make/configure +++ b/tools/make/configure @@ -3,17 +3,35 @@ set -e function echo_usage { echo "usage: configure [options] " - echo " -a " - echo " -b : extern build in ../build directory" - echo " -c " - echo " -C " - echo " -i : install dir. default: /" - echo " -I : print this info" - echo " -t default: NONE" - echo " -v : set version" - echo " -V : version set by project" + echo "--- general options ---" + echo " -h : print this info" + echo "--- compile options ---" + echo " -a " + echo " -c default: NONE" + echo " -C " + echo " -d " + echo " -e " + echo "--- build target options ---" + echo " -i : install dir. default: /, nec. for make install" + echo " -n : default: " + echo " -t , nec. for make pack" + echo " -v : set version" + echo " -V : version set by project" } +function create_build { + pushd $BUILD_DIR >/dev/null + if [ "$compile_type" == "PDF" ] + then + echo "cd $compile_dir" > debian/$paket.build + echo "make $compile_target" >> debian/$paket.build + chmod 755 debian/$paket.build + else + echo "build for compile_type not implemented." + exit 10 + fi + popd >/dev/null +} function cmake_check { pushd ../build >/dev/null # do checks @@ -56,6 +74,14 @@ function check_unversioned { echo "debian.*" >> .cm.ignore echo "up.*" >> .cm.ignore fi + + # add auto created files to .cm.ignore + if ! grep Makefile .cm.ignore >/dev/null ; then echo "Makefile" >>.cm.ignore; fi + if ! grep configure .cm.ignore >/dev/null ; then echo "configure" >>.cm.ignore; fi + if ! grep debian/rules .cm.ignore >/dev/null ; then echo "debian/rules" >>.cm.ignore; fi + if ! grep debian/rules.pre .cm.ignore >/dev/null ; then echo "debian/rules.pre" >>.cm.ignore; fi + if ! grep debian/setenv.sh .cm.ignore >/dev/null ; then echo "debian/setenv.sh" >>.cm.ignore; fi + if ! grep debian/tmp .cm.ignore >/dev/null ; then echo "debian/tmp" >>.cm.ignore; fi project=$(pwd) project=${project##*/} @@ -63,7 +89,7 @@ function check_unversioned { mCM $project -b -an > /dev/null wc=$(wc $project.batch) rm $project.batch - if [ "${wc:0:5}" != "0 0 0" ] + if [ "${wc:0:1}" != "1" ] then echo "M" fi @@ -126,6 +152,23 @@ function check_version { fi } +function add_sources { + echo "Anz: $#" + for suf in $* + do + find . -name "*.$suf" -exec echo " "{}" \\" >> make.pre \; + done + if [ $# -eq 2 ] + then + rm make.tmp || true + find . -name "*.$2" -exec echo {} >> make.tmp \; + while read line + do + echo " ${line/\.$2/\.$1} \\" >> make.pre + done < make.tmp + fi +} + ############################################################################## # Main program ############################################################################## @@ -136,23 +179,29 @@ extern_build=0 while [ $OPTIND -le "$#" ] do - if getopts "a:bB:C:i:It:v:V" opt + if getopts "ha:bc:C:d:e:i:n:t:v:V" opt then case $opt in + h) echo_usage + exit 0 + ;; a) ARCH=$OPTARG ;; b) extern_build=1 ;; - c) compile_dir=$OPTARG + c) compile_type=$OPTARG ;; C) cross=$OPTARG ;; + d) compile_dir=$OPTARG + ;; + d) compile_target=$OPTARG + ;; i) install_dir=$OPTARG ;; - I) echo_usage - exit 0 + n) target_name=$OPTARG ;; - t) compile_type=$OPTARG + t) target_type=$OPTARG ;; v) optversion=$OPTARG ;; @@ -180,10 +229,10 @@ then fi # read build configuration, if existing -if [ -f debian/$paket.conf ] -then - . debian/$paket.conf -fi +#if [ -f debian/$paket.conf ] +#then +# . debian/$paket.conf +#fi if [ -n "$ARCH" -a -n "$cross" ] then @@ -316,7 +365,7 @@ else fi # .build - if [ "$compile_type" != "CMAKE" ] + if [ "$compile_type" != "CMAKE" -a "$compile_type" != "ANY" ] then cp debian/rules.pre $BUILD_DIR/$compile_dir/make.pre pushd $BUILD_DIR/$compile_dir >/dev/null @@ -332,16 +381,25 @@ else fi popd >/dev/null fi - - if [ -x debian/$paket.build ] + + if [ "$compile_type" == "PDF" ] then - if [ -x debian/$paket.prebuild ] - then - pushd $BUILD_DIR >/dev/null - . debian/setenv.sh - debian/$paket.prebuild - popd >/dev/null - fi + pushd $BUILD_DIR/$compile_dir >/dev/null + echo "SOURCES = \\" >> make.pre + add_sources tex xml + echo >> make.pre + popd >/dev/null + fi + if [ -x debian/$paket.prebuild ] + then + pushd $BUILD_DIR >/dev/null + . debian/setenv.sh + debian/$paket.prebuild + popd >/dev/null + fi + if ! [ -x debian/$paket.build -o -f debian/$paket.cmake ] + then + create_build fi # .cmake