diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-11-26 05:25:24 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-11-26 05:25:24 +0100 |
commit | fa1e7177fbd442f15e31cf96113b582753764de7 (patch) | |
tree | 71034a6be4a50fbe63a6a5421223c5c4f337c3ec | |
parent | b2e5fc35ebc127e2a1ac03c7ff0719b1e6b6cd6b (diff) | |
download | busybox-w32-fa1e7177fbd442f15e31cf96113b582753764de7.tar.gz busybox-w32-fa1e7177fbd442f15e31cf96113b582753764de7.tar.bz2 busybox-w32-fa1e7177fbd442f15e31cf96113b582753764de7.zip |
build system: fix for coarse mtime problem
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | scripts/kconfig/Makefile | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index f56863f7c..b5708e2e4 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile | |||
@@ -17,11 +17,28 @@ menuconfig: $(obj)/mconf | |||
17 | config: $(obj)/conf | 17 | config: $(obj)/conf |
18 | $< Config.in | 18 | $< Config.in |
19 | 19 | ||
20 | # Mtime granularity problem. | ||
21 | # It was observed that these commands: | ||
22 | # make allnoconfig; sed -i -e '/CONFIG_TRUE/s/.*/CONFIG_TRUE=y/' .config; make | ||
23 | # sometimes produce busybox with "true" applet still disabled. | ||
24 | # This is caused by .config updated by sed having mtime which is still | ||
25 | # equal to (not bigger than) include/autoconf.h's mtime, | ||
26 | # and thus 2nd make does not regenerate include/autoconf.h. | ||
27 | # Waiting for 1 second after non-interactive "make XXXXconfig" | ||
28 | # prevents this from happening. | ||
29 | # | ||
30 | # We'd like to detect whether filesystem we are on has coarse mtimes, | ||
31 | # but can't do it yet, bbox ls hasn't got --full-time. | ||
32 | #MTIME_IS_COARSE:=@ls --full-time -ld | grep -F .000 >/dev/null | ||
33 | MTIME_IS_COARSE:=@true | ||
34 | |||
20 | oldconfig: $(obj)/conf | 35 | oldconfig: $(obj)/conf |
21 | $< -o Config.in | 36 | $< -o Config.in |
37 | $(MTIME_IS_COARSE) && sleep 1 | ||
22 | 38 | ||
23 | silentoldconfig: $(obj)/conf | 39 | silentoldconfig: $(obj)/conf |
24 | $< -s Config.in | 40 | $< -s Config.in |
41 | $(MTIME_IS_COARSE) && sleep 1 | ||
25 | 42 | ||
26 | update-po-config: $(obj)/kxgettext | 43 | update-po-config: $(obj)/kxgettext |
27 | xgettext --default-domain=linux \ | 44 | xgettext --default-domain=linux \ |
@@ -46,15 +63,19 @@ PHONY += randconfig allyesconfig allnoconfig allmodconfig defconfig | |||
46 | 63 | ||
47 | randconfig: $(obj)/conf | 64 | randconfig: $(obj)/conf |
48 | $< -r Config.in | 65 | $< -r Config.in |
66 | $(MTIME_IS_COARSE) && sleep 1 | ||
49 | 67 | ||
50 | allyesconfig: $(obj)/conf | 68 | allyesconfig: $(obj)/conf |
51 | $< -y Config.in | 69 | $< -y Config.in |
70 | $(MTIME_IS_COARSE) && sleep 1 | ||
52 | 71 | ||
53 | allnoconfig: $(obj)/conf | 72 | allnoconfig: $(obj)/conf |
54 | $< -n Config.in | 73 | $< -n Config.in |
74 | $(MTIME_IS_COARSE) && sleep 1 | ||
55 | 75 | ||
56 | allmodconfig: $(obj)/conf | 76 | allmodconfig: $(obj)/conf |
57 | $< -m Config.in | 77 | $< -m Config.in |
78 | $(MTIME_IS_COARSE) && sleep 1 | ||
58 | 79 | ||
59 | defconfig: $(obj)/conf | 80 | defconfig: $(obj)/conf |
60 | ifeq ($(KBUILD_DEFCONFIG),) | 81 | ifeq ($(KBUILD_DEFCONFIG),) |
@@ -63,9 +84,11 @@ else | |||
63 | @echo *** Default configuration is based on '$(KBUILD_DEFCONFIG)' | 84 | @echo *** Default configuration is based on '$(KBUILD_DEFCONFIG)' |
64 | $(Q)$< -D $(KBUILD_DEFCONFIG) Config.in | 85 | $(Q)$< -D $(KBUILD_DEFCONFIG) Config.in |
65 | endif | 86 | endif |
87 | $(MTIME_IS_COARSE) && sleep 1 | ||
66 | 88 | ||
67 | %_defconfig: $(obj)/conf | 89 | %_defconfig: $(obj)/conf |
68 | $(Q)$< -D $@ Config.in | 90 | $(Q)$< -D $@ Config.in |
91 | $(MTIME_IS_COARSE) && sleep 1 | ||
69 | 92 | ||
70 | # Help text used by make help | 93 | # Help text used by make help |
71 | help: | 94 | help: |