| 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 = teensytp |
| 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 $< |