Vergessen - das erscheint mir etwas überfüllt. Ich zeige Dir mal mein MakeFile des AVR Studio für das ASURO-Projekt:
Code:
###############################################################################
# Makefile for the project ASURO_001
###############################################################################

## General Flags
PROJECT = ASURO_001
MCU = atmega8
TARGET = ASURO_001.elf
CC = avr-gcc.exe

## Options common to compile, link and assembly rules
COMMON = -mmcu=$(MCU)

## Compile options common for all C compilation units.
CFLAGS = $(COMMON)
CFLAGS += -Wall -gdwarf-2       -DF_CPU=8000000UL -Os -fsigned-char
CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d 

## Assembly specific flags
ASMFLAGS = $(COMMON)
ASMFLAGS += $(CFLAGS)
ASMFLAGS += -x assembler-with-cpp -Wa,-gdwarf2

## Linker flags
LDFLAGS = $(COMMON)
LDFLAGS +=  -Wl,-Map=ASURO_001.map


## Intel Hex file production flags
HEX_FLASH_FLAGS = -R .eeprom

HEX_EEPROM_FLAGS = -j .eeprom
HEX_EEPROM_FLAGS += --set-section-flags=.eeprom="alloc,load"
HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 --no-change-warnings


## Include Directories
INCLUDES = -I"C:\ASURO_SRC\Projekte\ASURO_001\..\..\AsuroLib\lib\inc" 

## Libraries
LIBS = -lasuro 

## Objects that must be built in order to link
OBJECTS = ASURO_001.o asuro.o 

## Objects explicitly added by the user
LINKONLYOBJECTS = 

## Build
all: $(TARGET) ASURO_001.hex ASURO_001.eep ASURO_001.lss size

## Compile
ASURO_001.o: ../ASURO_001.c
	$(CC) $(INCLUDES) $(CFLAGS) -c  $<

asuro.o: ../../../AsuroLib/lib/asuro.c
	$(CC) $(INCLUDES) $(CFLAGS) -c  $<

##Link
$(TARGET): $(OBJECTS)
	 $(CC) $(LDFLAGS) $(OBJECTS) $(LINKONLYOBJECTS) $(LIBDIRS) $(LIBS) -o $(TARGET)

%.hex: $(TARGET)
	avr-objcopy -O ihex $(HEX_FLASH_FLAGS)  $< $@

%.eep: $(TARGET)
	-avr-objcopy $(HEX_EEPROM_FLAGS) -O ihex $< $@ || exit 0

%.lss: $(TARGET)
	avr-objdump -h -S $< > $@

size: ${TARGET}
	@echo
	@avr-size -C --mcu=${MCU} ${TARGET}

## Clean target
.PHONY: clean
clean:
	-rm -rf $(OBJECTS) ASURO_001.elf dep/* ASURO_001.hex ASURO_001.eep ASURO_001.lss ASURO_001.map


## Other dependencies
-include $(shell mkdir dep 2>/dev/null) $(wildcard dep/*)
z.B.:
## Libraries
LIBS = -lasuro

... und dann diese ganzen Objektdateien "crt86401.o" "crtc8534.o" ....

Du linkst ja Deinen ganzen Computer in den winzigen ASURO.
Das Programm ist wahrscheinlich so groß, dass es nicht in den ATmega8 passt. Abrüsten ist bei Dir angesagt!

Sieh das ganze positiv! Du liest MakeFiles (können die wenigsten) und arbeitest bereits mit dem Atmel AVR Studio. Jetzt musst Du nur noch die Fehlermeldungen verstehen lernen. Wirf mal den ganzen Müll raus.