
Hi Simon,
studying the binman integration, some questions/issues popped up:
# Timestamp file to make sure that binman always runs .binman_stamp: FORCE @touch $@
A reason is not provided, neither here nor in the commit log. Is it because external blobs may have changed? I suppose the binman step is always reproducible, right?
Furthermore, files generated by binman are not properly cleaned. I have now
fit@0x280000.fit fit@0x280000.itb
in my build folder after make clean, also that .binman_stamp. The target images are only cleaned when they happen to carry a well-known name - that relates to [1].
I would suggest to give all intermediate files the same prefix, say ".binman_", so that they can be added to the clean rule. Makes sense? But [1] still needs some idea.
Jan
[1] https://www.mail-archive.com/u-boot@lists.denx.de/msg380648.html

Hi Jan,
On Mon, 17 Aug 2020 at 03:54, Jan Kiszka jan.kiszka@siemens.com wrote:
Hi Simon,
studying the binman integration, some questions/issues popped up:
# Timestamp file to make sure that binman always runs .binman_stamp: FORCE @touch $@
A reason is not provided, neither here nor in the commit log. Is it because external blobs may have changed? I suppose the binman step is always reproducible, right?
Yes we cannot control where everything comes from and there is no mechanism to check for changes in external blobs at present. So we need to do this each time.
Yes the step should be reproducible.
Furthermore, files generated by binman are not properly cleaned. I have now
fit@0x280000.fit fit@0x280000.itb
in my build folder after make clean, also that .binman_stamp. The target images are only cleaned when they happen to carry a well-known name - that relates to [1].
I would suggest to give all intermediate files the same prefix, say ".binman_", so that they can be added to the clean rule. Makes sense? But [1] still needs some idea.
I'm not too keen on a prefix as it will make everything look the same.
Perhaps binman could output a list of files that it generated? Then the Makefile could look for that list and remove the files also.
At present binman does not distinguish between files that produce a final output and those that can be used to debug intermediate outputs.
BTW I do suggest avoiding in-tree builds where possible.
Regards, Simon
participants (2)
-
Jan Kiszka
-
Simon Glass