make und dependencies

Gast #66927
Hallo,

wie ist die praktikabelste Vorgehensweise, um nicht die dependencies im
makefile von Hand anpassen zu müssen, wenn sich ein Includefile ändert?

Gerade am Anfang eines größeren Projekts kommt das ja öfters vor, was
dann zu fehleranfälliger Handarbeit ausartet. Ein make clean; make all
ist natürlich nicht die Lösung. Gibts dafür irgendwelche Tools?

Mir gehts um GnuMake und Win/DOS und nicht im Speziellen zum AVR-GCC
oder Unix (falls das eine Rolle spielen sollte).

Danke für Hinweise,
Tschüß,
Richard
Gast #66928
Hi

da man am .h ja nicht ständig was ändert könntest du als Abhängikeit
*.h setzten. Sobald dann eine .h geändert wurde wird das ganze Projekt
compiliert.

Matthias
Gast #66929
Das Makefile-Template von WinAVR hat eigentlich schon einen
Automatismus zur Generierung der dependencies.

Ansonsten: [avr-]gcc -M [-D ... -I ... usw.] *.c

Das generiert die Dependency-Zeilen.
Gast #66931
Danke für die Hinweise.

Matthias' Lösung ist zunächst die einfachste, somit habe ich zumindest
eine Übergangslösung gefunden.

Jörg:
Hätte vielleicht auch noch dazuschreiben sollen, daß es nicht um GCC
geht, sondern um einen Kommerzcompiler (Cosmic). Aber durch den
Hinweis, daß der GCC sowas kann, bin ich auf die entsprechende Option
beim Cosmic gestossen - muß jetzt nur noch zurechtgebastelt werden.

Vielen Dank an euch beiden.
Gruß,
Richard

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.