Forum: Compiler & IDEs UltraEdit/Makefile


von Dirk (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

Vorweg, ich fange gerade (oder besser - will gerade anfangen) an in C
zu programmieren.
Dazu hab ich mir UltraEdit geladen und wie in der Anleitung bei extras
den Compiler (GCC) instaliert.
Das funktioniert auch soweit.
Mein Problem ist aber der makefile.
Wenn ich compile findet der compiler oder wer auch immer den makefile ,
es kommt aber eine Fehlermeldung mit der ich nichts anfangen kann, bzw.
ich nicht verstehe:make:
*** No rule to make target `lcd_und_taster.c', needed by
`lcd_und_taster.o'.  Stop.
Das bedeutet doch, das die Datei lcd_und_taster.c von der
entsprechenden lcd_und_taster.o gebraucht wird.Und angeblich gibt es
keine Zeile wo lcd_und_taster.c konfiguriert wird. Aber die gibt es
doch im makefile.
Die Verzeichnisse stimmen auch, sonst würde ja das makefile nicht
gefunden.
Ich hab den Standard makefile genommen.Steht im Anhang.

Hat jemand eine Idee oder einen funktionierenden makefile.
lieber wäre mir aber, wenn mir jemand erklären könnte wo der Fehler
liegt, damit ich in Zukunt ein wenig schlauer bin.

Danke

Dirk
Prozessor:at90s8535

von Fritz Ganter (Gast)


Lesenswert?

Die Meldung bedeutet, dass er meint lcd_und_taster.c erzeugen zu müssen,
weil es nicht da ist.

Ich würde sagen, du bist im falschen Arbeitsverzeichnis, weil da wo er
sucht, ist das File definitiv nicht.

von Oryx (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Dirk,
kann es sein, das du die alte Version von ARV-Freaks hast?
In meinem Verzeichnis WINAVR/examples/demo sieht das makefile anders
aus.

Zu deinem Problem:
Dein makefile will eine weitere Datei include (ziemlich weit unten).
Evtl. ist diese Datei garnicht vorhanden.

In dem Teil den man aus deinem makefile erkennt, wird der Compiler
garnicht aufgerufen. Die Abhängigkeiten sind beschrieben, aber nicht,
was passieren soll.

Ein paar Threads eher ist ein Link auf die neueste Version.

Ich habe die mal das Beispiel makefile angehangen.

Solltest du mit der neuen Version und dem makefile nicht weiter kommen,
bitte nochmal melden.

Oryx

von Dirk (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Oryx

Ich hab nun mal alles gelöscht (WinAvr etc....)
Anschließend hab ich die neueste Versin von WinAVR geladen 20040404 und
installiert ( nach der Anleitung auf www.kreatives-chaos.com). Das
funktionierte auch gut.
Dann ab ich den Compiler ins Programmer Notepad eingebunden, so wie es
beschrieben ist. Als Makefile hab ich das beschriebene Sample
genommen.
Das hat aber irgendwie auch nicht funktioniert. Anschließend hab ich
dein Makefile benutzt. Das sah schon ein wenig besser aus. Was da nun
raus kommt seht so aus:
> "make" all

-------- begin --------
avr-gcc (GCC) 3.3.2
Copyright (C) 2003 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: *** No rule to make target `lcd_und_taster.o', needed by
`lcd_und_taster.elf'.  Stop.

> Process Exit Code: 2

Ich hänge dir mal den makefile wieder an mit den geänderten
Verzeichnssen, wie ich sie brauche.

Sorry, aber stehe noch am Anfang meiner großen
Programmiererkarriere!!!!!!!
Deshalb , mächtigen Dank für alle Hilfe.

Ich denke, daß es erst mal einfacher für mich ist das WinAVR zum laufen
zu bringen. Damit komme ich glaube ich dann klar. Hab halt 2 Jahre mit
der C-Control und Basic rumgemacht. Da war das halt ein bischen
einfacher.

Danke

Dir

von Oryx (Gast)


Lesenswert?

Hallo Dirk,

ich habe dein makefile mal getestet. Läuft.

Ich habe nun einen blöden Verdacht. Hast du den Dateinamen teilweise
gross geschrieben? Bei mit ist "LCD_UND_taste.c" etwas anderes als
"lcd_und_taster.c".

Also wie in C, Gross- und Kleinschreibung nicht mischen. Am einfachsten
ist es, immer alle Dateinamen und Dateierweiterungen klein schreiben.

Etwas anderes kann ich mir im Moment nicht erklären.

Ansonsten mal das mfile von Jörg Wunsch ausprobieren.
Es soll ja in deinen WinAvr-Version dabei sein
mfile.tcl mit Doppelklick aktivieren.
Mit wish84 im Verzeichnis WinAvr\bin Verknüpfen und mal ein bisschen
testen. Es sollte mit deinen Dateinamen zurechtkommen.

Oryx

von Dirk (Gast)


Lesenswert?

Hi,

zu diesen Beitrag haette ich auch mal eine Frage (mal was anderes als
mein Namensvetter). Kann man eine Uebergabe vom geoeffneten Fenster als
Target deklarieren? Im Moment oeffne ich immer das Mfile und aendere da
das Target .... Eine Funktion konnte ich bis jetzt unter UEdit nicht
finden.


Mfg

Dirk

von Oryx (Gast)


Lesenswert?

Hallo Dirk,

ich habe deine Frage nicht verstanden.

Beschreibe doch mal, was passieren soll.

Oryx

von Dirk (Gast)


Lesenswert?

Hallo Oryx

Also: Ich hab folgendes gemacht:
Alle Versionen von AVR/GCC etc. gelöscht.
Dann nochmal die neue Version 20040404 installiert. Anschließend hab
ich mit dem mfile eine make.exe erstellt.
Als Ergebnis kommt nun bei allen durchprobierten makefiles immer wieder
die gleiche Fehlermeldung:
> "make" all
make: *** No rule to make target `all'.  Stop.

> Process Exit Code: 2

Wenn ich die make clean aufrufen kommt der selbe Spruch halt nur
mit...........´clean´.stop
Alle Dateinamen sind nun wirklich kleingeschrieben, Rechtschreibfehler
sind mir auch keine aufgefallen.
Alle Dateien stehen im WinAVR Ordner.
Den aktuellen makefile stelle ich nochmal in den Anhang.


Hab nu wirklich überhaupt keine AHnung mehr woran es liegt. Aus dem
Gefühl heraus würde ich aber sagen, daß irgendwo was ganz blöödes nicht
stimmt.
Ich trink nun mein Hefe aus und gehe frustriert ins Bett.

Gute Nacht.

Grüße Dirk
PS:Welchen Dirk meintest du mit deiner letzten MAil.

von Dirk (Gast)


Angehängte Dateien:

Lesenswert?

Sorry, der ANhang fehlte

jetzt aber gute NAcht

Dirk (der mit makefileproblem)

von Dirk (Gast)


Lesenswert?

Hi,

ich hab in UEdit unter Options Werkzeuge erstellt. Mit diesem Werkzeug
kann ich nun simpel das File compilieren. Mich wuerde interessieren ob
man ein geoeffnetes Projekt per Parameterwert als Target fuer Mfile
uebergeben kann?
Es ist im Moment nur ein bischen umstaendlich jedesmal das Makefile mit
einem Editor zubearbeiten um das Targetfile zuaendern.

Mfg

Dirk

von Oryx (Gast)


Lesenswert?

Hallo Dirk,
ich sehe mit deinen Targets nur 2 Möglichkeiten.

a) Mehrere Werkzeige
Aufruf mit make -f make_2312
und ein anderes Mal mit make -f make_mega8
also für jedes Target ein makefile

b) Ein Werkzeug und eine Makedatei und die makedatei im Ultraedit
verändern

Oryx

von Oryx (Gast)


Lesenswert?

Hallo Dirk,
deine Fehlerbeschreibungen werden etwas konfuser.
Wie kann man mit mfile eine make.exe erstellen?

Aber Spass bei Seite, kannst du ein gezipptes File von deinem
Quellcodeverzeichnis schicken? Mit den komplette Pfadangaben.

Irgendwas stimmt da nicht. Alles sehr komisch.

Oryx

von Dirk (Gast)


Lesenswert?

Hallo Oryx

Also, daß mit dem konfus würde ich so unterschreiben. Irgendwie läuft
die Sache eher rückwärts als vorwärts. Ich denke, daß ich irgendwo nen
saublööööööden Fehler mache, komm aber nicht drauf.
Natürlich meinte ich makefile und nicht make.exe., daß hab ich gestern
abend wohl irgendwie durcheinandergewürfelt. War ja auch schon spät.

Kannst du mir evtl. ,mal deine e-mail adresse schicken, dann brauche
ich hier nicht alles vollzumüllen.
Vielleicht kann man sich, wenn wir so nicht weiterkommen auch mal
treffen.

Ich muß heute leider arbeiten und komm erst morgen früh nach Hause,
würde dir dann direkt den Zipfile schicken.

Sorry mochmal aber vielen Dank für die Mühen.

Dirk

von howil (Gast)


Lesenswert?

hi leute,

ist da auch noch irgenwie eine lösung rausgekommen?
hab nämlich das selbe prob...

cu
howil

von oryx (Gast)


Lesenswert?

Hallo howil,

das ist ja nun schon etwas länger her. Es ist eine Lösung
herausgekommen.

Achte auf die richtigen Pfadnamen.
Beachte die Gross und Kleinschreibung.

test.c ist nicht teST.c

Ansonsten hänge dein Projekt mit makefile an.

Oryx

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.