www.mikrocontroller.net

Forum: Compiler & IDEs ich auch >no rule to make target `all`<


Autor: Michael W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin Newbie. Kann mir mal jemand einen Schubs in die richtige Richtung
geben ? Ich bekomme meinen Gedankengulasch nicht mehr sortiert !

Ich habe WinAVR, STK500 und einen Sourcecode.

Ich erstelle einen Makefile mit Mfile,-> save as "gleicher Name wie
sourcecode" und speichere diesen im gleichen Ordner wo auch der
Sourcecode liegt ab.

Ich starte WinAVR öffne meinen Code -> make all und bekomme die
Fehlermeldung >no rule to make target `all`<.

ich habe schon das Tutorial im Wiki gelesen, bekomme es aber nicht auf
die Reihe.

Gibt es so eine Art Kardinalfehler den ich begehe. Ich habe schon
einiges ausprobiert -> No result.

Bitte Hilfe !

Gruß Michael

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du nennst das Makefile wie den Source?

Das Makefile sollte Makefile heissen, und im gleichen Ordner wie der
Source liegen.

snip
C:\WinAVR\testprj\Makefile
C:\WinAVR\testprj\main.c

make all
snip

Autor: Michael W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Oldbug, das war schon mal ein Fortschritt.

Ist mir beinahe schon peinlich, daraufhin bekomme ich die Meldung:


> "make.exe" all

-------- begin --------
avr-gcc (GCC) 3.4.1
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


Hast Du noch einen Tip ???

Gruß Michael

Autor: Michael W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Halt Halt, muste das programm noch in main.c umbenennen.

Jetzt komme ich schon mal weiter.

Vielen vielen Dank !

Gruß Michael

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie heist denn Dein Source-File?

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du am Makefile nichts verändert hast (Menü in mfile: Makefile->Main
file name...), dann sollte es "main.c" heissen.

Autor: Michael W. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Danke, habe es in >main.c< umbenannt dann hatte alles soweit geklappt,
allerdings erscheinen nun andere Probleme...

Na ja, ich bin noch dran.
Kannst Dir den Code ja mal ansehen und mir eventuell weiterhelfen.

Habe den Code angehängt.

Danke im Voraus und Gruß

Michael

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OMG, sag mal: weist Du eigentlich, WAS Du da machst?

Autor: Michael W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(OMG= Oh mein Gott ?)

Oldbug,
den Versuch einer sukzessiven Erleuchtung ?

Ich will Dich ja nicht nerven, aber Du antwortest ja freizügig.
Sicher habe ich ja noch viel zu lernen, dass hatte ich ja bereits
angedeutet. Ich will von dem Code eine .hex Datei haben.

Nur hatte ich mir das nicht so umständlich vorgestellt.

Vielleicht hilfst Du mir ja etwas weiter ?

Gruß Michael

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum fängst Du denn nicht mal mit etwas einfacherem an?
Der Code, den Du da gepostet hast, kann man vermutlich mit keinem
Compiler übersetzen ;)

Überall Sterne drin etc...

Kein bißchen eingerückt...

...was hälst Du davon:

#include <avr/io.h>

volatile unsigned char outVal;

int
main(void)
{
    PORTB = 0xff;

    while(1)
    {
        PORTB = outVal++;
    }

    /* NEVEREACHED */
    return 0;
}

Versteh das erst mal, da dürftest Du genug mit zu tun haben...

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieht mir so aus, als hätte hier jemand eine syntax-gehighlightete
(schönes Wort :-) Version eines C-Programms durch irgendein Filter
geschickt, was aus dem Highlighting dann eine Sternchen-Umrahmung
macht...

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Heh, das war mir noch gar nicht aufgefallen, in dem ganzen gewusel.
Der Author des Programmes ist wohl Pascal-Fanat oder sowas ;-)

//I like these definitions
#define begin {
#define end   }

[..]

