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

Linux Discussion :

[Linux] Créer un makefile C++


Sujet :

Linux

  1. #1
    Membre régulier
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 76
    Points
    76
    Par défaut [Linux] Créer un makefile C++
    Bonjour tout le monde,

    J'ai besoin de créer un Makefile pour mon projet C++. Je voudrai savoir si il y avait un lien ou tout autre support qui explique cela.

    Mon Mikefile sera un peu compliqué à mettre en oeuvre. J'ai une petite idée, mais je ne maîtrise pas assez pour pouvoir le faire. En fait, mon projet est destiné à être compilé sur différentes plateformes avec différents compilateurs. Je dois donc prendre en compte cela.
    Pour cela j'ai créé des fichiers: Makefile.config.plateforme correspondant aux différentes plateforme. J'ai créé aussi un autre fichier Makefile.config qui, selon la plateforme, lira le bonnes informations dans le bon fichier.

    Puis finalement mon Mikefile, lit dans ce Makefile.config pour avoir les information nécéssaires (en particulier le compilateur).

    Mais, Malheuresement, je ne maîtrise pas la syntaxe. Donc, il m'est difficile d'écrire tout cela.

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Tu as une bonne introduction aux makefiles ici :
    http://gl.developpez.com/tutoriel/outil/makefile/

    Vu que tu souhaites gérer plusieurs plateformes / compilateurs, peut-être devrais-tu t'orienter vers un outil plus générique du genre SCons ou CMake ?

  3. #3
    Membre régulier
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 76
    Points
    76
    Par défaut Merci
    Citation Envoyé par Laurent Gomila
    Tu as une bonne introduction aux makefiles ici :
    http://gl.developpez.com/tutoriel/outil/makefile/

    Vu que tu souhaites gérer plusieurs plateformes / compilateurs, peut-être devrais-tu t'orienter vers un outil plus générique du genre SCons ou CMake ?
    Le document m'est d'une grande utilité.

    J'y vois plus clair.

    A propos de SCons ou CMake, je ne les connais pas. Je vais y jeter un coup d'oeil. Peut être qu'il me faciliteront la vie.

    Je te remercie.

  4. #4
    Membre régulier
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 76
    Points
    76
    Par défaut
    Bonsoir tout le monde,

    Je n'ai pas arrivé à faire mon makefile.

    J'ai dit, dans mon précédent message, que mon projet test doit être compilé sur plusieurs plateforme. il doit aussi utilisé un librairie.

    J'ai créé un répertoire qui s'appelle "programs" à l'intérieur est mon projet. il y en a à l'intérieur plusieurs sous répertoires:
    Un répertoire Include (pour *.h)
    un répertoire lib
    un répertoire bin
    et un répertoire main.

    J'ai installer ma librairie a généré des *.h sauvegardé dans "programs/includes/" et des *.a sauvegardés dans "programs/lib/plateforme"

    Pour l'instant mon projet juste un fichier main. qui est test.cpp (un Hello Word!)

    Mon Makefile est le suivant:

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    #------ Define Host -------#
    HOST    := $(BABAS)
     
    #------ Sources and Objects -------#
     
     
    #------ Includes ---------#
    H5FINCLUDE = ../include/
     
    #------ Includes ---------#
    LIBDIR = ../lib/$(BABAS)
    H5FLIBS = \
    $(LIBDIR)/libhdf5_cpp.a \
    $(LIBDIR)/libhdf5_hl.a \
    $(LIBDIR)/libhdf5.a
     
    SRC = $(wildcard *.cpp )
    OBJ = $(SRC: *.cpp=.o)
     
    SYSLIBS = $(H5FLIBS)
     
    all: test
     
    ifeq ($(HOST),Linux64)
    	CXX      = icc -ipo
    	CXXFLAGS = -D_FILE_OFFSET_BITS=64 $(H5FINCLUDE)
     
    endif
     
    ifeq ($(HOST),ibm)
    	CXX      = g++ -m64 
    	CXXFLAGS = $(H5FINCLUDE)
    #-qtune=pwr5 -qarch=pwr5
    endif
     
    test: $(OBJ)
    	$(CXX) $(CXXFLAGS) test.cpp $^ $(H5FINCLUDE) $(SYSLIBS) -o test
    	rm -f test.o
     
    	#$(FIGLIBS) $(SYSLIBS)
     
    .PHONY: clean mrproper
     
    clean:
    	rm -rf *.o
     
    mrproper: clean
    	rm -rf test

  5. #5
    Membre régulier
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 76
    Points
    76
    Par défaut

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/05/2012, 11h48
  2. créer un "makefile project" dans VC++ 2008
    Par olivier57b dans le forum C++
    Réponses: 0
    Dernier message: 12/12/2009, 22h54
  3. créer un "makefile project" dans VC++ 2008
    Par olivier57b dans le forum Visual Studio
    Réponses: 0
    Dernier message: 12/12/2009, 22h29
  4. Réponses: 4
    Dernier message: 24/10/2009, 10h33
  5. serveur linux, créer et gérer un "domaine"
    Par neuneu1 dans le forum Réseau
    Réponses: 7
    Dernier message: 28/12/2007, 18h57

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