mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-09-28 09:11:34 +02:00
When building the U-Boot tools for non-ELF platforms (such as Blackfin FLAT), since commit 79fc0c5f498c3982aa4740c273ab1a9255063d9c ("tools/env: cross-compile fw_printenv without setting HOSTCC"), the build fails because it tries to strip a FLAT binary, which does not make sense. This commit solves this by changing the stripping logic in tools/env/Makefile to be similar to the one in tools/Makefile. This logic continues to apply strip to the final binary, but does not abort the build if it fails, and does the stripping in place on the final binary. This allows the logic to work fine if stripping doesn't work, as it leaves the final binary untouched. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Sonic Zhang <sonic.zhang@analog.com> Reviewed-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Reviewed-by: Sonic Zhang <sonic.zhang@analog.com>
37 lines
979 B
Makefile
37 lines
979 B
Makefile
#
|
|
# (C) Copyright 2002-2006
|
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
|
|
# fw_printenv is supposed to run on the target system, which means it should be
|
|
# built with cross tools. Although it may look weird, we only replace "HOSTCC"
|
|
# with "CC" here for the maximum code reuse of scripts/Makefile.host.
|
|
HOSTCC = $(CC)
|
|
|
|
# Compile for a hosted environment on the target
|
|
HOST_EXTRACFLAGS = $(patsubst -I%,-idirafter%, $(filter -I%, $(UBOOTINCLUDE))) \
|
|
-idirafter $(srctree)/tools/env \
|
|
-DUSE_HOSTCC \
|
|
-DTEXT_BASE=$(TEXT_BASE)
|
|
|
|
ifeq ($(MTD_VERSION),old)
|
|
HOST_EXTRACFLAGS += -DMTD_OLD
|
|
endif
|
|
|
|
always := fw_printenv
|
|
hostprogs-y := fw_printenv
|
|
|
|
fw_printenv-objs := fw_env.o fw_env_main.o \
|
|
crc32.o ctype.o linux_string.o \
|
|
env_attr.o env_flags.o aes.o
|
|
|
|
quiet_cmd_crosstools_strip = STRIP $^
|
|
cmd_crosstools_strip = $(STRIP) $^; touch $@
|
|
|
|
$(obj)/.strip: $(obj)/fw_printenv
|
|
$(call cmd,crosstools_strip)
|
|
|
|
always += .strip
|