Makefile pour developpement multi-OS, multi-variants

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

~~ / PenvProjet.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/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
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
~~ / PenvProjet.sh

Haut de page

Contacter crabs

Date de génération : 12/09/2009 14:15