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
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.
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
Unter Windows einfach draufklicken oder unter Start -> Ausführen -> cmd die Datei starten.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.