|
|
@@ -1,3 +1,9 @@ |
|
|
|
# set your MCU type here, or make command line `make MCU=MK20DX256` |
|
|
|
MCU=MK20DX256 |
|
|
|
|
|
|
|
# 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))))))))))))))))))))))))))) |
|
|
|
MCU_LD = $(LOWER_MCU).ld |
|
|
|
|
|
|
|
# The name of your project (used to name the compiled .hex file) |
|
|
|
TARGET = main |
|
|
@@ -10,7 +16,7 @@ ARDUINOPATH ?= ../../../../.. |
|
|
|
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__MK20DX256__ -DARDUINO=10600 -DTEENSYDUINO=121 |
|
|
|
OPTIONS += -D__$(MCU)__ -DARDUINO=10600 -DTEENSYDUINO=121 |
|
|
|
|
|
|
|
|
|
|
|
# Other Makefiles and project templates for Teensy 3.x: |
|
|
@@ -40,7 +46,7 @@ COMPILERPATH = $(ARDUINOPATH)/hardware/tools/arm/bin |
|
|
|
#************************************************************************ |
|
|
|
|
|
|
|
# CPPFLAGS = compiler options for C and C++ |
|
|
|
CPPFLAGS = -Wall -g -Os -mcpu=cortex-m4 -mthumb -nostdlib -MMD $(OPTIONS) -I. |
|
|
|
CPPFLAGS = -Wall -g -Os -mcpu=cortex-m4 -mthumb -MMD $(OPTIONS) -I. |
|
|
|
|
|
|
|
# compiler options for C++ only |
|
|
|
CXXFLAGS = -std=gnu++0x -felide-constructors -fno-exceptions -fno-rtti |
|
|
@@ -49,7 +55,7 @@ CXXFLAGS = -std=gnu++0x -felide-constructors -fno-exceptions -fno-rtti |
|
|
|
CFLAGS = |
|
|
|
|
|
|
|
# linker options |
|
|
|
LDFLAGS = -Os -Wl,--gc-sections,--defsym=__rtc_localtime=0 --specs=nano.specs -mcpu=cortex-m4 -mthumb -Tmk20dx256.ld |
|
|
|
LDFLAGS = -Os -Wl,--gc-sections,--defsym=__rtc_localtime=0 --specs=nano.specs -mcpu=cortex-m4 -mthumb -T$(MCU_LD) |
|
|
|
|
|
|
|
# additional libraries to link |
|
|
|
LIBS = -lm |
|
|
@@ -72,7 +78,7 @@ OBJS := $(C_FILES:.c=.o) $(CPP_FILES:.cpp=.o) |
|
|
|
|
|
|
|
all: $(TARGET).hex |
|
|
|
|
|
|
|
$(TARGET).elf: $(OBJS) mk20dx256.ld |
|
|
|
$(TARGET).elf: $(OBJS) $(MCU_LD) |
|
|
|
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) |
|
|
|
|
|
|
|
%.hex: %.elf |
|
|
@@ -87,5 +93,3 @@ $(TARGET).elf: $(OBJS) mk20dx256.ld |
|
|
|
|
|
|
|
clean: |
|
|
|
rm -f *.o *.d $(TARGET).elf $(TARGET).hex |
|
|
|
|
|
|
|
|