MCU=atmega32 F_CPU=8000000 PROG=dragon_jtag DEBUGGER = dragon PORT=/dev/ttyUSB0 CC=avr-g++ OBJCOPY=avr-objcopy CFLAGS=-Wall -g -mmcu=${MCU} -DF_CPU=${F_CPU} -I. -Wno-format -Wno-cpp TARGET=main SRCS=src/*.cpp test/main.cpp lib/*/src/*.cpp default: build flash build: ${CC} ${CFLAGS} -o bin/${TARGET}.bin ${SRCS} ${CC} ${CFLAGS} -o bin/${TARGET}.elf ${SRCS} ${OBJCOPY} -j .text -j .data -O ihex bin/${TARGET}.bin bin/${TARGET}.hex flash: avrdude -p ${MCU} -c ${PROG} -U flash:w:bin/main.hex clean: rm -f bin/* debug: flash avarice avr-gdb -ex "target remote :4242" bin/main.elf avarice: sleep 1 avarice --file bin/main.elf --part ${MCU} --${DEBUGGER} :4242 &{ term: screen ${PORT} 1000000