config.mk 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. # SPDX-License-Identifier: GPL-2.0+
  2. # Copyright (c) 2011 The Chromium OS Authors.
  3. PLATFORM_CPPFLAGS += -D__SANDBOX__ -U_FORTIFY_SOURCE
  4. PLATFORM_CPPFLAGS += -DCONFIG_ARCH_MAP_SYSMEM
  5. PLATFORM_CPPFLAGS += -fPIC
  6. PLATFORM_LIBS += -lrt
  7. SDL_CONFIG ?= sdl2-config
  8. # Define this to avoid linking with SDL, which requires SDL libraries
  9. # This can solve 'sdl-config: Command not found' errors
  10. ifneq ($(NO_SDL),)
  11. PLATFORM_CPPFLAGS += -DSANDBOX_NO_SDL
  12. else
  13. PLATFORM_LIBS += $(shell $(SDL_CONFIG) --libs)
  14. PLATFORM_CPPFLAGS += $(shell $(SDL_CONFIG) --cflags)
  15. endif
  16. cmd_u-boot__ = $(CC) -o $@ -Wl,-T u-boot.lds $(u-boot-init) \
  17. -Wl,--whole-archive \
  18. $(u-boot-main) \
  19. -Wl,--no-whole-archive \
  20. $(PLATFORM_LIBS) -Wl,-Map -Wl,u-boot.map
  21. cmd_u-boot-spl = (cd $(obj) && $(CC) -o $(SPL_BIN) -Wl,-T u-boot-spl.lds \
  22. $(patsubst $(obj)/%,%,$(u-boot-spl-init)) \
  23. -Wl,--whole-archive \
  24. $(patsubst $(obj)/%,%,$(u-boot-spl-main)) \
  25. $(patsubst $(obj)/%,%,$(u-boot-spl-platdata)) \
  26. -Wl,--no-whole-archive \
  27. $(PLATFORM_LIBS) -Wl,-Map -Wl,u-boot-spl.map -Wl,--gc-sections)
  28. CONFIG_ARCH_DEVICE_TREE := sandbox
  29. ifeq ($(HOST_ARCH),$(HOST_ARCH_X86_64))
  30. EFI_LDS := ${SRCDIR}/../../../arch/x86/lib/elf_x86_64_efi.lds
  31. EFI_TARGET := --target=efi-app-x86_64
  32. else ifeq ($(HOST_ARCH),$(HOST_ARCH_X86))
  33. EFI_LDS := ${SRCDIR}/../../../arch/x86/lib/elf_ia32_efi.lds
  34. EFI_TARGET := --target=efi-app-ia32
  35. else ifeq ($(HOST_ARCH),$(HOST_ARCH_AARCH64))
  36. EFI_LDS := ${SRCDIR}/../../../arch/arm/lib/elf_aarch64_efi.lds
  37. OBJCOPYFLAGS += -j .text -j .secure_text -j .secure_data -j .rodata -j .data \
  38. -j .u_boot_list -j .rela.dyn -j .got -j .got.plt \
  39. -j .binman_sym_table -j .text_rest \
  40. -j .efi_runtime -j .efi_runtime_rel
  41. else ifeq ($(HOST_ARCH),$(HOST_ARCH_ARM))
  42. EFI_LDS := ${SRCDIR}/../../../arch/arm/lib/elf_arm_efi.lds
  43. OBJCOPYFLAGS += -j .text -j .secure_text -j .secure_data -j .rodata -j .hash \
  44. -j .data -j .got -j .got.plt -j .u_boot_list -j .rel.dyn \
  45. -j .binman_sym_table -j .text_rest \
  46. -j .efi_runtime -j .efi_runtime_rel
  47. else ifeq ($(HOST_ARCH),$(HOST_ARCH_RISCV32))
  48. EFI_LDS := ${SRCDIR}/../../../arch/riscv/lib/elf_riscv32_efi.lds
  49. else ifeq ($(HOST_ARCH),$(HOST_ARCH_RISCV64))
  50. EFI_LDS := ${SRCDIR}/../../../arch/riscv/lib/elf_riscv64_efi.lds
  51. endif
  52. EFI_CRT0 := crt0_sandbox_efi.o
  53. EFI_RELOC := reloc_sandbox_efi.o
  54. AFLAGS_crt0_sandbox_efi.o += -DHOST_ARCH="$(HOST_ARCH)"
  55. CFLAGS_reloc_sandbox_efi.o += -DHOST_ARCH="$(HOST_ARCH)"