support 2nd player streaming from separate raw file
[teensytas.git] / Makefile
1 CC = $(CROSS_COMPILE)gcc
2 CXX = $(CROSS_COMPILE)g++
3 OBJCOPY = $(CROSS_COMPILE)objcopy
4 SIZE = $(CROSS_COMPILE)size
5
6 TOOLSPATH = tools
7
8 TARGET = teensytas
9
10 # CPPFLAGS += -DUSB_SERIAL -DLAYOUT_US_ENGLISH
11 CPPFLAGS += -D__MK20DX256__ -DF_CPU=48000000
12 CPPFLAGS += -DUSB_RAWHID
13 CPPFLAGS += -Wall -Wno-format -g -Os
14 CPPFLAGS += -mcpu=cortex-m4 -mtune=cortex-m4 -mthumb -nostdlib # -MMD
15 CXXFLAGS += -std=gnu++0x -felide-constructors -fno-exceptions -fno-rtti
16 LDFLAGS = -Os -Wl,--gc-sections -mcpu=cortex-m4 -mthumb -Tteensy3/mk20dx256.ld
17 LDLIBS += -lm
18
19 C_FILES := $(wildcard *.c)
20 CT_FILES := $(wildcard teensy3/*.c)
21 OBJS += $(C_FILES:.c=.o) $(CT_FILES:.c=.o)
22
23 all: $(TARGET).hex
24
25 $(TARGET).elf: $(OBJS) $(LDSCRIPT)
26         $(CC) $(LDFLAGS) -o "$@" $(OBJS) $(LDLIBS)
27
28 %.hex: %.elf
29         $(SIZE) "$<"
30         $(OBJCOPY) -O ihex -R .eeprom "$<" "$@"
31
32 clean:
33         $(RM) $(TARGET).hex $(TARGET).elf $(OBJS)
34
35 up: $(TARGET).hex
36         teensy_loader_cli -mmcu=mk20dx128 -w $<