42 lines
982 B
Makefile
42 lines
982 B
Makefile
|
|
DEVICE = attiny85
|
||
|
|
F_CPU = 16500000
|
||
|
|
|
||
|
|
CFLAGS = -Iusbdrv -I. -DDEBUG_LEVEL=0
|
||
|
|
OBJECTS = usbdrv/usbdrv.o usbdrv/usbdrvasm.o usbdrv/oddebug.o main.o
|
||
|
|
COMPILE = avr-gcc -Wall -Os -DF_CPU=$(F_CPU) $(CFLAGS) -mmcu=$(DEVICE)
|
||
|
|
|
||
|
|
.PHONY: help beeon
|
||
|
|
|
||
|
|
help: ## This help.
|
||
|
|
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
||
|
|
|
||
|
|
.DEFAULT_GOAL := beeon
|
||
|
|
|
||
|
|
beeon: main.hex ## build firmware
|
||
|
|
@echo "done"
|
||
|
|
|
||
|
|
main.hex: main.elf
|
||
|
|
avr-objcopy -j .text -j .data -O ihex main.elf main.hex
|
||
|
|
avr-size main.hex
|
||
|
|
|
||
|
|
main.elf: $(OBJECTS)
|
||
|
|
$(COMPILE) -o main.elf $(OBJECTS)
|
||
|
|
|
||
|
|
clean: ## cleanup build output
|
||
|
|
-rm -f main.hex main.lst main.obj main.cof main.list main.map main.eep.hex main.elf *.o usbdrv/*.o main.s usbdrv/oddebug.s usbdrv/usbdrv.s
|
||
|
|
|
||
|
|
usbdrv/usbdrv.o:
|
||
|
|
$(COMPILE) $(SERIAL) -c usbdrv/usbdrv.c -o $@
|
||
|
|
|
||
|
|
.c.o:
|
||
|
|
$(COMPILE) -c $< -o $@
|
||
|
|
|
||
|
|
.S.o:
|
||
|
|
$(COMPILE) -x assembler-with-cpp -c $< -o $@
|
||
|
|
|
||
|
|
.c.s:
|
||
|
|
$(COMPILE) -S $< -o $@
|
||
|
|
|
||
|
|
cpp:
|
||
|
|
$(COMPILE) -E main.c
|