0c1e003e |
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 = test |
9 | |
10 | # CPPFLAGS += -DUSB_SERIAL -DLAYOUT_US_ENGLISH |
11 | CPPFLAGS += -D__MK20DX256__ -DF_CPU=48000000 |
12 | CPPFLAGS += -DUSB_RAWHID |
9c4f55f4 |
13 | CPPFLAGS += -Wall -Wno-format -g -Os |
14 | CPPFLAGS += -mcpu=cortex-m4 -mtune=cortex-m4 -mthumb -nostdlib # -MMD |
0c1e003e |
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 $< |