On Sat, May 31, 2008 at 08:42:45AM +0200, Denys Vlasenko wrote:
>Hi Bernd,
>
>While testing build system with some scripts I was bitten
>by the cosmetic problem that make is never silent.
>Even if it doesn't build anything, it says
>"make[1]: `conf' is up to date". My scripts were deciding
>that if make says something, it means we see spurious
>rebuilds happening.
>
>I added this TODO for now in top-level Makefile.in:
>
>extra/config/conf extra/config/mconf: include/bits
># TODO: this results in "make[1]: `conf' is up to date" printed
># on every rebuild, because extra/config/conf is already built
># on previous make run. Make it "test -x $@ || ..." (simple & a bit wrong)
># or "make -q -C extra/config $(notdir $@) || ..." (less readable)?
> $(Q)$(MAKE) -C extra/config $(notdir $@)
>
>In your opinion, which option would be more appropriate here?
I don't see why we need this dependency in the first place?
Does anybody see why we shouldn't just remove it?
With or without it, we miss one crucial dep anyway:
$ make -j 128
[]
./extra/scripts/conf-header.sh .config > include/bits/uClibc_config.h
CC ldso/ldso/ldso.oS
AS ldso/ldso/i386/resolve.oS
CC ldso/libdl/libdl.oS
CC libc/sysdeps/linux/i386/brk.os
In file included from ./ldso/ldso/i386/dl-syscalls.h:3,
from ./ldso/include/dl-syscall.h:12,
from ./ldso/include/ldso.h:36,
from ldso/ldso/ldso.c:33:
./include/sys/syscall.h:32:25: error: bits/sysnum.h: No such file or
directory
I'm looking into this.
Index: Makefile.in
===================================================================
--- Makefile.in (revision 22215)
+++ Makefile.in (working copy)
@@ -369,34 +369,27 @@ headers:
endif # ifeq ($(HAVE_DOT_CONFIG),y)
-include/bits:
- $(INSTALL) -d include/bits
-
# configuration
# ---------------------------------------------------------------------------
-extra/config/conf extra/config/mconf: include/bits
-# TODO: this results in "make[1]: `conf' is up to date" printed
-# on every rebuild, because extra/config/conf is already built
-# on previous make run. Make it "test -x $@ || ..." (simple & a bit wrong)
-# or "make -q -C extra/config $(notdir $@) || ..." (less readable)?
+extra/config/conf extra/config/mconf:
$(Q)$(MAKE) -C extra/config $(notdir $@)
-menuconfig: extra/config/mconf include/bits
+menuconfig: extra/config/mconf
$(Q)./extra/config/mconf extra/Configs/Config.in
-config: extra/config/conf include/bits
+config: extra/config/conf
$(Q)./extra/config/conf extra/Configs/Config.in
-oldconfig: extra/config/conf include/bits
+oldconfig: extra/config/conf
$(Q)./extra/config/conf -o extra/Configs/Config.in
-silentoldconfig: extra/config/conf include/bits
+silentoldconfig: extra/config/conf
$(Q)./extra/config/conf -s extra/Configs/Config.in
-randconfig: extra/config/conf include/bits
+randconfig: extra/config/conf
$(Q)./extra/config/conf -r extra/Configs/Config.in
-allyesconfig: extra/config/conf include/bits
+allyesconfig: extra/config/conf
$(Q)./extra/config/conf -y extra/Configs/Config.in
sed -i -e "s/^DODEBUG=.*/# DODEBUG is not set/" .config
sed -i -e "s/^DOASSERTS=.*/# DOASSERTS is not set/" .config
@@ -405,10 +398,10 @@ allyesconfig: extra/config/conf include/
sed -i -e "s/^UCLIBC_MJN3_ONLY=.*/# UCLIBC_MJN3_ONLY is not set/" .config
$(Q)./extra/config/conf -o extra/Configs/Config.in
-allnoconfig: extra/config/conf include/bits
+allnoconfig: extra/config/conf
$(Q)./extra/config/conf -n extra/Configs/Config.in
-defconfig: extra/config/conf include/bits
+defconfig: extra/config/conf
$(Q)./extra/config/conf -d extra/Configs/Config.in
clean:
_______________________________________________
uClibc mailing list
[email protected]
http://busybox.net/cgi-bin/mailman/listinfo/uclibc