Init
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
|
||||
CC = avr-gcc
|
||||
OBJCOPY = avr-objcopy
|
||||
SIZE = avr-size
|
||||
|
||||
F_CPU = 16000000UL
|
||||
MCU = atmega328p
|
||||
|
||||
CFLAGS += -DF_CPU=$(F_CPU) -mmcu=$(MCU)
|
||||
CFLAGS += -I. -Os --std=c11
|
||||
CFLAGS += -ffunction-sections -fdata-sections
|
||||
CFLAGS += -save-temps
|
||||
CFLAGS += -Wall
|
||||
|
||||
LDFLAGS += -s -mmcu=$(MCU)
|
||||
LDFLAGS += -Wl,--gc-sections
|
||||
LDFLAGS += -Wl,-u,vfprintf -lprintf_flt -lm
|
||||
|
||||
MAIN_OBJS += main.o
|
||||
MAIN_OBJS += adc.o
|
||||
MAIN_OBJS += button.o
|
||||
MAIN_OBJS += contr.o
|
||||
MAIN_OBJS += disp.o
|
||||
MAIN_OBJS += eeprom.o
|
||||
MAIN_OBJS += i2c.o
|
||||
MAIN_OBJS += timer.o
|
||||
MAIN_OBJS += tool.o
|
||||
|
||||
MAIN_ELF = main.elf
|
||||
MAIN_HEX = main.hex
|
||||
|
||||
all: $(MAIN_HEX)
|
||||
|
||||
$(MAIN_ELF): $(MAIN_OBJS)
|
||||
$(CC) $(LDFLAGS) -o $(MAIN_ELF) $(MAIN_OBJS)
|
||||
$(SIZE) --format=berkeley $@
|
||||
|
||||
DEPENDS_DIR = .dep
|
||||
|
||||
%.o: %.c
|
||||
@mkdir -p $(DEPENDS_DIR)
|
||||
$(CC) $(CFLAGS) -c $*.c -o $*.o
|
||||
@$(CC) -MM $(CFLAGS) $*.c > $(DEPENDS_DIR)/$*.d
|
||||
|
||||
|
||||
$(MAIN_HEX): $(MAIN_ELF)
|
||||
$(OBJCOPY) -O ihex -R .eeprom $< $@
|
||||
|
||||
AVRDUDE = sudo avrdude
|
||||
TTY_PORT = /dev/ttyUSB0
|
||||
TTY_SPEED = 115200
|
||||
BACKUP = $(MAIN_HEX).bak
|
||||
|
||||
upload: $(MAIN_HEX)
|
||||
$(AVRDUDE) -qq -c arduino -p m328p -P $(TTY_PORT) -b $(TTY_SPEED) -U flash:w:$<
|
||||
|
||||
download:
|
||||
$(AVRDUDE) -F -V -c arduino -p m328p -P $(TTY_PORT) -b $(TTY_SPEED) -U flash:r:$(BACKUP):i
|
||||
|
||||
clean:
|
||||
rm -f *.i *.o *.s
|
||||
rm -f *.hex *.elf *.bin
|
||||
rm -f *~ *.d
|
||||
rm -rf $(DEPENDS_DIR)
|
||||
|
||||
-include $(DEPENDS_DIR)/$(MAIN_OBJS:.o=.d)
|
||||
|
||||
#EOF
|
||||
Reference in New Issue
Block a user