build system: fix for coarse mtime problem
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
b2e5fc35eb
commit
fa1e7177fb
@ -17,11 +17,28 @@ menuconfig: $(obj)/mconf
|
|||||||
config: $(obj)/conf
|
config: $(obj)/conf
|
||||||
$< Config.in
|
$< Config.in
|
||||||
|
|
||||||
|
# Mtime granularity problem.
|
||||||
|
# It was observed that these commands:
|
||||||
|
# make allnoconfig; sed -i -e '/CONFIG_TRUE/s/.*/CONFIG_TRUE=y/' .config; make
|
||||||
|
# sometimes produce busybox with "true" applet still disabled.
|
||||||
|
# This is caused by .config updated by sed having mtime which is still
|
||||||
|
# equal to (not bigger than) include/autoconf.h's mtime,
|
||||||
|
# and thus 2nd make does not regenerate include/autoconf.h.
|
||||||
|
# Waiting for 1 second after non-interactive "make XXXXconfig"
|
||||||
|
# prevents this from happening.
|
||||||
|
#
|
||||||
|
# We'd like to detect whether filesystem we are on has coarse mtimes,
|
||||||
|
# but can't do it yet, bbox ls hasn't got --full-time.
|
||||||
|
#MTIME_IS_COARSE:=@ls --full-time -ld | grep -F .000 >/dev/null
|
||||||
|
MTIME_IS_COARSE:=@true
|
||||||
|
|
||||||
oldconfig: $(obj)/conf
|
oldconfig: $(obj)/conf
|
||||||
$< -o Config.in
|
$< -o Config.in
|
||||||
|
$(MTIME_IS_COARSE) && sleep 1
|
||||||
|
|
||||||
silentoldconfig: $(obj)/conf
|
silentoldconfig: $(obj)/conf
|
||||||
$< -s Config.in
|
$< -s Config.in
|
||||||
|
$(MTIME_IS_COARSE) && sleep 1
|
||||||
|
|
||||||
update-po-config: $(obj)/kxgettext
|
update-po-config: $(obj)/kxgettext
|
||||||
xgettext --default-domain=linux \
|
xgettext --default-domain=linux \
|
||||||
@ -46,15 +63,19 @@ PHONY += randconfig allyesconfig allnoconfig allmodconfig defconfig
|
|||||||
|
|
||||||
randconfig: $(obj)/conf
|
randconfig: $(obj)/conf
|
||||||
$< -r Config.in
|
$< -r Config.in
|
||||||
|
$(MTIME_IS_COARSE) && sleep 1
|
||||||
|
|
||||||
allyesconfig: $(obj)/conf
|
allyesconfig: $(obj)/conf
|
||||||
$< -y Config.in
|
$< -y Config.in
|
||||||
|
$(MTIME_IS_COARSE) && sleep 1
|
||||||
|
|
||||||
allnoconfig: $(obj)/conf
|
allnoconfig: $(obj)/conf
|
||||||
$< -n Config.in
|
$< -n Config.in
|
||||||
|
$(MTIME_IS_COARSE) && sleep 1
|
||||||
|
|
||||||
allmodconfig: $(obj)/conf
|
allmodconfig: $(obj)/conf
|
||||||
$< -m Config.in
|
$< -m Config.in
|
||||||
|
$(MTIME_IS_COARSE) && sleep 1
|
||||||
|
|
||||||
defconfig: $(obj)/conf
|
defconfig: $(obj)/conf
|
||||||
ifeq ($(KBUILD_DEFCONFIG),)
|
ifeq ($(KBUILD_DEFCONFIG),)
|
||||||
@ -63,9 +84,11 @@ else
|
|||||||
@echo *** Default configuration is based on '$(KBUILD_DEFCONFIG)'
|
@echo *** Default configuration is based on '$(KBUILD_DEFCONFIG)'
|
||||||
$(Q)$< -D $(KBUILD_DEFCONFIG) Config.in
|
$(Q)$< -D $(KBUILD_DEFCONFIG) Config.in
|
||||||
endif
|
endif
|
||||||
|
$(MTIME_IS_COARSE) && sleep 1
|
||||||
|
|
||||||
%_defconfig: $(obj)/conf
|
%_defconfig: $(obj)/conf
|
||||||
$(Q)$< -D $@ Config.in
|
$(Q)$< -D $@ Config.in
|
||||||
|
$(MTIME_IS_COARSE) && sleep 1
|
||||||
|
|
||||||
# Help text used by make help
|
# Help text used by make help
|
||||||
help:
|
help:
|
||||||
|
Loading…
Reference in New Issue
Block a user