|
|
|
# https://github.com/jkent/caterina-promicro
|
|
|
|
|
|
|
|
VID = 0xbeef
|
|
|
|
PID = 0x0001
|
|
|
|
|
|
|
|
LUFA_PATH = src/lufa-LUFA-210130/LUFA
|
|
|
|
LD_FLAGS = -Wl,--gc-sections -Wl,--relax
|
|
|
|
|
|
|
|
|
|
|
|
MCU = atmega32u4
|
|
|
|
F_CPU = 16000000
|
|
|
|
ARCH = AVR8
|
|
|
|
TARGET = App
|
|
|
|
SRC = src/main.c src/Descriptors.c $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS)
|
|
|
|
F_USB = $(F_CPU)
|
|
|
|
OPTIMIZATION = s
|
|
|
|
BOARD = USER
|
|
|
|
|
|
|
|
CDEFS = -DDEVICE_VID=$(VID)UL
|
|
|
|
CDEFS += -DDEVICE_PID=$(PID)UL
|
|
|
|
CC_FLAGS = -Isrc -DUSE_LUFA_CONFIG_HEADER -IConfig/ $(CDEFS) -I$(LUFA_PATH)/
|
|
|
|
CC_FLAGS += -std=gnu99 -mmcu=$(MCU) -DF_CPU=$(F_CPU)UL $(CDEFS)
|
|
|
|
CC_FLAGS += -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
|
|
|
|
CC_FLAGS += -Wall -Wno-main -Wno-strict-prototypes -Wno-comment
|
|
|
|
CC_FLAGS += -g2 -Wextra -Wfatal-errors -Wno-unused-but-set-variable
|
|
|
|
CC_FLAGS += -ffunction-sections -fdata-sections -Os $(LUFA_OPTS)
|
|
|
|
|
|
|
|
|
|
|
|
include $(LUFA_PATH)/Build/lufa_core.mk
|
|
|
|
include $(LUFA_PATH)/Build/lufa_sources.mk
|
|
|
|
include $(LUFA_PATH)/Build/lufa_build.mk
|
|
|
|
#include $(LUFA_PATH)/Build/lufa_cppcheck.mk
|
|
|
|
#include $(LUFA_PATH)/Build/lufa_doxygen.mk
|
|
|
|
#include $(LUFA_PATH)/Build/lufa_dfu.mk
|
|
|
|
#include $(LUFA_PATH)/Build/lufa_hid.mk
|
|
|
|
#include $(LUFA_PATH)/Build/lufa_avrdude.mk
|
|
|
|
#include $(LUFA_PATH)/Build/lufa_atprogram.mk
|
|
|
|
|
|
|
|
PROGRAMMER_TYPE = avr109
|
|
|
|
PROGRAMMER_ARGS = -P /dev/ttyACM0
|
|
|
|
AVRDUDE = avrdude
|
|
|
|
|
|
|
|
.PHONY: eeprom flash flashe shell
|
|
|
|
eeprom: $(TARGET).eeprom
|
|
|
|
|
|
|
|
%.eeprom: %.elf
|
|
|
|
$(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O ihex $< $@
|
|
|
|
|
|
|
|
|
|
|
|
flash: $(TARGET).hex
|
|
|
|
#stty -F /dev/ttyACM0 speed 1200
|
|
|
|
#stty -F /dev/ttyACM0 speed 115200
|
|
|
|
$(AVRDUDE) -c $(PROGRAMMER_TYPE) -p $(MCU) $(PROGRAMMER_ARGS) -U flash:w:$<
|
|
|
|
|
|
|
|
flashe: $(TARGET).eeprom
|
|
|
|
$(AVRDUDE) -c $(PROGRAMMER_TYPE) -p $(MCU) $(PROGRAMMER_ARGS) -U eeprom:w:$<
|
|
|
|
|
|
|
|
shell:
|
|
|
|
$(AVRDUDE) -c $(PROGRAMMER_TYPE) -p $(MCU) $(PROGRAMMER_ARGS) -nt
|