| # |
| # Copyright (c) 2011 Arduino. All right reserved. |
| # |
| # This library is free software; you can redistribute it and/or |
| # modify it under the terms of the GNU Lesser General Public |
| # License as published by the Free Software Foundation; either |
| # version 2.1 of the License, or (at your option) any later version. |
| # |
| # This library is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| # See the GNU Lesser General Public License for more details. |
| # |
| # You should have received a copy of the GNU Lesser General Public |
| # License along with this library; if not, write to the Free Software |
| # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| # |
| |
| # Tool suffix when cross-compiling |
| #CROSS_COMPILE = ../../../../tools/CodeSourcery_arm/bin/arm-none-eabi- |
| #CROSS_COMPILE = C:/CodeSourcery_2011.03-42/bin/arm-none-eabi- |
| CROSS_COMPILE = $(ARM_GCC_TOOLCHAIN)/arm-none-eabi- |
| |
| # Compilation tools |
| AR = $(CROSS_COMPILE)ar |
| CC = $(CROSS_COMPILE)gcc |
| CXX = $(CROSS_COMPILE)g++ |
| AS = $(CROSS_COMPILE)as |
| GDB = $(CROSS_COMPILE)gdb |
| SIZE = $(CROSS_COMPILE)size |
| NM = $(CROSS_COMPILE)nm |
| OBJCOPY = $(CROSS_COMPILE)objcopy |
| |
| ifeq ($(OS),Windows_NT) |
| RM=cs-rm -Rf |
| else |
| RM=rm -Rf |
| endif |
| |
| SEP=\\ |
| |
| # --------------------------------------------------------------------------------------- |
| # C Flags |
| |
| CFLAGS += -Wall -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int |
| CFLAGS += -Werror-implicit-function-declaration -Wmain -Wparentheses |
| CFLAGS += -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused |
| CFLAGS += -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef |
| CFLAGS += -Wshadow -Wpointer-arith -Wbad-function-cast -Wwrite-strings |
| CFLAGS += -Wsign-compare -Waggregate-return -Wstrict-prototypes |
| CFLAGS += -Wmissing-prototypes -Wmissing-declarations |
| CFLAGS += -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations |
| CFLAGS += -Wpacked -Wredundant-decls -Wnested-externs -Winline -Wlong-long |
| CFLAGS += -Wunreachable-code |
| CFLAGS += -Wcast-align |
| |
| CFLAGS += --param max-inline-insns-single=500 -mcpu=cortex-m3 -mthumb -mlong-calls -ffunction-sections -nostdlib -std=c99 |
| CFLAGS += $(OPTIMIZATION) $(INCLUDES) -D$(CHIP) -D$(VARIANT) |
| |
| # To reduce application size use only integer printf function. |
| CFLAGS += -Dprintf=iprintf |
| |
| # --------------------------------------------------------------------------------------- |
| # CPP Flags |
| |
| CPPFLAGS += -Wall -Wchar-subscripts -Wcomment -Wformat=2 |
| CPPFLAGS += -Wmain -Wparentheses -Wcast-align -Wunreachable-code |
| CPPFLAGS += -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused |
| CPPFLAGS += -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef |
| CPPFLAGS += -Wshadow -Wpointer-arith -Wwrite-strings |
| CPPFLAGS += -Wsign-compare -Waggregate-return -Wmissing-declarations |
| CPPFLAGS += -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations |
| CPPFLAGS += -Wpacked -Wredundant-decls -Winline -Wlong-long |
| |
| #-fno-rtti -fno-exceptions |
| CPPFLAGS += --param max-inline-insns-single=500 -mcpu=cortex-m3 -mthumb -mlong-calls -ffunction-sections -std=c++98 |
| CPPFLAGS += $(OPTIMIZATION) $(INCLUDES) -D$(CHIP) |
| |
| # To reduce application size use only integer printf function. |
| CPPFLAGS += -Dprintf=iprintf |
| |
| # --------------------------------------------------------------------------------------- |
| # ASM Flags |
| |
| ASFLAGS = -mcpu=cortex-m3 -mthumb -Wall -g $(OPTIMIZATION) $(INCLUDES) |