Hello Masahiro Yamada, Even the with this patch, we encountered a false error of generic board support. The problem was very interrmittent for us, but we were able to debug the problem to performing builds on EXT3 file systems which have a time stamp resolution of one second. To reproduce the problem, touch ./include/config/auto.conf and .config on a configured uboot tree on an EXT3 file system.
The patch below fixes the problem for us. Thanks, Matthew Gerlach --- Makefile | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 99097e1..84de2f9 100644 --- a/Makefile +++ b/Makefile @@ -493,8 +493,12 @@ include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd # is up-to-date. When we switch to a different board configuration, old CONFIG # macros are still remaining in include/config/auto.conf. Without the following # gimmick, wrong config.mk would be included leading nasty warnings/errors. -autoconf_is_current := $(if $(wildcard $(KCONFIG_CONFIG)),$(shell find . \ - -path ./include/config/auto.conf -newer $(KCONFIG_CONFIG))) +# We use if not (not -newer) so that we include config.mk in the event that the +# file timestamps are exacty equal which can happen on EXT3 filesystems. +autoconf_is_current := $(if $(wildcard $(KCONFIG_CONFIG)),\ + $(if $(shell find . -path ./include/config/auto.conf \ + \! -newer $(KCONFIG_CONFIG)),,./include/config/auto.conf)) + ifneq ($(autoconf_is_current),) include $(srctree)/config.mk endif -- 1.8.2. > Before this commit, make terminated with an error > where it shouldn't under some condition. > > This bug happened when we built a board unsupporting > generic board right after building with generic board. > > For example, the following sequence failed. > (harmony uses generic board but microblaze-generic does not > support it) > > $ make harmony_config > Configuring for harmony board... > $ make CROSS_COMPILE=arm-linux-gnueabi- > [ Build succeed ] > $ make microblaze-generic_config > Configuring for microblaze-generic board... > $ make CROSS_COMPILE=microblaze-linux- > Makefile:488: *** Your architecture does not support generic board. > Please undefined CONFIG_SYS_GENERIC_BOARD in your board config file. > Stop. > > We had to do "make mrproper" before building the microblaze board. > > This commit fixes this unconvenience. > > Move generic board sanity check to "prepare1" target, > which is run after generation of include/autoconf.mk. > > Signed-off-by: Masahiro Yamada <yamada.m at jp.panasonic.com> > --- ~ _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot