IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

[LaTeX] Problème de Makefile


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 178
    Par défaut [LaTeX] Problème de Makefile
    Bonjour,

    je suis en train de rédiger mon rapport de stage, et je rencontre un problème avec le Makefile chargé de compiler les images (.dia, notamment), afin que ces dernières puissent être incluses dans le rapport (\includegraphics...).

    En effet, un Makefile au niveau du document maître appelle le Makefile des images, mais même lorsque je lance le Makefile des images, rien ne se passe...

    Je vous donne le code du Makefile à la racine du rapport :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    all: rapport.pdf
     
    rapport.pdf: lesimages rapport.tex
            pdflatex rapport.tex
            makeindex rapport .glo -s rapport.ist -t rapport.glg -o rapport.gls
            pdflatex rapport.tex
     
    lesimages:
            cd images; make all
     
    clean:
            cd images; make clean
            rm -f rapport.pdf rapport.aux rapport.log rapport.toc rapport.out
    et le Makefile des images (dans le dossier images/) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    FICHIERS_PDF =
     
    .SUFFIXES : .pdf .eps .tex .fig .dia
     
    all: ${FICHIERS_PDF}
     
    .eps.pdf:
            epstopdf $*.eps
     
    .fig.pdf:
            fig2dev -L pdf $*.fig $*.pdf
     
    .dia.eps:
            dia --export=$*.eps --filter=eps-pango $*.dia
     
    clean:
            rm -f ${FICHIERS_PDF}
    Quand je tente de compiler directement les images (cd images puis make), voilà ce qui m'est retourné :
    make: Rien à faire pour « all ».

    Or, pour vous prouver ma bonne foi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    florent@LaPtoP:~/Desktop/rapport/images$ ls -All
    total 224
    -rw-r--r-- 1 florent florent 187746 2008-07-06 11:13 logoasi.png
    -rw-r--r-- 1 florent florent  13200 2008-03-29 18:06 logo_insa.png
    -rw-r--r-- 1 florent florent  10212 2008-09-13 15:48 logo_pucemuse.jpg
    -rw-r--r-- 1 florent florent    234 2008-09-19 00:50 Makefile
    -rw-r--r-- 1 florent florent   1465 2008-09-19 00:44 mvc.dia
    Je ne suis pas très rompu aux Makefile, merci de votre aide !

    Rolf

  2. #2
    Membre émérite
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Par défaut
    Ton "make all" dans le images/ tente de contruire les dépendances de all c'est-à-dire $FICHERS_PDF qui est vide !

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 178
    Par défaut
    justement, je me doutais que c'était bizarre...
    mais je dois mettre quoi ? (désolé, les Makefile et moi, ça fait trois)






    (euh, le singe à trois têtes de ton avatar, c'est celui de Monkey Island ?? )

  4. #4
    Membre émérite
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Par défaut
    Soit tu fais d'une manière pas-très-propre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FICHIER_PDF=logoasi.pdf logo_insa.pdf logo_pucemuse.pdf mvc.pdf
    Soit tu essayes un peu (grâce à http://gl.developpez.com/tutoriel/outil/makefile/ et http://www.gnu.org/software/make/manual/make.html)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FICHIER_FROM_JPG=$(subst(.jpg,.pdf,wildchar *.jpg))
    etc. pour tous tes types puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FICHIER_PDF="${FICHIER_FROM_JPG} ${..."
    Par contre je ne vois pas de règle pour les fichiers .png...
    Question subsidiaire: yep, c'est bien lui

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 178
    Par défaut
    le png est juste une solution de facilité, ils sont inclus directement...

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 178
    Par défaut
    j'ai lu ce que tu m'as envoyé, et j'ai essayé de m'en inspirer pour modifier le Makefile...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    SRC_FIG=$(wildcard *.fig)
    SRC_EPS=$(wildcard *.eps)
    SRC_DIA=$(wildcard *.dia)
     
    FICHIERS_PDF= $(SRC_FIG:.fig=.pdf) $(SRC_EPS:.eps=.pdf) $(SRC_DIA:.dia=.pdf)
     
    all: $(FICHIERS_PDF)
     
    .eps.pdf:
    	epstopdf $*.eps
     
    .fig.pdf:
    	fig2dev -L pdf $*.fig $*.pdf
     
    .dia.eps:
    	dia --export=$*.eps --filter=eps-pango $*.dia
    seulement, quand je tape make (depuis le dossier image), il me répond :
    make: *** Pas de règle pour fabriquer la cible « mvc.pdf », nécessaire pour « all ». Arrêt.

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 178
    Par défaut
    pas d'idées ?

  8. #8
    Membre émérite
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Par défaut
    quick'n'dirty fix: tu ajoute une regle .dia.pdf qui fait les deux commandes...
    Ou sinon tu ajoute un $(SRC_DIA:.dia=.eps) a all avant le $FICHIER_PDF ou dans celui-ci avant le .dia=.pdf

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 178
    Par défaut
    snif, ça marche pas, malgré les modifs...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    SRC_FIG=$(wildcard *.fig)
    SRC_DIA=$(wildcard *.dia)
     
    FICHIERS_PDF= $(SRC_FIG:.fig=.pdf) $(SRC_DIA:.dia=.pdf)
     
    all: $(FICHIERS_PDF)
     
    .dia.pdf:
            dia --export=$*.eps --filter=eps-pango $*.dia
            epstopdf $*.eps
     
    .fig.pdf:
            fig2dev -L pdf $*.fig $*.pdf
     
    clean:
            rm -rf *.eps
    voilà ce qu'il me crache :
    make: *** Pas de règle pour fabriquer la cible « mvc.pdf », nécessaire pour « all ». Arrêt.

  10. #10
    Membre émérite
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Par défaut
    Bizarre, bizarre. Effectivement il semblerait que la règle .dia.pdf ne soit pas vue. Je n'utilise que les règles:
    Là ça devrait marcher. Et pas besoin de forcer le .dia.pdf (mon dernier post):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    SRC_FIG=$(wildcard *.fig)
    SRC_EPS=$(wildcard *.eps)
    SRC_DIA=$(wildcard *.dia)
     
    FICHIERS_PDF= $(SRC_FIG:.fig=.pdf) $(SRC_EPS:.eps=.pdf) $(SRC_DIA:.dia=.pdf)
     
    all: $(FICHIERS_PDF)
     
    %.pdf: %.eps
    	epstopdf $*.eps
     
    %.pdf: %.fig
    	fig2dev -L pdf $*.fig $*.pdf
     
    %.eps: %.dia
    	dia --export=$*.eps --filter=eps-pango $*.dia

  11. #11
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 178
    Par défaut
    yeah, it works !
    (après installation du paquet texlive-extra-utils pour avoir la commande epstopdf)


    je vais p'têt en profiter pour poser une petite question purement LaTeX...
    comment faire en sorte que ?> soit affiché correctement dans un \section{} ??
    malgré de nombreuses tentatives (insertion d'un \ ..., utilisation de \verb#?># - qui passe pas à la compil -, ....), j'obtiens deux points d'interrogation (le premier normal, le deuxième à l'envers)...


    en tous cas, merci beaucoup de ton aide !

  12. #12
    Membre Expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Par défaut
    Citation Envoyé par Rolf-IV Voir le message
    comment faire en sorte que ?> soit affiché correctement dans un \section{} ??
    malgré de nombreuses tentatives (insertion d'un \ ..., utilisation de \verb#?># - qui passe pas à la compil -, ....), j'obtiens deux points d'interrogation (le premier normal, le deuxième à l'envers)...
    Pour les questions LaTeX, il y a un forum dédié.

    Ceci étant dit, essaye
    ou bien protège la commande \verb:
    (pour une raison obscure, il refuse les # chez moi...)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Makefile] Problème lancement Makefile dans Shell
    Par domiq44 dans le forum Systèmes de compilation
    Réponses: 14
    Dernier message: 29/11/2006, 15h17
  2. Problème de makefile (Eclipse CDT)
    Par david cap dans le forum Eclipse C & C++
    Réponses: 3
    Dernier message: 23/11/2006, 11h17
  3. Problème avec Makefile
    Par beb30 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 02/03/2006, 15h02
  4. [Dev-cpp]Problème de Makefile
    Par gege2061 dans le forum Dev-C++
    Réponses: 2
    Dernier message: 15/02/2005, 11h19
  5. Problème avec makefile
    Par snooopppp dans le forum Systèmes de compilation
    Réponses: 3
    Dernier message: 22/02/2004, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo