| # set your MCU type here, or make command line `make MCU=MK20DX256` | # set your MCU type here, or make command line `make MCU=MK20DX256` | ||||
| MCU=MK20DX256 | MCU=MK20DX256 | ||||
| #MCU=MKL26Z64 | |||||
| #MCU=MK64FX512 | |||||
| #MCU=MK66FX1M0 | |||||
| # make it lower case | # make it lower case | ||||
| LOWER_MCU := $(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$(MCU))))))))))))))))))))))))))) | LOWER_MCU := $(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$(MCU))))))))))))))))))))))))))) | ||||
| ifndef NO_ARDUINO | ifndef NO_ARDUINO | ||||
| # Path to your arduino installation | # Path to your arduino installation | ||||
| ARDUINOPATH ?= ../../../../.. | ARDUINOPATH ?= ../../../../.. | ||||
| #ARDUINOPATH ?= ../../../.. | |||||
| endif | endif | ||||
| # configurable options | # configurable options | ||||
| OPTIONS = -DF_CPU=48000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -DUSING_MAKEFILE | OPTIONS = -DF_CPU=48000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -DUSING_MAKEFILE | ||||
| # options needed by many Arduino libraries to configure for Teensy 3.0 | |||||
| OPTIONS += -D__$(MCU)__ -DARDUINO=10613 -DTEENSYDUINO=132 | |||||
| # options needed by many Arduino libraries to configure for Teensy 3.x | |||||
| OPTIONS += -D__$(MCU)__ -DARDUINO=10805 -DTEENSYDUINO=141 | |||||
| # use "cortex-m4" for Teensy 3.x | |||||
| # use "cortex-m0plus" for Teensy LC | |||||
| CPUARCH = cortex-m4 | |||||
| #CPUARCH = cortex-m0plus | |||||
| # Other Makefiles and project templates for Teensy 3.x: | # Other Makefiles and project templates for Teensy 3.x: | ||||
| #************************************************************************ | #************************************************************************ | ||||
| # CPPFLAGS = compiler options for C and C++ | # CPPFLAGS = compiler options for C and C++ | ||||
| CPPFLAGS = -Wall -g -Os -mcpu=cortex-m4 -mthumb -MMD $(OPTIONS) -I. | |||||
| CPPFLAGS = -Wall -g -Os -mcpu=$(CPUARCH) -mthumb -MMD $(OPTIONS) -I. | |||||
| # compiler options for C++ only | # compiler options for C++ only | ||||
| CXXFLAGS = -std=gnu++0x -felide-constructors -fno-exceptions -fno-rtti | |||||
| CXXFLAGS = -std=gnu++14 -felide-constructors -fno-exceptions -fno-rtti | |||||
| # compiler options for C only | # compiler options for C only | ||||
| CFLAGS = | CFLAGS = | ||||
| # linker options | # linker options | ||||
| LDFLAGS = -Os -Wl,--gc-sections,--defsym=__rtc_localtime=0 --specs=nano.specs -mcpu=cortex-m4 -mthumb -T$(MCU_LD) | |||||
| LDFLAGS = -Os -Wl,--gc-sections,--defsym=__rtc_localtime=0 --specs=nano.specs -mcpu=$(CPUARCH) -mthumb -T$(MCU_LD) | |||||
| # additional libraries to link | # additional libraries to link | ||||
| LIBS = -lm | LIBS = -lm |