Makefile 1.7 KB
Newer Older
1
#
2
# Builds test programs. This is launched from elf_test.BuildElfTestFiles()
3 4 5 6 7 8 9
#
# Copyright (C) 2017 Google, Inc
# Written by Simon Glass <sjg@chromium.org>
#
# SPDX-License-Identifier:      GPL-2.0+
#

10
VPATH := $(SRC)
11 12
CFLAGS := -march=i386 -m32 -nostdlib -I $(SRC)../../../include \
	-Wl,--no-dynamic-linker
13

14
LDS_UCODE := -T $(SRC)u_boot_ucode_ptr.lds
15
LDS_BINMAN := -T $(SRC)u_boot_binman_syms.lds
16
LDS_BINMAN_BAD := -T $(SRC)u_boot_binman_syms_bad.lds
17
LDS_BINMAN_X86 := -T $(SRC)u_boot_binman_syms_x86.lds
18

19 20
TARGETS = u_boot_ucode_ptr u_boot_no_ucode_ptr bss_data \
	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 23 24 25 26 27 28 29 30

all: $(TARGETS)

u_boot_no_ucode_ptr: CFLAGS += $(LDS_UCODE)
u_boot_no_ucode_ptr: u_boot_no_ucode_ptr.c

u_boot_ucode_ptr: CFLAGS += $(LDS_UCODE)
u_boot_ucode_ptr: u_boot_ucode_ptr.c

31
bss_data: CFLAGS += $(SRC)bss_data.lds
32 33
bss_data: bss_data.c

34 35 36 37 38 39
u_boot_binman_syms.bin: u_boot_binman_syms
	objcopy -O binary $< -R .note.gnu.build-id $@

u_boot_binman_syms: CFLAGS += $(LDS_BINMAN)
u_boot_binman_syms: u_boot_binman_syms.c

40 41 42
u_boot_binman_syms_x86: CFLAGS += $(LDS_BINMAN_X86)
u_boot_binman_syms_x86: u_boot_binman_syms_x86.c

43 44 45 46 47 48
u_boot_binman_syms_bad: CFLAGS += $(LDS_BINMAN_BAD)
u_boot_binman_syms_bad: u_boot_binman_syms_bad.c

u_boot_binman_syms_size: CFLAGS += $(LDS_BINMAN)
u_boot_binman_syms_size: u_boot_binman_syms_size.c

49 50 51 52 53 54 55 56 57 58 59 60 61
clean:
	rm -f $(TARGETS)

help:
	@echo "Makefile for binman test programs"
	@echo
	@echo "Intended for use on x86 hosts"
	@echo
	@echo "Targets:"
	@echo
	@echo -e "\thelp	- Print help (this is it!)"
	@echo -e "\tall	- Builds test programs (default targget)"
	@echo -e "\tclean	- Delete output files"