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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Sascha Biedermann (Gast)


Angehängte Dateien:

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

von OldBug (Gast)


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...

von OldBug (Gast)


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...

von Sascha Biedermann (Gast)


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.

von Jörg Wunsch (Gast)


Lesenswert?

GNU Make löscht wohl zuweilen die Zwischendateien selbst.

.PRECIOUS: ${OBJ}

könnte da helfen.

von OldBug (Gast)


Lesenswert?

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

von Sascha Biedermann (Gast)


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]
  • [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.