VUSB-Firmware for Attiny85 implementing HMAC one time password authentication
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
hmac-otp/libcrypt/Makefile

112 lines
2.9 KiB

#
# Targets:
# <none> generate flash file
# install generate flash
# download download flash
# check shows md5 and sha1 sum of uploaded code
# clean remove obj- and temporary files
#
#
#-------------------------------------------------------------------------
# User defines
#-------------------------------------------------------------------------
SECRET = -DSECLEN=6 -DSECRET="{0xC0, 0xFF, 0xEE, 0xDE, 0xCA, 0xDE}"
DEFINES = -DDEBUG -DF_CPU=16000000 -DKBD_DE -DEEPROM_SIZE=512 $(SECRET)
#DEFINES = -DDEBUG -DCALIB -DF_CPU=16500000 -DKBD_US -DEEPROM_SIZE=512
# target architecture
MCU = atmega168
#-------------------------------------------------------------------------
# project specific things
# change these definitions for new projects
#-------------------------------------------------------------------------
PROJNAME = arduino_HOTP
OBJS = main.o \
trunc.o \
calib.o \
usb_callback.o \
buffer/buffer.o \
sha1/sha1-asm.o \
hmac-sha1/hmac-sha1.o \
usbdrv/usbdrv.o \
usbdrv/oddebug.o \
usbdrv/usbdrvasm.o
INCLUDE = -Isha1 -Ihmac-sha1 -Iusbdrv -Imem_eval -Ibuffer
#-------------------------------------------------------------------------
# macros for the tools
#-------------------------------------------------------------------------
BAUD = 19200
BINFORMAT = ihex
# programmer format, this depends on programmer or bootloader you're using
#PROGFORMAT = dasa2
#PROGFORMAT = dapa
#PROGFORMAT = stk200
#PROGFORMAT = usbtiny
PROGFORMAT = stk500v2
# programmer-device-file
#IFCTYPE = /dev/ttyS0
#IFCTYPE = /dev/ttyS1
#IFCTYPE = /dev/ttyACM0
#IFCTYPE = /dev/ttyACM1
IFCTYPE = /dev/ttyUSB0
#IFCTYPE = /dev/ttyUSB1
# Tools
AS = avr-as
ASLD = avr-gcc -x assembler
LD = avr-ld
CC = avr-gcc
OBJCOPY = avr-objcopy
#PROGR = uisp
#PROGR = at16prog
PROGR = lboot
#PROGR = avrdude
# Flags
CFLAGS = -Wall -Os -mmcu=$(MCU) $(DEFINES)
LDFLAGS = -Wl,-Map=$*.map -mmcu=$(MCU)
OCFLAGS = -O $(BINFORMAT)
# at16prog
#PRFLAGS = $(IFCTYPE) -dprog=$(PROGFORMAT) -dpart=$(MCU)
# avrdude
#PRFLAGS = -F -p $(MCU) -P $(IFCTYPE) -c $(PROGFORMAT) -b $(BAUD)
PRFLAGS = -d $(IFCTYPE) -b $(BAUD)
#-------------------------------------------------------------------------
# the targets
#-------------------------------------------------------------------------
all: $(PROJNAME).hex $(PROJNAME).elf $(OBJS)
%.hex: %.elf
$(OBJCOPY) $(OCFLAGS) $< $@
@chmod ugo-x $@
%.elf: $(OBJS)
$(CC) $(OBJS) $(LIBS) $(LDFLAGS) -o $@
%.o: %.c
$(CC) $(CFLAGS) $(INCLUDE) -Wa,-a=$*.list -c -o $@ $<
%.o: %.S
$(CC) $(CFLAGS) $(INCLUDE) -Wa,-a=$*.list -c -o $@ $<
install: $(PROJNAME).hex
$(PROGR) $(PRFLAGS) -p $(PROJNAME).hex
#$(PROGR) $(PRFLAGS) -U flash:w:$(PROJNAME).hex
TMP=*.hex *.elf *.map *.list *.o *~
define TMPCLEAN
@cd $(dir); rm -f $(TMP)
endef
clean:
$(foreach dir,$(dir $(OBJS)), $(TMPCLEAN))