mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik make und dependencies


Autor: Richard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso: es generiert die Zeilen auf stdout!  Mit Ausgabeumlenkung kann
man sie ans Makefile anhängen.  Den Rest macht der Editor.

Autor: Richard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.