#!/bin/ksh # Par Julien MOREAU ( jmoreau@bigfoot.com ) nbps=0 # Nombre de paramètres souhaités (sans option) mf=Makefile # Nom du fichier généré nom_cmde=`basename $0` # Nom de la commande usage="Usage: $nom_cmde [-h]" # Message d'aide usage=$usage"\n\tAffiche ce message d'aide.\n" usage=$usage"\nUsage: $nom_cmde [ ...]" usage=$usage"\n\tMake maker : le générateur de $mf." if [ $# -ne $nbps -o "$1" = "-h" ] ; then # Vérifie le nb de paramètres echo $usage 1>&2 ; exit 1 # Affichage aide puis arrêt fi echo "#\n# Makefile\tgenerated with $nom_cmde\t( jmoreau@bigfoot.com )\n#\n">$mf function renseigne { if [ $# -ne 2 ] ; then echo "Erreur fonction $0 : $1 non renseigné." 1>&2 ; exit 2 fi var="$1" ; comm="$2" echo $comm ; read rep } echo "Nom du compilateur ? \c" ; read compil echo "Options de compilation ? \c" ; read optc echo "Extension des fichiers sources ? \c" ; read exts echo "Extension des fichiers intermédiaires ? \c" ; read exti echo "Lanceur si nécessaire ? \c" ; read run echo "Nom de l'exécutable (ou classe principale) ? \c" ; read main echo "Options d'exécution ? \c" ; read opte exec >> $mf echo "COMPIL\t= $compil\t\t\t# Nom du compilateur" echo "OPTC\t= $optc\t# Options de compilation" echo "EXTS\t= $exts\t\t\t# Extension des fichiers sources" echo "EXTI\t= $exti\t\t\t# Extension des fichiers intermédiaires" echo "RUN\t= $run\t\t\t# Lanceur si nécessaire" echo "EXEC\t= $main\t\t# Nom de l'exécutable (ou classe principale)" echo "OPTE\t= $opte\t\t\t# Options d'exécution" echo listi="" for f in *.$exts ; do f2="${f%.}.$exti" # Nom du fichier intermédiaire listi="$listi $f2" echo "$f2:" echo "\t\$(COMPIL) \$(OPTC)" done echo "\nclean:" echo "\trm -f *.$exti\n" echo "all: $mf$listi" echo "\t\$(EXEC)\n" echo "run:" echo "\t\$(RUN) \$(OPTE) \$(EXEC)\n" if test "$exts" = "java" ; then # Java doc si c'est du java : dirdoc="../Doc/" optdoc="-d $dirdoc -version -author -private" if [ ! -d "$dirdoc" ] ; then mkdir "$dirdoc" ; fi echo "doc:" echo "\tjavadoc $optdoc *.java\n" fi exit 0 # Sortie sans erreur