makefile unter linux



  • Hi,

    ich hab ein etwas umfangreicheres Programm unter Linux geschrieben jetzt möchte ich dafür eine makefile schreiben. Mein Problem ist das ich weniger mit Linux sondern mehr mit windows arbeite und ich noch keine makefile für solch ein komplexes programm geschrieben habe.

    Darum meine Frage ob mir da jemand unter die arme greifen kann.
    Gegeben sind folgende Datein:

    main.c und noch 6 andere Quellcodedatein
    2 headerdatein
    und die größte Problematik ich muss den gcc Compiler noch verklikern das er mit den Parameter -lm aufgerufen wird.

    Wie gesagt für einfache simple Programme bekomm ich eine makefile noch hin aber das überschreitet mein horizont ein bisschen, hoffe mir kann jemand helfen. Schon einmal ganz vielen dank.



  • Welche der "anderen Quellcodedateien" inkludieren den die 2 Header ?



  • sorry wusste nicht dass das beachtet werden muss^^ hab wie gesagt nicht viel erfahrung damit. Also das ganze ausführlicher:

    main.c include stdio.h, stdlib.h und datentypen.h, funktionsprototyp.h letzteres sind meine 2 headerdatein die ich selbst gemacht habe

    menue.c include stdio.h, stdlib.h, string.h, datentypen.h, funktionsprototyp.h

    mathalg.c include stdio.h, stdlib.h, time.h, math.h

    msv.c include stdio.h, stdlib.h, time.h, math.h

    xor.c include stdio.h, stdlib.h, time.h, math.h, datentypen.h

    rsa.c include stdio.h, stdlib.h, time.h, math.h, datentypen.h, funktionsprototyp.h

    merkle.c include stdio.h, stdlib.h, time.h, math.h, limits.h, datentypen.h, funktionsprototyp.h



  • all: main.o menue.o mathalg.o msv.o xor.o rsa.o merkle.o
      gcc main.o menue.o mathalg.o msv.o xor.o rsa.o merkle.o -o "programmname" -lm
    xor.o: datentypen.h xor.c
      gcc -c xor.c -o xor.o
    mathalg.o: mathalg.c
      gcc -c mathalg.c -o mathalg.o
    # ...
    # Und so weiter
    

    Ist bestimmt nicht der eleganteste Weg, sollte aber funktionieren.



  • Siehe http://www.c-plusplus.net/forum/88418

    Wobei ich eher CMake, waf, oder autotools nehmen würde. Wenn du eine IDE nimmst, dann kann sie das sicher für dich autogenerieren.

    @pyhax
    Nein



  • rüdiger schrieb:

    @pyhax
    Nein

    Funktioniert das nicht?



  • ok supi danke habs hinbekommen^^



  • pyhax schrieb:

    rüdiger schrieb:

    @pyhax
    Nein

    Funktioniert das nicht?

    Schon. Aber ist unnötig kompliziert und nicht sehr optimal. So sollte man zB lieber die impliziten Regeln nutzen, als alles händisch zu machen.



  • rüdiger schrieb:

    pyhax schrieb:

    rüdiger schrieb:

    @pyhax
    Nein

    Funktioniert das nicht?

    Schon. Aber ist unnötig kompliziert und nicht sehr optimal. So sollte man zB lieber die impliziten Regeln nutzen, als alles händisch zu machen.

    Also ich finde, die Lösung von pyhax wesentlich besser als die von rüdiger. pyhax hat nämlich eine 😉 . Es ist eine Lösung. Sicher nicht die beste, aber besser so als gar nicht.



  • tntnet schrieb:

    rüdiger schrieb:

    pyhax schrieb:

    rüdiger schrieb:

    @pyhax
    Nein

    Funktioniert das nicht?

    Schon. Aber ist unnötig kompliziert und nicht sehr optimal. So sollte man zB lieber die impliziten Regeln nutzen, als alles händisch zu machen.

    Also ich finde, die Lösung von pyhax wesentlich besser als die von rüdiger. pyhax hat nämlich eine 😉 . Es ist eine Lösung. Sicher nicht die beste, aber besser so als gar nicht.

    😕 Ich hab doch ein Link zu einer deutlich besseren Lösung gepostet...


Anmelden zum Antworten