
On Friday 11 April 2008, Grant Erickson wrote:
When building against non-local, non-disk-backed file systems (e.g. NFS, tmpfs), the u-boot build can iterate forever, attempting to re-generate "include/autoconf.mk". This occurs because $(VERSION_FILE) (aka ${ROOT}/u-boot/build/include/version_autogenerated.h) is always regarded as out-of-date because it is in the .PHONY target list, even though it's a real file and seems to need to be only created once and only once.
This patch removes $(VERSION_FILE) from the .PHONY target list and has been verified to work with various flavors and builds of make-3.81 against NFS, ext2fs, ext3fs and tmpfs file systems.
that statement is incorrect. the version file is supposed to be checked everytime you run make as it depends on a whole lot of information which cannot be expressed in the makefile. thus it needs to be a PHONY.
the latest git tree does the right thing: it doesnt actually replace the file unless it has changed which means nothing else will get regenerated unless the file actually changes. -mike