1# 2# Builds test programs. This is launched from elf_test.BuildElfTestFiles() 3# 4# Copyright (C) 2017 Google, Inc 5# Written by Simon Glass <sjg@chromium.org> 6# 7# SPDX-License-Identifier: GPL-2.0+ 8# 9 10VPATH := $(SRC) 11CFLAGS := -march=i386 -m32 -nostdlib -I $(SRC)../../../include \ 12 -Wl,--no-dynamic-linker 13 14LDS_UCODE := -T $(SRC)u_boot_ucode_ptr.lds 15LDS_BINMAN := -T $(SRC)u_boot_binman_syms.lds 16LDS_BINMAN_BAD := -T $(SRC)u_boot_binman_syms_bad.lds 17LDS_BINMAN_X86 := -T $(SRC)u_boot_binman_syms_x86.lds 18 19TARGETS = u_boot_ucode_ptr u_boot_no_ucode_ptr bss_data \ 20 u_boot_binman_syms u_boot_binman_syms.bin u_boot_binman_syms_bad \ 21 u_boot_binman_syms_size u_boot_binman_syms_x86 22 23all: $(TARGETS) 24 25u_boot_no_ucode_ptr: CFLAGS += $(LDS_UCODE) 26u_boot_no_ucode_ptr: u_boot_no_ucode_ptr.c 27 28u_boot_ucode_ptr: CFLAGS += $(LDS_UCODE) 29u_boot_ucode_ptr: u_boot_ucode_ptr.c 30 31bss_data: CFLAGS += $(SRC)bss_data.lds 32bss_data: bss_data.c 33 34u_boot_binman_syms.bin: u_boot_binman_syms 35 objcopy -O binary $< -R .note.gnu.build-id $@ 36 37u_boot_binman_syms: CFLAGS += $(LDS_BINMAN) 38u_boot_binman_syms: u_boot_binman_syms.c 39 40u_boot_binman_syms_x86: CFLAGS += $(LDS_BINMAN_X86) 41u_boot_binman_syms_x86: u_boot_binman_syms_x86.c 42 43u_boot_binman_syms_bad: CFLAGS += $(LDS_BINMAN_BAD) 44u_boot_binman_syms_bad: u_boot_binman_syms_bad.c 45 46u_boot_binman_syms_size: CFLAGS += $(LDS_BINMAN) 47u_boot_binman_syms_size: u_boot_binman_syms_size.c 48 49clean: 50 rm -f $(TARGETS) 51 52help: 53 @echo "Makefile for binman test programs" 54 @echo 55 @echo "Intended for use on x86 hosts" 56 @echo 57 @echo "Targets:" 58 @echo 59 @echo -e "\thelp - Print help (this is it!)" 60 @echo -e "\tall - Builds test programs (default targget)" 61 @echo -e "\tclean - Delete output files" 62