
Hi Wolfgang,
On Mon, Jan 23, 2012 at 12:08 AM, Wolfgang Denk wd@denx.de wrote:
Dear Simon Glass,
In message CAPnjgZ3s2+w0PPyUh8c4JqgSEmSbZwWDeqBqUWKz_Bf1O0O6UQ@mail.gmail.com you wrote:
$(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
...
The lines above are running the .dts file through the C proprocessor to create a tmp file, which is then compiled. It is only really used to get the name of the SOC's device tree include file - see the definition of DTS_CPPFLAGS.
Is there actually any reason for the "cat" (the UUOCA seems to be extinct these days, cf. http://partmaps.org/era/unix/award.html) and the tmp file?
Why not rewriting as
$(CPP) -P $(DTS_CPPFLAGS) < $< | \ $(DTC) -R 4 -p 0x1000 -O dtb -o ${DT_BIN} -
Any errors produce messages with line numbers, and it is nice for people to be able to look up the file, go to the right line and see what is actually being compiled. So that's why I did this - although I certainly could use tee.
But instead I have been working on getting rid of the need for the CPP step - the -i flag (include path) has now made it into dtc so before long I will submit a patch to tidy up this logic and remove the problem.
?
Regards, Simon
Best regards,
Wolfgang Denk
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de ######## This message was made from 100% recycled electrons. ########