Forum: Compiler & IDEs Wie verstehe ich eine Makefile?


von Lukas L. (Firma: ---) (mchi3f)


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

von Stefan B. (Gast)


Lesenswert?

Kennst du schon die folgenden Artikel?

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Exkurs_Makefiles
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.

von Janvi (Gast)


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

von Mchi3f (Gast)


Lesenswert?

wie rufe ich eine batch datei auf?

von Adi A. (mateit)


Lesenswert?

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

von Mchi3f (Gast)


Lesenswert?

ich hab aber linux als BS

von Hermann-Josef (Gast)


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

von Simon K. (simon) Benutzerseite


Lesenswert?

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

von Janvi (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.