On 2015年07月28日 19:47, Burton, Ross wrote:
On 28 July 2015 at 03:00, <rongqing...@windriver.com
<mailto:rongqing...@windriver.com>> wrote:
+config.mk <http://config.mk> will be included only if auto.conf is
newer than .config
+but in some system, the HPET is not enabled, the smallest unit of
+time is second, and can not decise which file is newer, even if
+the correct dependency has been created.
+
+The below shows unit of time:
+
+under SUSE Linux Enterprise Desktop 11 SP2 (i586):
+ $ls --full-time include/config/auto.conf .config
+ 2015-07-27 03:46:20.000000000 -0400 .config
+ 2015-07-27 03:46:20.000000000 -0400 include/config/auto.conf
+ $
+
+under Ubuntu 14.04 LTS:
+ $ ls --full-time include/config/auto.conf .config
+ 2015-07-27 13:40:14.008703027 +0800 .config
+ 2015-07-27 13:40:15.020703054 +0800 include/config/auto.conf
+ $
+
+The rule of including config.mk <http://config.mk> in Makefile as below
+ autoconf_is_current := $(if $(wildcard
$(KCONFIG_CONFIG)),$(shell find . \
+ -path ./include/config/auto.conf -newer
$(KCONFIG_CONFIG)))
+ ifneq ($(autoconf_is_current),)
+ include $(srctree)/config.mk <http://config.mk>
+ include $(srctree)/arch/$(ARCH)/Makefile
+ endif
+
+The compilation will be failed if config.mk <http://config.mk> is
not included
+so delay 1 second to create auto.conf after creating of .config
Adding a sleep seems pretty ugly, wouldn't a neater fix be to change the
logic so that instead of the test being "is newer" you use "is not
older", to handle identical timestamps as being current.
I am not sure if your suggestion works, Since "is newer" is to fix something
as the comments in Makefile said
---------------------------------------------------------------------------
# We want to include arch/$(ARCH)/config.mk only when
include/config/auto.conf
# 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.
ifneq ($(wildcard $(KCONFIG_CONFIG)),)
ifneq ($(wildcard include/config/auto.conf),)
autoconf_is_old := $(shell find . -path ./$(KCONFIG_CONFIG) -newer \
include/config/auto.conf)
ifeq ($(autoconf_is_old),)
include $(srctree)/config.mk
include $(srctree)/arch/$(ARCH)/Makefile
endif
endif
endif
-Roy
Ross
--
Best Reagrds,
Roy | RongQing Li
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core