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 :

Probleme de makefile


Sujet :

Systèmes de compilation

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Probleme de makefile
    Bonjour,
    J'ai fait un projet en C, et je cherche a faire quelque chose dans mon makefile mais est ce possible a vous de me le dire.

    Je veux compiler certain de mes Fichier avec l'option -DMAVARIABLE $(valeur)
    sachant que la valeur est lu par un read ( c'est censé devenir un char* dans le programe) juste avant la compilation dans le make
    bref je vais le metre pour etre plus claire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    all: read.o
    	gcc  read.o -o out
    	@echo Compilation successfully completed.
    %.o: %.c
    	@echo enter the file name :
    	read file
    	gcc -c -Wall -ansi -DFILE $(file) $<
     
    clean:
    	rm -f out read.o 
    	@echo «Make clean» ended.
    mais ca ne marche pas comme je l'ai fait :'(
    Si quelqu'un peut m'aider
    merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Points : 1 069
    Points
    1 069
    Par défaut
    Pour être franc, je préférerais ne pas te donner une solution. Je trouve très bof de demander quelque chose à l'utilisateur au moment de la compilation. Le mieux est de mettre en place l'environnement de compilation avant de commencer à compiler : fichier de conf avec des variables par exemple. Heureusement que ta compil' ne dure pas longtemps.

    Je te propre ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    read file ; gcc -c -Wall -ansi -DFILE=\"$$file\" $<
    La variable d'environnement file n'existe plus quant tu appelles gcc. Je mets donc tout sur la même ligne.
    J'utilise $$file pour indiquer à make de ne pas remplacer $file mais juste $$ par $. La substitution de $file aura lieu au dernier moment à l'invocation de la commande
    $file n'est donc plus une variable du Makefile mais une variable d'environnement donc suppression des parenthèses car sinon il appelle la commande file
    -DVAR=value et non -DVAR value
    Guillemets autour de $$file car sinon tu te retrouves dans ton code C avec contenu_de_file et non "contenu_de_file".

    Mais à la place je te propose une solution plus propre qui ne fait pas intervenir l'utilisateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    gcc -c -Wall -ansi -DFILE=\"$(FILE)\" $<
    Soit tu définis FILE en haut de ton Makefile mais ce n'est pas ce que tu veux.
    Soit tu définis une variable d'environnement FILE avant d'appeler make.
    Soit et c'est ce qui me plaît le plus, tu passes la valeur de FILE à make
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    make FILE=contenu_de_file

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    merci pour ta reponse
    Le faite est que j'ai besoin de demander a l'utilisateur ou se trouve tel fichier(et quel est son nom) sur son ordinateur, mais sans lui redemander a chaque exection du prgramme.
    Je vais tester ca de suite

Discussions similaires

  1. [débutant]probleme avec makefile-module objet non créé
    Par Invité dans le forum Systèmes de compilation
    Réponses: 5
    Dernier message: 13/06/2007, 18h22
  2. probleme de makefile
    Par felicity dans le forum Systèmes de compilation
    Réponses: 3
    Dernier message: 23/05/2006, 13h15
  3. probleme de makefile
    Par semaj_james dans le forum Systèmes de compilation
    Réponses: 1
    Dernier message: 09/02/2006, 16h03
  4. Probleme de makefile
    Par realmadrid dans le forum Systèmes de compilation
    Réponses: 2
    Dernier message: 11/01/2006, 16h47
  5. Probleme de Makefile
    Par hoeg dans le forum Systèmes de compilation
    Réponses: 3
    Dernier message: 31/03/2005, 19h01

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