crabs_makefile-5.2 ©2003-2008 - Christophe Cazajus (crabs-mettre_le_signe_at-crabs-world.com)
1 #!/bin/sh 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 # PenvProjet.sh PROJET PREFIX_VAR [SUFFIX=...] 25 if [ -z "$1" -o -z "$2" ] ; then 26 echo "$0 PROJET PREFIX_VAR [SUFFIX=...]" 1>&2 27 exit 1 28 fi 29 script="/tmp/PenvProjet.awk.$$" 30 newenv="/tmp/PenvProjet.env.$$" 31 PROJET="$1" 32 PREFIX="$2" 33 PENV=$PROJET_MK/projet.env 34 lib="${PREFIX}_LIB" 35 inc="${PREFIX}_INC" 36 vlib="${PROJET}/LIB/\$(OS)/\$(VARIANT)" 37 vinc="-I$1/INCLUDE" 38 mlib="\$($lib)" 39 SUB="$inc" 40 SUB="$SUB $lib" 41 echo "END {" >> $script 42 echo " print \"$inc=$vinc\" ;" >> $script 43 echo " print \"$lib=$vlib\" ;" >> $script 44 shift 45 shift 46 while [ ! -z "$1" ] ; do 47 suffix="`echo "$1" | cut -d= -f1`" 48 val="`echo "$1" | cut -d= -f2- | sed 's?%l?'$mlib'?g'`" 49 var="${PREFIX}_$suffix" 50 echo " print \"$var=$val\" ;" >> $script 51 SUB="$SUB $var" 52 shift 53 done 54 echo " }" >> $script 55 for s in $SUB ; do 56 echo "\$1==\"$s\" { next ; }" >> $script 57 done 58 echo "{ print }" >> $script 59 awk -F= -f $script < $PENV > $newenv 60 mv $newenv $PENV 61 rm $script 62 cat $PENV
Date de génération : 22/09/2011 21:47