diff options
author | Stephen Warren <swarren@nvidia.com> | 2013-07-24 10:09:18 -0700 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2013-08-02 18:29:32 -0400 |
commit | cc4f427bbd7192b602310ee27ee34e3bfe81608b (patch) | |
tree | 18f0a2c82ed89dd5e925a1c2ec2fa437cda9bdad | |
parent | 6697d558623d2a3d28c9fc5a0b104ade39c51832 (diff) | |
download | u-boot-imx-cc4f427bbd7192b602310ee27ee34e3bfe81608b.zip u-boot-imx-cc4f427bbd7192b602310ee27ee34e3bfe81608b.tar.gz u-boot-imx-cc4f427bbd7192b602310ee27ee34e3bfe81608b.tar.bz2 |
dts/Makefile: simplify dtc invocation
The invocation of dtc is significantly more complex that it could be,
in order to work around an issue on old versions of dtc, which print
a message to stdout every time they run.
Remove this workaround, on the assumption that people have or will
upgrade to a newer version of dtc. This simplifies the build rule
significantly.
Related, split the invocation of cpp and dtc into separate commands
rather than a pipeline, so that if either fail, it is detected. This has
the nice benefit of saving off the result of the pre-processing step,
allowing it to be easily inspected.
Assuming a new enough dtc (which an earlier patch enforces), dtc will
parse #line directives in its input file, and generate correct file and
line numbers in error messages, even though cpp is unconditionally
applied to its input file.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | dts/Makefile | 9 |
2 files changed, 3 insertions, 7 deletions
@@ -16,6 +16,7 @@ *.patch *.bin *.cfgtmp +*.dts.tmp # Build tree /build-* diff --git a/dts/Makefile b/dts/Makefile index 35303f7..edaa65e 100644 --- a/dts/Makefile +++ b/dts/Makefile @@ -35,13 +35,8 @@ all: $(obj).depend $(LIB) DT_BIN := $(obj)dt.dtb $(DT_BIN): $(TOPDIR)/board/$(VENDOR)/dts/$(DEVICE_TREE).dts - 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 1>&2 ) ; \ - exit $$rc + $(CPP) -P $(DTS_CPPFLAGS) $< -o $(DT_BIN).dts.tmp + $(DTC) -R 4 -p 0x1000 -O dtb -o ${DT_BIN} $(DT_BIN).dts.tmp process_lds = \ $(1) | sed -r -n 's/^OUTPUT_$(2)[ ("]*([^")]*).*/\1/p' |