summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuval Adam <yuval@y3xz.com>2016-03-25 23:41:36 +0300
committerYuval Adam <yuval@y3xz.com>2016-03-25 23:41:36 +0300
commit8edd625e1bcab5fc4c7385782050172d5ba41a1d (patch)
treec09b00b7c49f2eb9fbeacba8cbd80e86e95b7bcd
parent90c8c8a2af98abde607d830cb9614c834c7381c6 (diff)
Import nifty Makefile
-rw-r--r--keyboard/Makefile30
1 files changed, 24 insertions, 6 deletions
diff --git a/keyboard/Makefile b/keyboard/Makefile
index 59a5540..e58a14a 100644
--- a/keyboard/Makefile
+++ b/keyboard/Makefile
@@ -1,8 +1,26 @@
+CC = avr-gcc
+OBJCOPY = avr-objcopy
-default:
- # compile for attiny85 with warnings, optimizations, and 16.5MHz clock frequency
- avr-gcc -Wall -Os -mmcu=attiny85 -o keyboard.o keyboard.c
- avr-objcopy -j .text -j .data -O ihex keyboard.o keyboard.hex
+CFLAGS = -Wall -Os -Iusbdrv -mmcu=attiny85
+OBJFLAGS = -j .text -j .data -O ihex
-clean: /dev/null
- rm -f keyboard.o keyboard.hex
+OBJECTS = usbdrv/usbdrv.o usbdrv/oddebug.o usbdrv/usbdrvasm.o keyboard.o
+
+all: keyboard.hex
+
+clean:
+ $(RM) *.o *.hex *.elf usbdrv/*.o
+
+%.hex: %.elf
+ $(OBJCOPY) $(OBJFLAGS) $< $@
+
+keyboard.elf: $(OBJECTS)
+ $(CC) $(CFLAGS) $(OBJECTS) -o $@
+
+$(OBJECTS): usbdrv/usbconfig.h
+
+%.o: %.c
+ $(CC) $(CFLAGS) -c $< -o $@
+
+%.o: %.S
+ $(CC) $(CFLAGS) -x assembler-with-cpp -c $< -o $@