Makefile pour developpement multi-OS, multi-variants

crabs_makefile-5.2 ©2003-2008 - Christophe Cazajus (crabs-mettre_le_signe_at-crabs-world.com)

~~ / Pinstall.sh
Makefile include.LINUX include.SOLARIS include.CGI include.CGI_BIN include.XPI xpi_rdf.xsl Pdepend.c Pinfo.c PrelativeHome.c PrelativePath.c Pprojetgpl.c Prelative.c PinfoGPL.sh PgenInfo_c.sh PenvProjet.sh Pinfo2html.sh Pinstall.sh PgenInfo_include.sh projet.env crabs_mk.sh crabs_mk.csh fr/crabs_makefile.po Makefile.SOLARIS
    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 
Makefile include.LINUX include.SOLARIS include.CGI include.CGI_BIN include.XPI xpi_rdf.xsl Pdepend.c Pinfo.c PrelativeHome.c PrelativePath.c Pprojetgpl.c Prelative.c PinfoGPL.sh PgenInfo_c.sh PenvProjet.sh Pinfo2html.sh Pinstall.sh PgenInfo_include.sh projet.env crabs_mk.sh crabs_mk.csh fr/crabs_makefile.po Makefile.SOLARIS
~~ / Pinstall.sh

Haut de page

Contacter crabs

Date de génération : 22/09/2011 21:47