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

C Discussion :

recherche makefile automatique


Sujet :

C

  1. #1
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut recherche makefile automatique
    Salut à tous.
    Je suis étudiant et cette année j'ai quelques projets de programmation à faire en C et C++. Ceux ci tournent sous linux, et bien évidemment nos profs nous imposent de fournir un makefile pour chaque projet, comme si c'était un sacrilège d'utiliser un gestionnaire de compilation datant de moins de 30 ans.
    Même si un makefile ce n'est pas compliqué, je suis un fervent défenseur des gros ides qui vous machent tout le travail inutile alors je n'aime pas devoir me coller à une tache aussi vaine.
    Or j'ai déja vu des exemples de makefiles "magiques" qui détectent automatiquement les sources contenues dans un dossier puis compilent le tout. Malheureusement pas moyen d'en retrouver un, alors si vous aviez ça sous la main ou un lien vers un site où je pourrais en trouver un ce serait vraiment sympa de faire passer.
    Merci d'avance.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Copier/coller/editer, ça te dit quelque chose ???
    Pour un makefile? Allez...
    En dehors de ça, j'ai fini par faire le mien en lisant un tuto sur developpez. C'est basique mais ça fonctionne.
    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
    # variables à modifier pour personaliser
    # la compilation
    CPP=g++
    CXXFLAGS=
    LDFLAGS=
    EXEC=executable
    SRC= $(wildcard *.cpp)
    HEADERS= $(wildcard *.hpp) $(wildcard *.h)
    OBJ= $(SRC:.cpp=.o)
    # à mettre à vide si on veut paramétrer
    # les dépendances pour chaque source
    DEPENDENCY_FOR_ALL= $(HEADERS)
     
    # d'autres cibles peuvent être rajoutées
    all: $(EXEC)
     
    # génération de l'exécutable
    $(EXEC): $(OBJ)
    	$(CPP) -o $@ $^ $(LDFLAGS)
     
    # génération des fichiers .o
    %.o: %.cpp $(DEPENDENCY_FOR_ALL)
    	$(CPP) -o $@ -c $< $(CXXFLAGS)
     
    # il est possible de paramétrer les
    # dépendances pour chaque fichier source
    # si DEPENDENCY_FOR_ALL est vide
     
    #quelques actions de base
    .PHONY: clean mrproper
     
    clean:
    	rm -rf *.o
     
    mrproper: clean
    	rm -rf $(EXEC)
    Le seul petit ennui c'est que ça c'est pour du C++. Il est très facile d'en faire un pour du C mais ce que je voudrais, idéalement, c'est un qui fonctionne pour les deux en même temps (pour un hypothétique projet combinant C et C++). La je cale un peu: je ne vois pas bien comment paramétrer la cible %.o pour compiler différemment suivant l'existence d'un fichier .c ou .cpp.
    Si quelqu'un a une idée

  3. #3
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Un MakeFile qui compile tout fichier source cela existe. Dans palib, librairie pour le développement sur console ds, tout les makefile sont faits de la même façon.

    Essaie de la télécharger et d'aller dans le repertoire palib_exemples et rechercher le projet hello world, là où il y a l'executable il y a le makefile jette un coup d'oeil

  4. #4
    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 : 46
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonsoir,

    pour moi le meilleur tutoriel que je connaisse est celui là.

    Sinon j'en ai fait une version (en lisant le tuto) pour mes étudiants qui compile tout automatiquement :
    - il faut créer quatres dossiers (Obj, Bin, Src, Include) mais les noms peuvent être changé audébut du makefile.
    - tout fichier .c doit être accompagné de son fichier .h
    Voilà le lien.

    Bonne continuation...
    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.

  5. #5
    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 ToTo13 Voir le message
    - tout fichier .c doit être accompagné de son fichier .h
    Berkkkkkkkkkkk

    ce n'est pas rendre service que de faire ça....

    Dès que tu voudras leur faire faire une bibliothèque, ou ne PAS mettre de .h ou un .h privé, avec un nom différent, our un src avec plein de sous-réperoires et un include avec aussi des sous-répertoires , ils seront perdus......

    Pourquoi ne pas avoir un exemple simplement, et que chacun adapte ??????

    Après, on se retrouve au boulot avec des gens qui ne savent rien faire, parce qu'ils sont habitués à un truc auto, mais ils ne savent pas ce que ça fait ....


  6. #6
    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 : 46
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonsoir,

    c'était une solution que je leurs proposais en même temps que le tuto afin que chacun l'adapte comme il le souhaite.
    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.

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Après, on se retrouve au boulot avec des gens qui ne savent rien faire, parce qu'ils sont habitués à un truc auto, mais ils ne savent pas ce que ça fait ....
    Comme si tout le monde utilisait make .
    Non sérieusement si ce n'était pas pour faire plaisir au prof je n'utiliserais jamais un truc aussi inutile et me prencherais vers quelque chose de plus évolué, comme scons ou boost.jam.
    Et encore, ça c'est uniquement en admettant que j'aie besoin d'un gestionnaire de compilation,... ce qui n'a d'utilité que pour les programmes releasés sous forme de source,... ce qui n'est le cas que des programmes open source,... ce que je ne ferais probablement jamais car l'open source ça rapporte pas.

Discussions similaires

  1. Recherche internet automatique via un service web
    Par farazol dans le forum Linux
    Réponses: 0
    Dernier message: 17/01/2008, 18h31
  2. Réponses: 1
    Dernier message: 11/11/2007, 14h26
  3. Macro de recherche/remplace automatique
    Par phil011 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/08/2007, 11h00
  4. makefile automatique ou manuel
    Par julien.63 dans le forum Systèmes de compilation
    Réponses: 7
    Dernier message: 22/05/2007, 09h08
  5. makefile automatique ou manuel
    Par julien.63 dans le forum C
    Réponses: 0
    Dernier message: 17/05/2007, 12h34

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