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 :

Makefile regle clean


Sujet :

Systèmes de compilation

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 41
    Points : 24
    Points
    24
    Par défaut Makefile regle clean
    Bonsoir a vous,
    voila j'aurais aimé savoir pourquoi mon Makefile ne supprime pas mes fichiers objets apres la compilation...
    Merci d'avance

    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
    18
    19
    20
    21
    22
     
    CC = gcc
    OPTIONS = -Wall -ansi -ggdb3
     
    PROG_NAME = Huffman
     
    PROG_OBJ = Entre-sortie.o Huffman.o Main.o Usage-Divers.o
     
    PROGS = $(PROG_NAME)
     
    OBJ = $(PROG_OBJ)
     
    all: $(PROGS)
     
    %.o: src/%.c
    	$(CC) $(OPTIONS) -c $<
     
    $(PROG_NAME): $(PROG_OBJ)
    	$(CC) $(OPTIONS) $(PROG_OBJ) -o $(PROG_NAME)
     
    clean: 
    	rm -f $(PROG_OBJ) *

  2. #2
    Expert éminent sénior

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    il suffirait que tu ajoutes clean dans le all :



    mais d'autre part, la syntaxe des makefile suggère fortement de mettre des :: (2 fois les 2 points) devant les cibles (et une seule fois devant les instructions/règles)

    Donc ce serait encore plussse mieux de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    all::
     
    ...
     
    clean::
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  3. #3
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    il faut que tu appelles "clean" après la compilation.
    Jete un coup d'oeil la dessus au cas où :
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 41
    Points : 24
    Points
    24
    Par défaut
    Effectivement ca marche parfaitement

    Merci a vous

  5. #5
    En attente de confirmation mail
    Homme Profil pro
    Stagiaire
    Inscrit en
    Avril 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Makefile personalisé
    Bonjour à tous, je suis étudiant et j'ai quelques fois des projets à rendre mais je n'ai pas tout à fait compris la syntaxe pour effacer les fichiers .o générés lors de la compilation avec un makefile.

    Mon makefile est fonctionnel, juste peut-être un peu moche et il n'efface pas les .o .
    J'ai préféré écrire car ainsi, il me servira de base pour la suite.

    Donc la question est : quelles options dois- je mettre, clean? mrproper? et à quel endroit?

    Merci d'avance et désolé pour ce n-ème message sur les 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    # définition des cibles particulières
    .PHONY:
    clean
    #mrproper
     
    # désactivation des règles implicites
    .SUFFIXES:
     
    CXX = g++
    CXXFLAGS = -Wall -g
     
    # all
    all: main.o circuit.o Ville.o
    	$(CXX) $^ -o Programme $(CXXFLAGS)
     
    main.o: main.cpp circuit.hpp Ville.hpp
    	$(CXX) -c $< -o $@ $(CXXFLAGS)
     
    # fonctions.o: fonctions.cpp
    #	$(CXX) -c $< -o $@ $(CXXFLAGS)        
     
    circuit.o: circuit.cpp circuit.hpp
    	$(CXX) -c $< -o $@ $(CXXFLAGS)        
     
    #Carte.o: Carte.cpp Ville.hpp
    #	$(CXX) -c $< -o $@ $(CXXFLAGS)        
     
    Ville.o: Ville.cpp Ville.hpp circuit.hpp
    	$(CXX) -c $< -o $@ $(CXXFLAGS)        
     
    # clean
    clean:
    	rm Programme rm *.o
     
    # mrproper
    #mrproper: clean
    #	rm -rf Programme

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

Discussions similaires

  1. Compilation make makefile regles
    Par TWEESTY dans le forum Débuter
    Réponses: 4
    Dernier message: 12/12/2011, 14h28
  2. Merci de respecter les regles du forum
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 2
    Dernier message: 17/11/2005, 12h48
  3. Regle de nommage des versions
    Par Jay dans le forum Windows
    Réponses: 5
    Dernier message: 24/11/2003, 09h26
  4. Makefile
    Par Wisefool dans le forum Systèmes de compilation
    Réponses: 2
    Dernier message: 03/11/2003, 17h41
  5. Compilation avec un Makefile
    Par Mau dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 28/02/2003, 11h30

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