Makefile?????

Gast #180361
Wie funktioiert nur diese Makefile Wirrwar?
Ich sitzt jetzt schon ne ganze Zeit da und konfiguruer diese makefile,
gehe danach wieder in winavr zurück und gehe da auf Tools/Options/Tools
und editier dort dann die Make All Routine indem ich meine konfigurierte
makefile dort auswähle. Aber alles was mir das Programm dann noch zu
sagen hat ist:
 Failed to create process: %1 ist keine zulässige Win32-Anwendung.

ahhh. Bin ich wirklich der einzige, der das nicht kapiert. Da fang ich
doch gleich wieder zum rauchen an bei dem Streß mit dem Ding.

HILFE
Gast #180364
Hi,

ich verstehe nicht ganz, was Du mit editere der Tools meinst.

Das kannst Du so lassen wie es ist. Alle angaben werden in dem Makefile
gemacht.

Gruss
Andreas
Gast #180365
Das Mfile Tool hab ich schon gefunden und auch benutzt, aber irgendwie
mach ich da anscheinend was falsch.
Aber wenns damit einwandfrei funktionieren soll, dann klemm ich mich
nochmal dahinter. Wenn ich schon daran scheitere, wie solls denn dann
weiter gehen =)
Gast #180366
Hmmm. Hab das ganze jetzt folgendermasen gemacht.
C-File geschreiben.
Als xyz.c gespeichert.
Mfile geöffnet. Die xyz.c als c Source angegeben. Meinen MC angegeben
und dann unter 'save as' das ganze als 'make.exe' in das
Verzechniss der xyz.c gepeichert.
Dann bei WinAVR MakeAll ausgeführt und dann bekomme ich folgende
Meldung:
> "make.exe" all

> Process Exit Code: 255

Was mach ich da noch falsch. Ich brauch doch nur eine *.hex Datei vom
dem C-File.
Gast #180368
Hi,

postings haben sich wohl überkreuzt.

Das File muss den Namen "makefile" erhalten. Die make.exe ist im
winavr paket enthalten.

Gruss
Andreas
Gast #180369
Ich bekomm da folgende Meldungen:

C:\TEST>"C:\Programme\Atmel\WinAVR\bin\avr-gcc.exe" -g -I. -Os
-mmcu=atmega8535
-c  "C:\test\led01.c"
In file included from C:\test\led01.c:2:
./stdint.h:29: error: conflicting types for 'int16_t'
C:/Programme/Atmel/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/inclu 
de/intty
pes.h:90: error: previous declaration of 'int16_t' was here
./stdint.h:30: error: conflicting types for 'uint16_t'
C:/Programme/Atmel/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/inclu 
de/intty
pes.h:95: error: previous declaration of 'uint16_t' was here
./stdint.h:31: error: conflicting types for 'int32_t'
C:/Programme/Atmel/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/inclu 
de/intty
pes.h:106: error: previous declaration of 'int32_t' was here
./stdint.h:32: error: conflicting types for 'uint32_t'
C:/Programme/Atmel/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/inclu 
de/intty
pes.h:111: error: previous declaration of 'uint32_t' was here
In file included from C:\test\led01.c:3:
./io8535.h:36:4: #error "Include <avr/io.h> instead of this file."


Damit bin ich nun etwas überfordert. Gibts keine win32-anwendung, bei
der ich nur auf ein knöpfchen drücken muß wie beim AVRStudio =)
Gast #180371
Aso hab das falshc verstanden. Hab das ganze jetzt nicht als make.exe
sondern als makefile gespeichert.
Jetzt kommt schon mal ein anderer Fehler:
Vom 16-Bit-MS-DOS-Teilsystem
'mein Pfad'
...NTVDM-CPU...ungültiger Befhel enmtdeckt....
CS:0f7d IP:0109 ....
Schließen
Gast #180372
Ich habe mal ein kleines Projekt von mir beigelegt.

Vielleicht versuchst Du das mal zu kompileieren.
Einfach mal in ein Verzeichnis entpacken und dann auf der DOS-Ebene
"make" eingeben.

Gruss
Andreas
Angehängte Dateien:
Gast #180373
Das kann ich einwadnfrei compilieren.
Hab jetzt auch meinen Fehler entdeckt. Ich hab das Target zweimal
angegeben gehabt =)
Das dann so ne enorme Fehlermeldung rauskommt ist schon sonderlich. An
Sowas hab ich ja auch wirklich als letztes gedacht =)

Trotzdem vielen vielen Dank für deine Hilfe!!!
Gast #180374
Ich mache schon lange WINAVR und hab noch nie ein make gebraucht.

Anbei meine Batch.
Da der AVR-Typ eingetragen werden muß, die Batch mit ins
Projektverzeichnis kopieren.

Compiliert alles *.C zusammen, was im aktuellen Verzeichnis steht.

Also DOS-Fenster öffen, ins Projektverzeichnis gehen und "ac"
eintippen.


Peter
Angehängte Dateien:
Gast #180375
P.S.:

Die Batch-Methode hat noch einen Vorteil:

Bei der modularen Programmierung entstehen ja immer neue Module.
Kein Problem, jedes neue *.C-File wird automatisch mit dazu gelinkt.

Umgekehrt, um ein Modul wieder zu entfernen, muß man es in ein anderes
Verzeichnis verschieben oder einfach umbenennen z.B. in *.C1.

Man muß also die Batch nur einmal editieren, um den AVR-Typ
festzulegen.
Das ist notwendig, weil es im Gegensatz zu anderen Compilern keine
Möglichkeit gibt, diesen im Sourcefile mit anzugeben.


Peter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.