[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. 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
    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