www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik makefile error: no rule to make ...


Autor: mrdaniel82 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich wollte mein erstes kleines programm schreiben, hab mir das tutorial
durchgelesen und das makefile mittels mfile konfiguriert.
beim ausführen von make all aus dem winavr - programers npad tritt dann
der fehler

-------- begin --------
avr-gcc (GCC) 3.4.3
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

make.exe: *** No rule to make target `main.o', needed by `main.elf'.
Stop.

> Process Exit Code: 2

nach einiger suche hab ich dann den eintrag:
# Compile: create object files from C source files.
%.o : %.c

das file sollte also angelegt werden. sollte!
auch das suchen nach dem file brachte kein ergebnis.
für ratschläge wäre ich dankbar

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wichtig ist, dass deine Datei mit dem C-Sourcecode als main.c
abgespeichert ist (Groß-/Kleinschreibung beachten).
Sonst wird nichts kompiliert.

Autor: Marco S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Das nervige make ist ganz schön kompliziert. Also sehe ich mich um und
finde scons (www.scons.org). Dieses ist unter Python geschrieben.
Python stellt unter Linux normalerweise kein Problem dar, gehört zum
Standard. Damit verkürzt sich das "Makefile" auf:

--- SConstruct -----------------------------------------------------
src_files = Split('main.c fkt1.c')
prg_file = 'prog'

env = Environment(CC='/usr/local/avr/bin/avr-gcc',
                  CCFLAGS='-mmcu=atmega8 -Os -g3')
env.Program(prg_file, src_files)
--------------------------------------------------------------------

Unschön hieran ist, dass avr-gcc mit dem kompletten Pfad angegeben
werden muss. Dies ist meine erste Version mit scons und falls jemand
Lösungsvorschläge/Verbesserungen hat, immer her damit.

Gruß
Marco
-

Autor: Michael Kirsten (onkel_michi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin auch Linux-Freak und habe das OS aus Redmond nie privat
benutzt.

mrdaniel82 hat WinAVR und unter Windows ist Python ein ziemliches
Problem.

@mrdaniel82

Das mit dem make ist eigentlich ganz einfach, wenn Du mfile benutzt.
Wenn Du nur eine Datei im Sourcecode hast, dann nenne sie main.c
Das Makefile, das aus dem PN2 aufgerufen wird und das Du mit mfile
erzeugst, nimmt automatisch an, das der Sorucecode mit dem main()
Funktionsaufruf in der Datei main.c steht.

Sollte Deine Datei, die die main() Funktion enthält, aber
meinprogramm.c heißen, dann musst Du in mfile bei "Main File" den
Namen meinprogramm eintragen.

Wenn Du dann z.B. die LCD-Sachen noch in Deinem Programm brauchst, dann
musst Du die in "Source Files" noch eintragen. (main nicht mehr, das
ist automatisch in der Liste drin.)

Ich hoffe, das hilft Dir ein wenig weiter.

Autor: Ewald Kantner (ebtschi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"unter Windows ist Python ein ziemliches Problem."

Das halte ich für ein Gerücht. Wenn ich Windows verwende nehme ich
ActivePython (http://www.activestate.com/Products/ActivePython/), es
gibt aber auch noch andere. Probleme sind mir bisher noch keine
begegnet. Das Python-Zeug, das ich unter Linux entwickelt habe, kann
ich fast immer 1:1 verwenden.

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.