Makefile
changeset 51 ec6271f0637b
parent 50 e4ac5a591dcd
child 58 a445e08b63e0
equal deleted inserted replaced
50:e4ac5a591dcd 51:ec6271f0637b
     1 PROG = hello
     1 PROG = hello
     2 # console
     2 # console
     3 # dmx
     3 # dmx
     4 
     4 
       
     5 ELF = build/src/$(PROG).elf
     5 HEX = build/src/$(PROG).hex
     6 HEX = build/src/$(PROG).hex
     6 
     7 
     7 all: $(HEX)
     8 all: $(HEX)
     8 
     9 
     9 build:
    10 build:
    22 build/%.elf: %.c
    23 build/%.elf: %.c
    23 	$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $*.c
    24 	$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $*.c
    24 	$(CC) -MM $(CPPFLAGS) -MT $@ -MF build/$*.d $*.c
    25 	$(CC) -MM $(CPPFLAGS) -MT $@ -MF build/$*.d $*.c
    25 
    26 
    26 # existing .d files for rebuilding existing .o's
    27 # existing .d files for rebuilding existing .o's
    27 -include $(wildcard build/*.d)
    28 -include $(wildcard build/*/*.d)
    28 
    29 
    29 build/%.hex: build/%.elf
    30 build/%.hex: build/%.elf
    30 	avr-objcopy -O ihex -R .eeprom $< $@
    31 	avr-objcopy -O ihex -R .eeprom $< $@
    31 
    32 
    32 .PRECIOUS: build/%.elf
    33 .PRECIOUS: build/%.elf
       
    34 
       
    35 dump: $(ELF)
       
    36 	avr-objdump -d $(ELF)
    33 
    37 
    34 ## Assembler
    38 ## Assembler
    35 AS = avra
    39 AS = avra
    36 ASFLAGS = 
    40 ASFLAGS = 
    37 
    41