www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik makefile löscht immer alle .o-Dateien


Autor: Sascha Biedermann (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Mein Projekt besteht mittlerweil aus einem ganzen Haufen Dateien.
Normalerweise, ist es doch so, dass alle .c-Files zu .o-Files
compiliert und dann gelinkt werden.
Das klappt auch, aber nach dem linken löscht make immer alle .o-Files
wieder. Das ist doch nicht sin der Sache, oder? So müssen jedesmal alle
Dateien neu compiliert werden, und dass dauert mittlerweile ein ganzes
stück. (10sec können ganz schön lang sein)...

Normalerweise müßte make doch nur die geänderten Dateien neu
compilieren und dann linken, oder ?

Im Anhang findet ihr mein Make-File.

Wäre toll, wenn jemand einen Tipp für mich hätte!

MfG
Sascha

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Warscheinlich liegts am Aufruf Deines Makefiles!
Wie machst Du das denn? Ich vermute in etwa so:
\> make clean all

Lass das clean weg, und die Objects bleiben da...

Gruß,
Patrick...

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was Dir übrigens noch ein wenig Arbeit erspart:

# Generate the dependencies.
makefile.dep:
  $(CC) -M $(CFLAGS) $(LDFLAGS) $(CPPFLAGS) -I$(INCDIR) $(CFILES)
$(AFILES) > makefile.dep

include makefile.dep

Anstelle der Manuell eingetragenen abhängigkeiten...

Autor: Sascha Biedermann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo alter Käfer! g

Also ich rufe es nur mit "make" bzw. "make all" auf... kein clean.

Danke für den Spaß, mit den Abhänigkeiten.

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GNU Make löscht wohl zuweilen die Zwischendateien selbst.

.PRECIOUS: ${OBJ}

könnte da helfen.

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha, das ist mir neu. Mein make macht das noch nicht freu :-)

Autor: Sascha Biedermann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jörg

Danke, es funzt! freu

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.