summaryrefslogtreecommitdiff
path: root/dts
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2012-04-19 02:36:44 +0000
committerWolfgang Denk <wd@denx.de>2012-04-21 16:48:14 +0200
commit896bbb5316f9e473d95766a2f295cc6f69af3a51 (patch)
tree9151599eedc74ca8465efe191d38154ce4aca4cf /dts
parent82f45866ee90b5e6a8f63500ae6feada0864d821 (diff)
downloadu-boot-896bbb5316f9e473d95766a2f295cc6f69af3a51.tar.gz
fdt: avoid bad MAKEALL status
Current versions of dtc always print a message like DTC: dts->dtb on file "dt.dtb.tmp" which cannot even be suppressed with "-qqq". To avoid incorrect MAKEALL status, we manually filter out this message. This is a bit complicated, as we have to make sure to set a correct return code. Also, get rid of the temp file: dtc accepts "-" for stdin. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'dts')
-rw-r--r--dts/Makefile10
1 files changed, 7 insertions, 3 deletions
diff --git a/dts/Makefile b/dts/Makefile
index 8b13b23245..914e479fb2 100644
--- a/dts/Makefile
+++ b/dts/Makefile
@@ -46,9 +46,13 @@ all: $(obj).depend $(LIB)
DT_BIN := $(obj)dt.dtb
$(DT_BIN): $(TOPDIR)/board/$(VENDOR)/dts/$(DEVICE_TREE).dts
- cat $< | $(CPP) -P $(DTS_CPPFLAGS) - >$@.tmp
- $(DTC) -R 4 -p 0x1000 -O dtb -o ${DT_BIN} $@.tmp
- rm $@.tmp
+ rc=$$( \
+ cat $< | $(CPP) -P $(DTS_CPPFLAGS) - | \
+ { { $(DTC) -R 4 -p 0x1000 -O dtb -o ${DT_BIN} - 2>&1 ; \
+ echo $$? >&3 ; } | \
+ grep -v '^DTC: dts->dtb on file' ; \
+ } 3>&1 ) ; \
+ exit $$rc
process_lds = \
$(1) | sed -r -n 's/^OUTPUT_$(2)[ ("]*([^")]*).*/\1/p'