[C++/Makefile] Options de compilation...

Résolu
Bonour à tous,

je suis sur un projet pour lequel je souhaite une interface graphique. Pour compiler mon projet, j'utilise un makefile assez généraliste, mais pour compiler le fichier de l'interface graphique, j'ai besoin d'options supplémentaires. Ma question est donc, comment modifier mon makefile pour qu'il prenne en compte mon fichier graph.cpp en le linkant avec les librairies nécessaires.
Voici mon makefile:
NOM = lapinoux

override CXXFLAGS+

-Wall LDFLAGS

#Liste des objets à lies pour produire l'executable OBJETS = main.o animal.o lapin.o renard.o pile.o carte.o graph.o #Regle generale de production des objets #Regle de production de l'executable #$(REP_EXEC)/$(NOM).$(VERSION): $(OBJETS) $(NOM): $(OBJETS) $(CXX) $(LDFLAGS) $^ -o $@ clean: @$(RM) *.o *~ *.*~ </pre>

et les options pour une compilation "classique" de mon fichier d'interface graphique:
g++ -o GRAPH graph.cpp `sdl-config --cflags --libs` -lSDL_ttf -lfreetype


Merci d'avance !

--
C'est dans ces moments là qu'on préfère Linux !

2 réponses

  1. Je te remercie pour cette réponse, c'est bien ce qu'il fallait faire, néanmoins, il faut mettre le $(LDFLAGS) à la fin.

    Voici donc mon makefile corrigé:
    NOM = lapinoux
    
    override CXXFLAGS+=-Wall
    LDFLAGS = `sdl-config --cflags --libs` -lSDL_ttf -lfreetype -lSDL
    
    #Liste des objets à lies pour produire l'executable
    OBJETS = main.o animal.o lapin.o renard.o pile.o carte.o graph.o
    
    
    #Regle generale de production des objets
    
    #Regle de production de l'executable
    #$(CXX) $(LDFLAGS) $^ -o $@
    #$(REP_EXEC)/$(NOM).$(VERSION): $(OBJETS)
    $(NOM): $(OBJETS)
    	$(CXX) $^ -o $@ $(LDFLAGS)
    
    
    clean:
    	@$(RM) *.o *~ *.*~


    Merci !
    0
    1. Modérateur
      Tu peux par exemple faire un truc du genre
      SDLFLAGS=`sdl-config --cflags --libs` -lSDL_ttf -lfreetype
      CXXFLAGS=  $(SDLFLAGS) -W -Wall
      
      $(NOM): $(OBJETS)
      	$(CXX) $(LDFLAGS) $(CXXFLAGS) $^ -o $@

      Bonne chance
      0