AVR- Studio 4 C-Datein einbinden

Gast #2017514
Lesenswert?

grüß euch
ich möchte zu meinem projekt ein weiters c-file einbinden.
dazu habe ich es unter source files hinzugefügt. danach unter use 
external makefile das makefile im ordner "default" des projektes 
eingebunden. (siehe Anhang).
funnk nicht...
kann mir da wer helfen??

lg
willi
Angehängte Dateien:
Persönliche Seite #2017550
Lesenswert?

Willi, geh dem Hinweis von Andreas nach. In AVR Studio ist es wesentlich 
bequemer mit dessen Projektverwaltung und interner Makestruktur zu 
arbeiten statt mit externem Makefile.

Wenn du trotzdem mit externem Makefile arbeiten musst: Die Dateien in 
AVR Studio unter Source Files sind dem externen Makefile volkommen egal. 
Nur was im Makefile angegeben ist zählt.

Bei der Ergänzung des (seltsamen) Makefile kannst du dir ein Beispiel an 
der Source uart.c nehmen. Dazu sind Ergänzungen nötig:
1
## Objects that must be built in order to link
2
OBJECTS = hoello_V_0_1.o uart.o

Hier wird definiert, dass eine Objektdatei uart.o erstellt werden muss.
1
uart.o: ../../../Module/Uart/uart.c
2
  $(CC) $(INCLUDES) $(CFLAGS) -c  $<

Hier wird definiert wovon die Objektdatei abhängig ist (uart.c) und wie 
die Objektdatei uart.o erstellt werden kann.

Die Besonderheit ist, dass die Source nicht im aktuellen Verzeichnis 
liegt. Daher auch die dritte Ergänzung, damit sowas wie #include 
"uart.h" innerhalb uart.c oder main.c funktioniert:
1
## Include Directories
2
INCLUDES = -I"D:\programmieren\Hoelli\V_0_1\..\..\Module\Uart"

Hier wird der Suchpfad für die uart-spezifischen Includedateien ergänzt.

Angenommen du hast zusätzlich eine Source angie.c, dann sieht das so im 
Makefile aus:
1
## Objects that must be built in order to link
2
OBJECTS = hoello_V_0_1.o uart.o angie.o
3

4
angie.o: angie.c
5
  $(CC) $(INCLUDES) $(CFLAGS) -c  $<

Wichtig: Bei der Bearbeitung des Makefiles im Editor müssen Tabulatoren 
erhalten bleiben. Die leiten die Zeilen mit den Makekommandos ein, z.B.
1
  $(CC) $(INCLUDES) $(CFLAGS) -c  $<

Zu dem "seltsamen" Makefile: Üblich sind eher Makefiles nach dem 
Beispiel Makefile

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren