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

Systèmes de compilation Discussion :

verifier l'existence d'un fichier avec le makefile


Sujet :

Systèmes de compilation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Rcanada
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 130
    Par défaut verifier l'existence d'un fichier avec le makefile
    Bonjour !
    Je voudrais savoir s'il est possible (et dans ce cas comment faire) de vérifier la présence d'un fichier dans le repertoire courant avec le makefie.

    Je m'explique :

    J'ai un programme c a compiler, appelé toto.c par exemple, et ensuite, lorsque j'execute ce programme, celui ci utilise un autre fichier executable, toto2. Je voudrais donc que lorsque l'utilisateur lance la compilation avec le makefile, celui ci vérifie automatiquement si le fichier toto2 est bien présent dans le repertoire courant (où se trouve toto.c), et dans le cas contraire affiche un message ou annule la compilation.

    Est ce possible de faire ça avec le makefile ? Si oui comment faire ?

    Merci d'avance

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    ton problème n'est pas clair...

    Tu parles de fichier .c, puis d'exécutables, puis de vérification runtime...

    Expose clairement ton problème...

  3. #3
    Membre confirmé Avatar de Rcanada
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 130
    Par défaut
    Tres bien,j'ai peut etre pas été assez clair, donc je reformule.
    J'ai un fichier toto.c. Je veux le compiler avec un makefile pour avoir un fichier executable toto.
    Ensuite, ce fichier executable lance un autre executable (à l'aide d'un execvp pour ceux qui connaissent) appelé toto2. Ce 2e executable est deja compilé avant et n'a pas besoin d'être recompilé.
    Lors de la compilation du fichier toto.c avec le makefile, je voudrais vérifier que le ficheir toto2 est bien présent dans le meme repertoire que le fichier toto.c.

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Rcanada
    J'ai un fichier toto.c. Je veux le compiler avec un makefile pour avoir un fichier executable toto.
    Ensuite, ce fichier executable lance un autre executable (à l'aide d'un execvp pour ceux qui connaissent) appelé toto2. Ce 2e executable est deja compilé avant et n'a pas besoin d'être recompilé.
    Jusque là pas de problème (quoique pourquoi ne pas l'appeler avec la fonction system() ? )


    Citation Envoyé par Rcanada
    Lors de la compilation du fichier toto.c avec le makefile, je voudrais vérifier que le ficheir toto2 est bien présent dans le meme repertoire que le fichier toto.c.
    C'est là que ça se complique.....

    Pourquoi veux-tu vérifier LORS DE LA COMPILATION de la présence de l'autre exécutable ALORS qu'il sera utilisé au RUNTIME ???

  5. #5
    Membre confirmé Avatar de Rcanada
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 130
    Par défaut
    Je pourrais gérer l'absence du fichier toto2 lors de l'execution avec le execvp, en regardant s'il l'execution a fonctionné, mais je prefere que dès la compilation, si le ficheir toto2 est absent, l'utilisateur le saches, car celui ci est indispensable au bon fonctionnement du programme toto.

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    tu mélanges plusieurs choses....

    1. La compilation, qui permet de créer les exécutables, est faite par le programmeur. Elle est faite une fois pour toutes. C'est TOI qui fait ça.
    2. L'exécution. Elle est faite par l'utilisateur. Elle peut être faite aujoudhui, dans 6 mois, dans 3 ans....


    Donc je recommence, je ne comprends pas...

    • Soit tu veux COMPILER tes 2 programmes.
    • Soit tu veux avertir à l'exécution si il en manque 1.


    Enfin, pour vérifier que l'exécution s'est bien passée, system() le dit aussi, et c'est beaucoup plus simple que execv.. Mais enfin c'est toi qui vois..

Discussions similaires

  1. Verifier l'existence d'un fichier
    Par mcorvaisier dans le forum VBA Access
    Réponses: 3
    Dernier message: 16/06/2008, 19h02
  2. Tester l'existence d'un fichier avec XMLHttpRequest
    Par pc.bertineau dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 07/03/2008, 11h53
  3. [Conception] Verifier l'existence d'un fichier sans même l'ouvrir
    Par vaovao dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/11/2006, 15h44
  4. Shell vérifier l'existence d'un fichier
    Par solp dans le forum Linux
    Réponses: 2
    Dernier message: 03/06/2006, 11h30
  5. Réponses: 6
    Dernier message: 28/09/2005, 14h15

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