Makevars.gcc 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #
  2. # Copyright (C) 2001-2006 by egnite Software GmbH
  3. # Copyright (C) 2009 by egnite GmbH
  4. #
  5. # All rights reserved.
  6. #
  7. # Redistribution and use in source and binary forms, with or without
  8. # modification, are permitted provided that the following conditions
  9. # are met:
  10. #
  11. # 1. Redistributions of source code must retain the above copyright
  12. # notice, this list of conditions and the following disclaimer.
  13. # 2. Redistributions in binary form must reproduce the above copyright
  14. # notice, this list of conditions and the following disclaimer in the
  15. # documentation and/or other materials provided with the distribution.
  16. # 3. Neither the name of the copyright holders nor the names of
  17. # contributors may be used to endorse or promote products derived
  18. # from this software without specific prior written permission.
  19. #
  20. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  21. # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  22. # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  23. # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  24. # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  25. # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  26. # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
  27. # OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
  28. # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  29. # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
  30. # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  31. # SUCH DAMAGE.
  32. #
  33. # For additional information see http://www.ethernut.de/
  34. #
  35. # $Id$
  36. #
  37. # Inherit general variables.
  38. include $(top_srcdir)/Makevars.all
  39. # Toolchain commands.
  40. # CC compiles C sources to object files.
  41. # CXX compiles C++ sources to object files.
  42. # AS assembles assembly sources to object files.
  43. # AR creates libraries from object files.
  44. # TRGT is a target specific prefix like 'arm-elf-' or 'avr-'.
  45. CC = $(TRGT)gcc
  46. CXX = $(TRGT)g++
  47. AS = $(TRGT)gcc -x assembler-with-cpp
  48. AR = $(TRGT)ar
  49. CP = cp
  50. RM = rm -f
  51. RANLIN = $(TRGT)ranlib
  52. # Preprocessor options.
  53. DEFS = $(HWDEF)
  54. INCPRE = -I
  55. CPPFLAGS = $(INCFIRST) -I$(INCDIR) -I$(INCDIRCONTRIB) $(INCLAST) $(DEFS) $(UCPFLAGS)
  56. # C compiler options.
  57. CFLAGS_ASM = -Wa,-a=$(@:.o=.lst)
  58. CFLAGS_WRN = -Wall -Wstrict-prototypes -Werror
  59. CFLAGS_OPT ?= -Os
  60. CFLAGS = $(CFLAGS_MCU) $(CFLAGS_OPT) $(CFLAGS_WRN) $(CFLAGS_ASM) $(UCPFLAGS)
  61. # C++ compiler options.
  62. CXXFLAGS_WRN = -Wall
  63. CXXFLAGS_ASM = $(CFLAGS_ASM)
  64. CXXFLAGS_OPT = -Os -fno-delete-null-pointer-checks -fno-exceptions -fno-rtti
  65. CXXFLAGS = $(CXXFLAGS_MCU) $(CXXFLAGS_OPT) $(CXXFLAGS_WRN) $(CXXFLAGS_ASM) $(UCPFLAGS)
  66. # Assembler options.
  67. ASFLAGS = $(CFLAGS) $(UASFLAG)
  68. # Librarian options.
  69. #ARFLAGS = rsv
  70. # More silent version
  71. ARFLAGS = rsc