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