[U-Boot] [WIP] tools/env: cleanup host build flags
Daniel Hobi
daniel.hobi at schmid-telecom.ch
Mon Oct 11 18:06:46 CEST 2010
This patch makes tools/env/Makefile more similar to tools/imls:
- define HOSTSRCS and HOSTCPPFLAGS, so that .depend generation works.
- include U-Boot headers using -idirafter to prevent picking up
u-boot/include/errno.h.
- use HOSTCFLAGS_NOPED (fw_env.c does not conform to -pedantic).
- use the cross compiler again (fw_printenv is intended for a
hosted environment on the target).
Signed-off-by: Daniel Hobi <daniel.hobi at schmid-telecom.ch>
Cc: Mike Frysinger <vapier at gentoo.org>
Cc: Wolfgang Denk <wd at denx.de>
---
tools/env/Makefile | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
Hi Scott,
In commit d984fed0 (makefiles: fixes for building build tools),
you suggest that using $(CC) with host flags (HOSTCFLAGS, etc)
is the correct way to use the cross compiler to generate binaries
for a hosted environment on the target.
On the other hand, you use $(HOSTCC) to generate the .depend file
in rules.mk which leads to wrong dependencies.
I think we need to differentiate three cases:
- (free-standing) U-Boot: use CC and CFLAGS
- native tools (mkimage, etc): use HOSTCC and HOSTCFLAGS
- Linux environment on the target (imls, fw_printenv):
Can we use CC and HOSTCFLAGS, or do we need a third set of
variables for flags?
If reusing HOSTCFLAGS: how do we fix dependency generation?
Best regards,
Daniel
diff --git a/tools/env/Makefile b/tools/env/Makefile
index f893040..a7bed87 100644
--- a/tools/env/Makefile
+++ b/tools/env/Makefile
@@ -23,19 +23,24 @@
include $(TOPDIR)/config.mk
-SRCS := $(obj)crc32.c fw_env.c fw_env_main.c
+HOSTSRCS := $(obj)crc32.c fw_env.c fw_env_main.c
HEADERS := fw_env.h
-HOSTCFLAGS += -Wall -DUSE_HOSTCC -I$(SRCTREE)/include
+# Compile for a hosted environment on the target
+HOSTCPPFLAGS = -idirafter $(SRCTREE)/include \
+ -idirafter $(OBJTREE)/include2 \
+ -idirafter $(OBJTREE)/include \
+ -DUSE_HOSTCC
ifeq ($(MTD_VERSION),old)
-HOSTCFLAGS += -DMTD_OLD
+HOSTCPPFLAGS += -DMTD_OLD
endif
all: $(obj)fw_printenv
-$(obj)fw_printenv: $(SRCS) $(HEADERS)
- $(HOSTCC) $(HOSTCFLAGS) $(HOSTLDFLAGS) -o $@ $(SRCS)
+# Some files complain if compiled with -pedantic, use HOSTCFLAGS_NOPED
+$(obj)fw_printenv: $(HOSTSRCS) $(HEADERS)
+ $(CC) $(HOSTCFLAGS_NOPED) $(HOSTLDFLAGS) -o $@ $(HOSTSRCS)
clean:
rm -f $(obj)fw_printenv $(obj)crc32.c
--
1.7.2.3
More information about the U-Boot
mailing list