www.mikrocontroller.net

Forum: Compiler & IDEs Wie verstehe ich eine Makefile?


Autor: Lukas L. (Firma: ---) (mchi3f)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

ich bin ein ganz neuer microcontrollerbesitzer und verstehe nicht was 
die makefile genau ist. Als Betriebssystem habe ich Linux (Ubuntu 9.10).

Jetzt die Fragen:

Muss man, wenn man ein Programm in dem Microcontroller übertragen will 
immer eine neue Makefile schreiben oder ist für jedes Programm die 
Makefile gleich?

Muss man dann unter Linux das Programm und die Makefile in einen Ordner 
und dann in das Verzeichnis wechseln und make eingeben, um eine 
hex-Datei tz kriegen?

Danke für jede Antwort

Autor: Stefan B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kennst du schon die folgenden Artikel?

http://www.mikrocontroller.net/articles/AVR-GCC-Tu...
http://www.mikrocontroller.net/articles/Beispiel_Makefile

Es ist möglich sich ein universellen Makefile zu schreiben, welches für 
viele Programme gleich funktioniert. Wenn Projekte dann weitere 
Quelldateien oder Einstellungen (Taktrate, Optimierung...) brauchen, 
kann man das universelle Makefile dann anpassen.

Ich mache das oft so - ein generisches Makefile für den aktuell 
benutzten µC. Ein fester Dateiname für die Quellcodedatei. Das wird dann 
in den aktuellen Projektordner kopiert. Ich halte pro Projekt alles 
zusammen gehörende, selbstgeschriebene in einem eigenen Ordner.

Autor: Janvi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für einen Mikrokontroller tut es normal auch ein Batch File zum Aufrufen 
des Compilers. Make hat natürlich ein paar Vorteile.

Titel: Make
Autor: Helmut Herold
Verlag: Addison-Wesley
ISBN: 3-8273-2095-X

ist eine sehr nette Einführung mit vielen Geheimtricks von Make und 
MakeMake beschreiben. Eigene Suffixregeln sind für Mikrocontroller 
abseits von Linux durchaus mal nützlich. Man sollte aber nicht meinen, 
daß man die Tiefen des Tools nur mal so durchlesen kann. Ansonsten 
natürlich die Original Doku von GNU in Englisch

Autor: Mchi3f (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie rufe ich eine batch datei auf?

Autor: Adi A. (mateit)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unter Windows einfach draufklicken oder unter Start -> Ausführen -> cmd 
die Datei starten.

Autor: Mchi3f (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab aber linux als BS

Autor: Hermann-Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so:

./make.bat

wenn das Verzeichnis, das make.bat (Beispiels-Batch-Datei) enthält, 
nicht im Pfad ($PATH) ist.

Außerdem mußt Du vorher

chmod +x make.bat gemacht haben

Hermann-Josef

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast Linux, aber weißt nicht, wie man ein Script startet?!?!

Autor: Janvi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das ./ haben schlaue Leute in Linux eingeführt, damit böse Buben nicht 
auf die Idee kommen, ein Skript mit gleichem Namen als irgend ein häufig 
verwendeten Kommandozeilenbefehl zu schreiben, welcher dann 
versehentlich ausgeführt wird. Aber da stolpern halt Viele ...

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.