avr: initial commit
[z80.git] / avr / Makefile
1 # makefile
2
3 OBJS    =  main.o uart.o i2c.o bus.o mem.o io.o cpm.o
4 OBJS    += monitor/monitor.o monitor/slots.o monitor/ihex.o
5
6 CC      = avr-gcc
7 OBJCOPY = avr-objcopy
8 AVRDUDE = sudo avrdude
9
10 CFLAGS  = -std=gnu99 -mmcu=atmega328p -DF_CPU=16000000 -Os
11
12 all: main.hex
13
14 flash: main.hex
15         @echo -e "\tFLASH"
16         @$(AVRDUDE) -y -p m328p -c usbasp -U flash:w:main.hex
17
18 main.hex: main.elf
19         @echo -e "\tOBJCOPY\t$@"
20         @$(OBJCOPY) -O ihex -R .eeprom main.elf main.hex
21
22 main.elf: $(OBJS)
23         @echo -e "\tLD\t$@"
24         @$(CC) $(CFLAGS) -o main.elf $(OBJS)
25
26 %.o: %.c
27         @echo -e "\tCC\t$@"
28         @$(CC) $(CFLAGS) -c -o $@ $^
29
30 clean:
31         @echo -e "\tCLEAN"
32         @rm -f $(OBJS) main.elf main.hex
33
34 .PHONY: clean