config.mk 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #
  2. # (C) Copyright 2000-2002
  3. # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  4. #
  5. # See file CREDITS for list of people who contributed to this
  6. # project.
  7. #
  8. # This program is free software; you can redistribute it and/or
  9. # modify it under the terms of the GNU General Public License as
  10. # published by the Free Software Foundation; either version 2 of
  11. # the License, or (at your option) any later version.
  12. #
  13. # This program is distributed in the hope that it will be useful,
  14. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. # GNU General Public License for more details.
  17. #
  18. # You should have received a copy of the GNU General Public License
  19. # along with this program; if not, write to the Free Software
  20. # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  21. # MA 02111-1307 USA
  22. #
  23. CROSS_COMPILE ?= bfin-uclinux-
  24. STANDALONE_LOAD_ADDR = 0x1000 -m elf32bfin
  25. ifeq ($(CONFIG_BFIN_CPU),)
  26. CONFIG_BFIN_CPU := \
  27. $(shell awk '$$2 == "CONFIG_BFIN_CPU" { print $$3 }' \
  28. $(src)include/configs/$(BOARD).h)
  29. else
  30. CONFIG_BFIN_CPU := $(strip $(subst ",,$(CONFIG_BFIN_CPU)))
  31. endif
  32. CONFIG_BFIN_BOOT_MODE := $(strip $(subst ",,$(CONFIG_BFIN_BOOT_MODE)))
  33. PLATFORM_RELFLAGS += -ffixed-P3 -fomit-frame-pointer -mno-fdpic
  34. PLATFORM_CPPFLAGS += -DCONFIG_BLACKFIN
  35. LDFLAGS_FINAL += --gc-sections
  36. LDFLAGS += -m elf32bfin
  37. PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
  38. PLATFORM_RELFLAGS += -mcpu=$(CONFIG_BFIN_CPU)
  39. ifneq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_BYPASS)
  40. ALL += $(obj)u-boot.ldr
  41. endif
  42. ifeq ($(CONFIG_ENV_IS_EMBEDDED_IN_LDR),y)
  43. CREATE_LDR_ENV = $(obj)tools/envcrc --binary > $(obj)env-ldr.o
  44. HOSTCFLAGS_NOPED += \
  45. $(shell $(CPP) -dD - -mcpu=$(CONFIG_BFIN_CPU) </dev/null \
  46. | awk '$$2 ~ /ADSP/ { print "-D" $$2 }')
  47. else
  48. CREATE_LDR_ENV =
  49. endif
  50. SYM_PREFIX = _
  51. LDR_FLAGS-y :=
  52. LDR_FLAGS-$(CONFIG_BFIN_BOOTROM_USES_EVT1) += -J
  53. LDR_FLAGS += --bmode $(subst BFIN_BOOT_,,$(CONFIG_BFIN_BOOT_MODE))
  54. LDR_FLAGS += --use-vmas
  55. LDR_FLAGS += --initcode $(obj)$(CPUDIR)/initcode.o
  56. ifneq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_UART)
  57. LDR_FLAGS-$(CONFIG_ENV_IS_EMBEDDED_IN_LDR) += \
  58. --punchit $$(($(CONFIG_ENV_OFFSET))):$$(($(CONFIG_ENV_SIZE))):$(obj)env-ldr.o
  59. endif
  60. ifneq (,$(findstring s,$(MAKEFLAGS)))
  61. LDR_FLAGS += --quiet
  62. endif
  63. LDR_FLAGS += $(LDR_FLAGS-y)
  64. # Set some default LDR flags based on boot mode.
  65. LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
  66. ifeq ($(wildcard $(TOPDIR)/board/$(BOARD)/u-boot.lds*),)
  67. LDSCRIPT = $(obj)arch/$(ARCH)/lib/u-boot.lds.S
  68. endif
  69. ifneq ($(CONFIG_SYS_TEXT_BASE),)
  70. $(error do not set CONFIG_SYS_TEXT_BASE for Blackfin boards)
  71. endif