Forum: Compiler & IDEs Makefile?????


von Josef Käufl (Gast)


Lesenswert?

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

von Tobi (Gast)


Lesenswert?

beim winavr paket ist doch ein nettes kleines tool zum makefile
erstellen dabei..

von Dominik (Gast)


Lesenswert?

Das Tool heißt mfile und ist sehr zu empfehlen ... nur so der
Vollständigkeit halber :)

von Andreas Hesse (Gast)


Lesenswert?

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

von Josef (Gast)


Lesenswert?

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 =)

von Josef (Gast)


Lesenswert?

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.

von Andreas Hesse (Gast)


Angehängte Dateien:

Lesenswert?

Hi

Du kannst das kompilieren auch mit einer Batchdatei erledigen.
(siehe Anhang).

Gruss
A. Hesse

von Andreas Hesse (Gast)


Lesenswert?

Hi,

postings haben sich wohl überkreuzt.

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

Gruss
Andreas

von Josef (Gast)


Lesenswert?

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 =)

von Josef (Gast)


Lesenswert?

Aha. Welche File meinst du? Deine avr_make.bat?

von Josef (Gast)


Lesenswert?

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

von Andreas Hesse (Gast)


Angehängte Dateien:

Lesenswert?

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

von Josef (Gast)


Lesenswert?

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!!!

von peter dannegger (Gast)


Angehängte Dateien:

Lesenswert?

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

von peter dannegger (Gast)


Lesenswert?

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

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.