• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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