# Makefile für (siehe PROJEKT)
PROJEKT=prell
MCU = at4433

AS=avr-as
CC=avr-gcc
LD=avr-ld
# Variable für die Assembler-, Compiler- und Linkernamen

INCLUDE=c:/peter/
	# Hauptverzeichniss des Quellcodes

C_VERZ= $(INCLUDE)$(PROJEKT)
  # Verzeichnis für das Projekt

ZW_VERZ=c:/peter/obj
  # Verzeichniss für die Obj-Dateien
  # Das Quellcodeverzeichnis bleibt "sauber"
  # Alle Zwischenergebnisse landen in diesem Verzeichnis
  
H_DATEIEN=$(wildcard $(C_VERZ)/*.h)

# Wenn sich irgendeine h-Datei verändert hat, wird alles neu kompiliert,
# im Zweifel einmal zuviel kompilieren, als dass irgendwelche Puffer nicht passen	

optionen= -g -mmcu=$(MCU) -Os -Wstrict-prototypes -fno-inline-functions -fomit-frame-pointer -Wunused -Wshadow -Wswitch -Wparentheses -Wall -Werror

$(ZW_VERZ)/%.o : $(C_VERZ)/%.c $(H_DATEIEN)
	$(CC) $< -o $@ -c $(optionen) 

#$(ZW_VERZ)/%.o : $(C_VERZ)/%.cpp $(H_DATEIEN)
#	$(CC) $< -o $@ -c $(optionen) 

# Hier alle Objektdateien für das Projekt eintragen
OBJS=$(ZW_VERZ)/$(PROJEKT).o\

# Erzeugt Intel-Hex
$(C_VERZ)/$(PROJEKT).hex: $(OBJS) makefile 
	$(LD) -Map $(ZW_VERZ)/$(PROJEKT).map -o $@\
	$(OBJS)
	avr-objcopy -O ihex $@

## Erzeugt eine Binärdatei
#$(C_VERZ)/$(PROJEKT).bin: $(OBJS) makefile 
#	$(LD) -Map $(ZW_VERZ)/$(PROJEKT).map -o $@\
#	$(OBJS)
#	avr-objcopy -O binary $@
 
# Wenn eine Binärdatei gewünscht wird, die Kommentare 
# (diese Lattenkreuze) entfernen und bei dem Intel-Hex einsetzen
# ganz wichtig, keinen von den Tabulatoren durch Leerzeichen ersetzen,
# je nach Optionen macht das auch dein Editor





                                                   
