crabs_makefile-5.2 ©2003-2008 - Christophe Cazajus (crabs-mettre_le_signe_at-crabs-world.com)
1 #!/bin/bash 2 # 3 # ============================================================================= 4 # crabs_makefile-5.2 : Makefile pour developpement multi-OS, multi-variants 5 # Copyright (C) 2003-2008 : Christophe Cazajus (crabs-mettre_le_signe_at-crabs-world.com) 6 # 7 # Ce source fait partie d'un projet logiciel libre. Vous pouvez le distribuer 8 # et/ou le modifier en respectant les termes de la GNU General Public License 9 # version 2 ou (suite a votre propre choix) une version ulterieure. 10 # 11 # Ce programme est distribue dans l'espoir qu'il puisse etre utile, mais 12 # sans aucune garantie, meme si il est associe a un produit qui vous en 13 # propose une. Conformez-vous a la GNU General Public License pour avoir 14 # plus de precisions. 15 # 16 # L'auteur ne peut etre tenu responsable de l'utilisation faite des 17 # composantes associees a ce projet (en partie ou dans leur totalite). 18 # 19 # Une copie du fichier de la GNU GPL est fournie dans le repertoire DOC 20 # de ce projet sous le nom gnu_gpl.txt 21 # 22 # ============================================================================= 23 # 24 # 25 # LOCALISATION/INTERNATIONALISATION 26 export TEXTDOMAINDIR=$CRABS_LOCALE 27 export TEXTDOMAIN=crabs_makefile 28 29 check_rep() 30 { 31 local var="$1" ask="$2" def="$3" 32 shift ; shift ; shift 33 line="$ask [$def]" 34 if [ ! -z "$1" ] ; then 35 for a in $* ; do line="$line/$a" ; done 36 fi 37 line="$line ? " 38 while true ; do 39 printf "$line" 40 read answer 41 if [ -z "$answer" ] ; then answer="$def" ; break ; fi 42 if [ ! -z "$1" ] ; then 43 if [ "$answer" = "$def" ] ; then break ; fi 44 for a in $* ; do 45 if [ "$answer" = "$a" ] ; then break 2 ; fi 46 done 47 fi 48 done 49 eval "$var='$answer'" 50 } 51 # 52 # MAIN 53 # 54 use_default=/bin/false 55 if [ "$1" = "-d" ] ; then use_default=/bin/true ; shift ; fi 56 if [ -z "$1" ] ; then 57 PKG_PROJET="$PROJET" 58 else 59 PKG_PROJET="$1" 60 fi 61 if [ -z "$PKG_PROJET" ] ; then 62 echo "$0 [-d] $(gettext 'PROJECT_ROOT_DIR')" >&2 63 echo " $(gettext 'or define PROJET environment variable')" >&2 64 exit 1 65 fi 66 echo "$(gettext 'Process project:') $PKG_PROJET ($OS)" 67 check_rep OK "$(gettext 'Is it ok')" "$(gettext 'Y')" N 68 if [ "$OK" = "N" ] ; then exit 0 ; fi 69 PKG_INSTALL="$PKG_PROJET/ETC/projet-install" 70 if [ ! -f $PKG_INSTALL ] ; then 71 echo "$(gettext 'No projet-install file found')" 72 exit 1 73 fi 74 # found Question in project-install 75 VAR="" 76 while read l ; do 77 if [ -z "$l" ] ; then continue ; fi 78 O_IFS="$IFS" ; IFS=":" ; set $l ; IFS="$O_IFS" 79 if [ "$1" = "Q" ] ; then 80 VAR="$VAR $2" 81 eval "val=$3" 82 echo " + $2='$val'" 83 eval "$2='$val'" 84 fi 85 done < $PKG_INSTALL 86 # if necessary, ask for new values 87 if $use_default ; then 88 echo " + $(gettext 'apply defaults')" 89 else 90 for var in $VAR ; do 91 eval val="\$$var" 92 check_rep "$var" $var $val 93 done 94 fi 95 # apply package installation 96 while read l ; do 97 if [ -z "$l" ] ; then continue ; fi 98 O_IFS="$IFS" ; IFS=":" ; set $l ; IFS="$O_IFS" 99 case "$1" in 100 F) 101 eval "s=$PKG_PROJET/$4" 102 eval "d=$3" 103 [ -d $d ] || mkdir -p $d 104 d="$d/`basename $s`" 105 echo " + $(gettext 'install') $d" 106 cp $s $d 107 chmod $2 $d 108 ;; 109 esac 110 done < $PKG_INSTALL 111
Date de génération : 22/09/2011 21:47