#CC = avr-gcc #CFLAGS = -Wall -mmcu=atmega16 -Os -Wl,-Map,test.map #OBJCOPY = avr-objcopy CC = gcc LD = gcc AR = ar ARFLAGS = rcs CFLAGS = -Wall -Os -c LDFLAGS = -Wall -Os -Wl,-Map,test.map ifdef AES192 CFLAGS += -DAES192=1 endif ifdef AES256 CFLAGS += -DAES256=1 endif OBJCOPYFLAGS = -j .text -O ihex OBJCOPY = objcopy # include path to AVR library INCLUDE_PATH = /usr/lib/avr/include # splint static check SPLINT = splint test.c aes.c -I$(INCLUDE_PATH) +charindex -unrecog default: test.elf .SILENT: .PHONY: lint clean test.hex : test.elf echo copy object-code to new image and format in hex $(OBJCOPY) ${OBJCOPYFLAGS} $< $@ test.o : test.c aes.h aes.o echo [CC] $@ $(CFLAGS) $(CC) $(CFLAGS) -o $@ $< aes.o : aes.c aes.h echo [CC] $@ $(CFLAGS) $(CC) $(CFLAGS) -o $@ $< test.elf : aes.o test.o echo [LD] $@ $(LD) $(LDFLAGS) -o $@ $^ aes.a : aes.o echo [AR] $@ $(AR) $(ARFLAGS) $@ $^ lib : aes.a clean: rm -f *.OBJ *.LST *.o *.gch *.out *.hex *.map *.elf *.a test: make clean && make && ./test.elf make clean && make AES192=1 && ./test.elf make clean && make AES256=1 && ./test.elf lint: $(call SPLINT)