Probleme mit Makefile



  • Hy,
    ich hab ein Problem make ein Makefile an zu drehen. Folgende drei Zeilen:

    %.o: %.cc
    	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ -c $<
    
    %.o: %.cpp
    	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ -c $<
    
    %.o: %.cxx
    	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ -c $<
    

    werden mit jeweils mit folgendem Fehler bemängelt:

    line x: warning: duplicate script for target "%.o" ignored
    

    Was kann man da machen um trotzdem die Unterstützung verschiedener Endungen zu wahren? Ich habe bereits versucht einfach 3 verschiedene Variablen, anstatt nur CXX zu nehmen mit den gleichen Werten, hat aber trotzdem den gleichen Fehler ausgegeben.

    Vielen Dank im Vorraus...



  • ich mache sowas zwar nicht, aber oich dachte, diese regeln würden sich nicht streiten.

    hast du eine foo.cc und eine foo.cpp im gleichen verzeichnis? dann wüßte er allerdings nicht, welce davon er zur foo.o machen soll.



  • also ich hab' mir alles nochma angeguckt und das Problem liegt daran, dass ich mehrere Regeln für %.o habe. Und ich habe zwar nicht foobar.cc und foobar.cpp in einem Verzeichniss, aber ich habe die folgende Zeile vergessen (hat ncihts mit "übersehen" zu tun, sonder weil ich noobig bin)

    %.o: %.c
    	$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
    

    Ich hab' halt ein Projekt,d ass C und C++ braucht. Ich habe gedacht, ach lass doch einfach *.cxx und *.cc weg und scheiß drauf und da hat ich nur noch das da stehen:

    %.o: %.c
    	$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
    
    %.o: %.cpp
    	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ -c $<
    


  • Vielen Dank für jeden Gedanken, der zumindest versuchte die Lösung zu liefern, aber ich hab nach mehreren Stunde herumfuchteln herausgefunden, dass die Datei für gmake war @-@


Anmelden zum Antworten