
MCU=attiny2313

CSRC=main.c
#delay.c
# TWI_Master.c

# spi.c
TARGET = doza

F_OSC = 11059200


CC=avr-gcc
LD = avr-gcc
AS = avr-gcc
AVROBJ = avr-objcopy
OBJDUMP = avr-objdump


CCFLAGS = -g -Wall -Os
#,-adhlns=$(<:.c=.lst)
CCFLAGS += -DF_OSC=$(F_OSC) -funsigned-char 
#CCFLAGS	+= -Os 

LDFLAG = -g -Wl,-Map,$(TARGET).map
#LDFLAG += -Wl,-u,vfprintf -lprintf_min

#LDFLAG += -u,vfprintf -lprintf_flt -lm

comma = ,
empty =
space = $(empty) $(empty)

OBJLIST  = $(CSRC:.c=.o)
OBJECTS	= $(subst $(space),$(comma),$(OBJLIST) )




all: hex lss ehex size


prog: $(TARGET).hex     $(TARGET)_eeprom.hex
	avrdude -p t2313 -P /dev/ttyS0 -c ponyser -U flash:w:$(TARGET).hex -U eeprom:w:$(TARGET)_eeprom.hex 


# -e $(TARGET)_eeprom.hex

lss:  $(TARGET).lss

hex:  $(TARGET).hex

size: $(TARGET).hex
	avr-size $(TARGET).out

ehex:  $(TARGET)_eeprom.hex


%_eeprom.hex: %.out
	$(AVROBJ) -j .eeprom --change-section-lma .eeprom=0 -O ihex $< $@

	
$(TARGET).out : $(OBJLIST)
	$(LD) -o $(TARGET).out $(OBJLIST) $(LDFLAG) -mmcu=$(MCU)

%o: %c
	$(CC)  -c $<  $(CCFLAGS) -mmcu=$(MCU)

%.lss: %.out
	$(OBJDUMP) -h -S $< > $@

%hex: %out
		$(AVROBJ) -j .text -j .data -O ihex $< $@

#main.o: main.c main.h
		
clean:
	rm -f *.o *out *lst *lss *.hex *.map

