Forum: Compiler & IDEs WinAvr Makefile Frage


von dummy (Gast)


Lesenswert?

Wieso geht das nicht?:

# List C source files here. (C dependencies are automatically 
generated.)
SRC = main.c ../can/mcp2515.c ../avr/spi.c arp.c icmp.c ip.c net.c 
netstack.c rtl8019.c


von Patrick D. (oldbug) Benutzerseite


Lesenswert?

Was geht denn daran nicht?

von dummy (Gast)


Lesenswert?

Compiling C: ../can/mcp2515.c
avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2 -DF_CPU=4000000UL -Os 
-funsigned-char -f
unsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes 
-Wundef
 -Wa,-adhlns=obj/../can/mcp2515.lst -I../avr -I../can -std=gnu99 -Wundef 
-MD -MP
 -MF .dep/mcp2515.o.d ../can/mcp2515.c -o obj/../can/mcp2515.o
Assembler messages:
FATAL: can't create obj/../can/mcp2515.o: No such file or directory
make: *** [obj/../can/mcp2515.o] Error 1

Da müsste es doch irgendein macro für geben?

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

Kann es sein, dass im Pfad-Namen Leerzeichen vorhanden sind?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Der Ansatz mit den obj-Subdirs funktioniert nicht, wenn man die
Quellen über ..-Verzeichnisse reinziehen will.  Sinnvollerweise
installiert man das Makefile ja auch im Toplevel, d. h. alle
Quellen liegen unterhalb.  Wenn das nicht geht, muss man auf
die obj-Unterverzeichnisse verzichten, dann sollte auch wieder
alles funktionieren.

von dummy (Gast)


Lesenswert?

Gibt's da kein makefile macro das den pfad wegstrippt? Wenn ich nämlich 
auf das obj-unterverzeichnis verzichte gibt's probleme mit den 
dependencies. Oder tut er die compiler optionen bei den dependencies 
inzwischen mit einberechnen?

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.