diff -r f01fb659e54d -r e4ac5a591dcd Makefile --- a/Makefile Thu Apr 03 18:49:18 2014 +0300 +++ b/Makefile Thu Apr 03 18:54:50 2014 +0300 @@ -2,10 +2,12 @@ # console # dmx -all: $(PROG).hex +HEX = build/src/$(PROG).hex + +all: $(HEX) build: - mkdir -p build/ + mkdir -p build/src ## Compiler MCU = atmega328p @@ -17,17 +19,17 @@ CPPFLAGS = -DF_CPU=$(CPU)UL CFLAGS = -g -mmcu=$(MCU) -Os -%.elf: %.c +build/%.elf: %.c $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $*.c $(CC) -MM $(CPPFLAGS) -MT $@ -MF build/$*.d $*.c # existing .d files for rebuilding existing .o's -include $(wildcard build/*.d) -%.hex: %.elf +build/%.hex: build/%.elf avr-objcopy -O ihex -R .eeprom $< $@ -.PRECIOUS: %.elf +.PRECIOUS: build/%.elf ## Assembler AS = avra @@ -58,7 +60,7 @@ AD = avrdude ADFLAGS = -p $(AD_PART) -c $(AD_PROG) -b $(AD_BAUD) -P $(AD_PORT) -upload: $(PROG).hex +upload: $(HEX) $(AD) $(ADFLAGS) -U flash:w:$< ## Console