Makevars.cm3-ecross-gcc 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #
  2. # Copyright (C) 2010 by Thermotemp GmbH, Embedded-IT, based on template from Egnite
  3. #
  4. # All rights reserved.
  5. #
  6. # Redistribution and use in source and binary forms, with or without
  7. # modification, are permitted provided that the following conditions
  8. # are met:
  9. #
  10. # 1. Redistributions of source code must retain the above copyright
  11. # notice, this list of conditions and the following disclaimer.
  12. # 2. Redistributions in binary form must reproduce the above copyright
  13. # notice, this list of conditions and the following disclaimer in the
  14. # documentation and/or other materials provided with the distribution.
  15. # 3. Neither the name of the copyright holders nor the names of
  16. # contributors may be used to endorse or promote products derived
  17. # from this software without specific prior written permission.
  18. #
  19. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  20. # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  21. # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  22. # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  23. # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  24. # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  25. # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
  26. # OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
  27. # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  28. # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
  29. # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  30. # SUCH DAMAGE.
  31. #
  32. # For additional information see http://www.ethernut.de/
  33. #
  34. # $Id: Makevars.cm3-ecross-gcc $
  35. #
  36. # Inherit general gcc variables.
  37. include $(top_srcdir)/Makevars.gcc
  38. # Set target specific variables.
  39. ARCH = cm3
  40. TRGT = arm-eCross-eabi-
  41. MCFLAGS = -mcpu=$(MCU) -mthumb -mlittle-endian -D__CORTEX__
  42. // CXXFLAGS_OPT = -Os -fno-delete-null-pointer-checks -fno-exceptions -fno-rtti
  43. LDFLAGS = $(MCFLAGS) -g -nostartfiles -L$(LDPATH) -T$(LDSCRIPT) -Wl,-Map=$(PROJ).map,--cref,--no-warn-mismatch -L$(LIBDIR)
  44. CFLAGS_MCU = $(MCFLAGS) -ffunction-sections -fdata-sections -fomit-frame-pointer $(MFIX)
  45. CXXFLAGS_MCU = $(CFLAGS_MCU) -fno-delete-null-pointer-checks -fno-exceptions -fno-rtti
  46. # C compiler options.
  47. CFLAGS_ASM = -Wa,-a=$(@:.o=.lst)
  48. CFLAGS_WRN = -Wall -Wstrict-prototypes -Werror
  49. CFLAGS_OPT = -Os
  50. CFLAGS = $(CFLAGS_MCU) $(CFLAGS_OPT) $(CFLAGS_WRN) $(CFLAGS_ASM) $(UCPFLAGS) $(DEFS)
  51. # C++ compiler options.
  52. CXXFLAGS_WRN = -Wall
  53. CXXFLAGS_ASM = $(CFLAGS_ASM)
  54. CXXFLAGS_OPT = $(CFLAGS_OPT)
  55. CXXFLAGS = $(CXXFLAGS_MCU) $(CXXFLAGS_OPT) $(CXXFLAGS_WRN) $(CXXFLAGS_ASM) $(UCPFLAGS)
  56. ELFCOF = $(BIN) \
  57. --change-section-address .data-0x08000000 \
  58. --change-section-address .bss-0x08000000 \
  59. --change-section-address .noinit-0x08000000 \
  60. --change-section-address .rodata-0x08000000