summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2013-07-24 10:09:18 -0700
committerTom Rini <trini@ti.com>2013-08-02 18:29:32 -0400
commitcc4f427bbd7192b602310ee27ee34e3bfe81608b (patch)
tree18f0a2c82ed89dd5e925a1c2ec2fa437cda9bdad
parent6697d558623d2a3d28c9fc5a0b104ade39c51832 (diff)
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--.gitignore1
-rw-r--r--dts/Makefile9
2 files changed, 3 insertions, 7 deletions
diff --git a/.gitignore b/.gitignore
index 771b860ee8e..43e957ac0b7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,6 +16,7 @@
*.patch
*.bin
*.cfgtmp
+*.dts.tmp
# Build tree
/build-*
diff --git a/dts/Makefile b/dts/Makefile
index 35303f7c5a8..edaa65ebb42 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'