# compiler flags: # -Os : optimize size # -DF_CPU=16000000UL : define F_CPU as 16Mghz # -mmcu=atmega328p : target MCU #MMCU=atmega328 MMCU=atmega2560 ifeq ($(MMCU),atmega328) PROG_MMCU=atmega328p PROG_DEV=arduino AVRD_CONF= endif ifeq ($(MMCU),atmega2560) PROG_MMCU=$(MMCU) PROG_DEV=wiring AVRD_CONF="-C/etc/avrdude/avrdude.conf" endif main.hex : main.c # compile to object file (optimize for size) avr-gcc -Os -DF_CPU=16000000UL -mmcu=$(MMCU) -o main.elf main.c # convert ELF format to an IHEX format as used by avrdude avr-objcopy -O ihex -R .eeprom main.elf main.hex burn: avrdude $(AVR_CONF) -v -p$(PROG_MMCU) -c$(PROG_DEV) -P/dev/ttyACM0 -b115200 -D -Uflash:w:main.hex:i clean : rm -f main.o main.elf main.hex