config.mk 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #
  2. # (C) Copyright 2000-2010
  3. # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  4. #
  5. # SPDX-License-Identifier: GPL-2.0+
  6. #
  7. ifeq ($(CROSS_COMPILE),)
  8. CROSS_COMPILE := ppc_8xx-
  9. endif
  10. CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000
  11. LDFLAGS_FINAL += --gc-sections
  12. LDFLAGS_FINAL += --bss-plt
  13. PLATFORM_RELFLAGS += -fpic -mrelocatable -ffunction-sections \
  14. -fdata-sections -mcall-linux
  15. PF_CPPFLAGS_POWERPC := $(call cc-option,-fno-ira-hoist-pressure,)
  16. PLATFORM_CPPFLAGS += -D__powerpc__ -ffixed-r2 -m32 $(PF_CPPFLAGS_POWERPC)
  17. PLATFORM_LDFLAGS += -m32 -melf32ppclinux
  18. #
  19. # When cross-compiling on NetBSD, we have to define __PPC__ or else we
  20. # will pick up a va_list declaration that is incompatible with the
  21. # actual argument lists emitted by the compiler.
  22. #
  23. # [Tested on NetBSD/i386 1.5 + cross-powerpc-netbsd-1.3]
  24. ifeq ($(CROSS_COMPILE),powerpc-netbsd-)
  25. PLATFORM_CPPFLAGS+= -D__PPC__
  26. endif
  27. ifeq ($(CROSS_COMPILE),powerpc-openbsd-)
  28. PLATFORM_CPPFLAGS+= -D__PPC__
  29. endif
  30. # Only test once
  31. ifneq ($(CONFIG_SPL_BUILD),y)
  32. archprepare: checkgcc4
  33. # GCC 3.x is reported to have problems generating the type of relocation
  34. # that U-Boot wants.
  35. # See http://lists.denx.de/pipermail/u-boot/2012-September/135156.html
  36. checkgcc4:
  37. @if test "$(call cc-name)" = "gcc" -a \
  38. $(call cc-version) -lt 0400; then \
  39. echo -n '*** Your GCC is too old, please upgrade to GCC 4.x or newer'; \
  40. false; \
  41. fi
  42. endif