# # Copyright (C) 2001-2006 by egnite Software GmbH # Copyright (C) 2009 by egnite GmbH # # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. Neither the name of the copyright holders nor the names of # contributors may be used to endorse or promote products derived # from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS # OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # For additional information see http://www.ethernut.de/ # # $Id$ # # Inherit general variables. include $(top_srcdir)/Makevars.all # Toolchain commands. # CC compiles C sources to object files. # CXX compiles C++ sources to object files. # AS assembles assembly sources to object files. # AR creates libraries from object files. # TRGT is a target specific prefix like 'arm-elf-' or 'avr-'. CC = $(TRGT)gcc CXX = $(TRGT)g++ AS = $(TRGT)gcc -x assembler-with-cpp AR = $(TRGT)ar CP = cp RM = rm -f RANLIN = $(TRGT)ranlib # Preprocessor options. DEFS = $(HWDEF) INCPRE = -I CPPFLAGS = $(INCFIRST) -I$(INCDIR) -I$(INCDIRCONTRIB) $(INCLAST) $(DEFS) $(UCPFLAGS) # C compiler options. CFLAGS_ASM = -Wa,-a=$(@:.o=.lst) CFLAGS_WRN = -Wall -Wstrict-prototypes -Werror CFLAGS_OPT ?= -Os CFLAGS = $(CFLAGS_MCU) $(CFLAGS_OPT) $(CFLAGS_WRN) $(CFLAGS_ASM) $(UCPFLAGS) # C++ compiler options. CXXFLAGS_WRN = -Wall CXXFLAGS_ASM = $(CFLAGS_ASM) CXXFLAGS_OPT = -Os -fno-delete-null-pointer-checks -fno-exceptions -fno-rtti CXXFLAGS = $(CXXFLAGS_MCU) $(CXXFLAGS_OPT) $(CXXFLAGS_WRN) $(CXXFLAGS_ASM) $(UCPFLAGS) # Assembler options. ASFLAGS = $(CFLAGS) $(UASFLAG) # Librarian options. #ARFLAGS = rsv # More silent version ARFLAGS = rsc