PROJECT = test PROCESSOR = atmega103 OBJS = test.o ERASE = uisp --erase -dprog=stk500; BURN = uisp --upload -dprog=stk500 if=$(PROJECT).hex CC = avr-gcc LINK = avr-gcc RM = rm -rf MKDIR = mkdir -p CFLAGS = -g -Os -mmcu=$(PROCESSOR) INCLUDE = -I/usr/local/avr/include/ all: .depend $(OBJS) $(MKDIR) obj $(LINK) -lm -o $(PROJECT).elf obj/*.o avr-objcopy -j .text -j .data -O ihex $(PROJECT).elf $(PROJECT).hex $(ERASE) $(BURN) %.o: %.c $(CC) $(CFLAGS) $(INCLUDE) -c -o obj/$(notdir $@) $< .depend: $(OBJS:.o=.c) $(CC) -M $(CFLAGS) $(INCLUDE) $(OBJS:.o=.c) > .depend include .depend clean: $(RM) obj/*.o $(RM) *.elf $(RM) *.hex erase: $(ERASE) burn: $(BURN) program: erase burn