void main(void)
begin
   // initialize the LCD for 16 char wide
   lcd_init(LCDwidth);        //initialize the display
   lcd_clear();           //clear the display
[..]

Das dann wiederum nicht ganz konsequent :-)

   while (1) {
     switch(typeState) {
      case zero60:
[..]

Naja, diese "Sternenkarte" (c MTh ;) ist so schon sehr unleserlich,
und dann auch noch "begin", obwohl man sich als newbie doch erst mal
an "echtes C" gewöhnen sollte, ohne hilfskrücken.

Also wie gesagt: fang erst mal ganz klein an, dann wirst Du sehr
schnell gute Ergebnisse bekommen.
Ich hekfe natürlich gerne, wenn es konkrete Probleme gibt. Nur bei
diesem Source macht es einfach keinen Sinn...

Autor: Michael W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin für jede Hilfe dankbar.
Mir geht es um zwei Dinge, zum einen bin ich dabei C zu lernen und habe
auch schon in dicke Schinken investiert. Mir ist völlig klar, dass
dieses Projekt für Anfänger völlig ungeeignet ist.

Das hätte ich vielleicht vorausschicken sollen.
Ich habe schon mit Schwierigkeiten gerechnet, nachdem ich den Code zum
ersten mal sah.

Zum anderen verbirgt sich hinter dem Projekt ein Gerät, dass ich
unbedingt haben möchte und, sofern ich diesen Code irgendwie zum laufen
bringe, auch nachbauen kann.

Für Übungszwecke in Sachen C bleib ich noch vorerst in der Hüpfburg.

Den code habe ich von folgender Adresse:
http://instruct1.cit.cornell.edu/courses/ee476/Fin...

(Ich hoffe damit jetzt keine Forumsregel verletzt zu haben.)

Die Autoren habe ich bereits angemailt, bisher kam aber nichts.

Schauts euch mal an und gebt mal eure Meinung dazu ab, ob der Code
kompletter Rice ist und einen komplett neuen Ansatz startet, oder ob
man ihn zumindest in Teilen retten kann.

Dank im Voraus und Gruß

Michael

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dieser Code ist nicht für WinAVR (bzw avr-gcc & Toolchain) gedacht,
sondern eher für ICCAVR o.ä.
Ich wage mal zu bezweifeln, daß Du damit den Einstieg finden wirst.
der Code auf der Homepage ist eigentlich brauchbar (alles markiert,
kopiert und im emacs eingefügt), keine Ahnung, wo diese Sternchen bei
Dir herkommen...!

Wenn Du es wirklich Portieren willst, dann soltlest Du vorher noch ein
bißchen Üben, und Dich vor allem mal mit den einschlägigen LCD-Libs
auseinander setzen (bsp.: P. Fleurys LCD-Lib).

Autor: Michael W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da bin ich mittlerweile auch dahintergestiegen. Ich war (und bins noch
immer) etwas verwirrt darüber. Ich habe verschiedene Compiler
ausprobiert und darüber gestolpert, dass nicht jeder Assemblerfragmente
im Code schluckt und zum anderen die Präprozessoranweisungen nicht jedem
bekannt waren.

Mit CodeVision scheints zu funzen, aber -> Evaluation Version filesize
limit exeeded !!! Grmmpf !

Ich möchte mich nicht zu den Unbelehrbaren zählen und Du hast auch
recht, dass dieser Code nicht zum Einstieg geeignet ist.
Aber ich will dieses Ding ja auch nur basteln, dazu benötige ich ne
.hex , alles weitere löse ich empirisch, so konnte ich schon immer ganz
gut lernen.

Parallel dazu mache ich die ersten Schritte auf Anfängerniveau.
Wenn mir jemand den Code durch seinen Compiler rattern lassen könnte
und ich so an eine .hex käme wäre ich sehr erleichtert.

Ich finde es aber gut von Dir, dass Du mich nicht einfach so liegen
läßt.

Michael

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.