Wo ist denn das Problem?
Anstatt im Aufruf avr-gcc zu schreiben, gibt man eben den absoluten Pfad
zum avr-gcc an. Bei make: Viele Makefiles verwenden/setzen die Variable
CC für den C-Compiler, welche man überschreiben kann. Einfach mal nen
Blick ins Makefile wagen, und make starten mit
make CC=pfad-zum-gcc/avr-gcc
Bei der Installation von WinAVR wird eh net mehr gemacht, als das
Installationsverzeichnis zum Path hinzuzufügen, d.h. in Path kommt
<INSTALL-DIR>/bin und <INSTALL-DIR>/utils/bin
hinzu, und was vorne steht, wird eben zuerst gefunden.
Ich hab's im (selbst geschriebenen) Makefile so gelöst:
1 | CPATH=
|
2 |
|
3 | ifeq ($(GCC_VERSION),430)
|
4 | CPATH = e:/WinAVR-20080512/bin/
|
5 | endif
|
6 | ifeq ($(GCC_VERSION),422)
|
7 | CPATH = e:/WinAVR-20071221/bin/
|
8 | endif
|
9 |
|
10 | CC = $(CPATH)avr-gcc -mmcu=$(MCU_TARGET)
|
11 | LD = $(CC)
|
Wenn GCC_VERSION undefiniert ist, wird die Standard-Installation
genommen, und wenn GCC_VERSION=430 ist eben der gcc 4.3.0. So kann man
dann auch die CFLAGS anpassen.