* sysdeps/unix/make-syscalls.sh: Insert $(make-target-directory) at
authorRoland McGrath <roland@gnu.org>
Mon, 11 Nov 2002 02:34:36 +0000 (02:34 +0000)
committerRoland McGrath <roland@gnu.org>
Mon, 11 Nov 2002 02:34:36 +0000 (02:34 +0000)
the beginning of generated target commands.

* csu/Makefile ($(objpfx)crti.o, $(objpfx)crtn.o): Add explicit
dependencies for these in case implicit rule search skipped the
nonexistent source directory.
* sysdeps/gnu/Makefile ($(objpfx)errlist.d): Give this rule all the
files with $(object-suffixes) as targets too.
* Makerules [no_deps && objpfx] (before-compile): Add $(objpfx).
and a target for it using $(make-target-directory).

* Rules (before-compile): Add $(common-objpfx)bits/stdio-lim.h.

* sysdeps/unix/sysv/linux/bits/pthreadtypes.h: Moved to ...
* sysdeps/generic/bits/pthreadtypes.h: ... here.

ChangeLog
Makerules
Rules
csu/Makefile
sysdeps/gnu/Makefile
sysdeps/unix/make-syscalls.sh

index bbd2744..f994d6b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
+2002-11-10  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/unix/make-syscalls.sh: Insert $(make-target-directory) at
+       the beginning of generated target commands.
+
+       * csu/Makefile ($(objpfx)crti.o, $(objpfx)crtn.o): Add explicit
+       dependencies for these in case implicit rule search skipped the
+       nonexistent source directory.
+       * sysdeps/gnu/Makefile ($(objpfx)errlist.d): Give this rule all the
+       files with $(object-suffixes) as targets too.
+       * Makerules [no_deps && objpfx] (before-compile): Add $(objpfx).
+       and a target for it using $(make-target-directory).
+
+       * Rules (before-compile): Add $(common-objpfx)bits/stdio-lim.h.
+
 2002-11-10  Roland McGrath  <roland@frob.com>
 
+       * sysdeps/unix/sysv/linux/bits/pthreadtypes.h: Moved to ...
+       * sysdeps/generic/bits/pthreadtypes.h: ... here.
+
        * sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Treat a struct flock with
        l_start == 0 and l_len == 1 as we do l_len == 0.
 
@@ -9,9 +27,6 @@
 
 2002-11-10  Roland McGrath  <roland@redhat.com>
 
-       * sysdeps/unix/sysv/linux/bits/pthreadtypes.h: Moved to ...
-       * sysdeps/generic/bits/pthreadtypes.h: ... here.
-
        * config.make.in (includedir): New variable, substituted by configure.
        Reported missing by Jocelyn Fournier <joc@presence-pc.com>.
        * Makeconfig (includedir): Use $(prefix), not $(exec_prefix).
index 071352d..461451f 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -125,6 +125,15 @@ $(common-objpfx)%.latest: $(common-objpfx)abi-versions.h
 endif # avoid-generated
 endif # $(versioning) = yes
 
+# When we have no deps pass doing it, then make sure the subdirectory
+# for object files gets created.
+ifdef no_deps
+ifdef objpfx
+before-compile += $(objpfx).
+$(objpfx).:
+       $(make-target-directory)
+endif
+endif
 
 # Remove existing files from `before-compile'.  Things are added there when
 # they must exist for dependency generation to work right, but once they
diff --git a/Rules b/Rules
index 6090deb..f74cc64 100644 (file)
--- a/Rules
+++ b/Rules
@@ -61,6 +61,9 @@ ifneq "$(findstring env,$(origin common-generated))" ""
 common-generated :=
 endif
 
+# See below.  This must be set before Makerules processes it.
+before-compile += $(common-objpfx)bits/stdio_lim.h
+
 include ../Makerules
 
 .PHONY: subdir_lib
index a71649e..6b69919 100644 (file)
@@ -113,6 +113,11 @@ $(objpfx)crtn.S: $(objpfx)initfini.s
               -e '/@_.*_EPILOG_BEGINS/,/@_.*_EPILOG_ENDS/p' \
               -e '/@TRAILER_BEGINS/,$$p' $< > $@
 
+# These explicit rules are necessary when the $(objpfx) subdirectory
+# did not exist at the time make considered the implicit rules using it.
+# This comes up with a fresh build using no_deps=t.
+$(patsubst %,$(objpfx)crt%.o,i n): %.o: %.S
+
 $(objpfx)defs.h: $(objpfx)initfini.s
        sed -n -e '/@TESTS_BEGIN/,/@TESTS_END/p' $< | \
                $(AWK) -f defs.awk > $@
index 661d5f8..591b6ce 100644 (file)
@@ -49,7 +49,7 @@ endif
        mv -f $@T $@
 
 # This will force the generation above to happy if need be.
-$(objpfx)errlist.d: $(objpfx)errlist-compat.c
+$(foreach o,.d $(object-suffixes),$(objpfx)errlist$o):$(objpfx)errlist-compat.c
 endif
 
 ifeq ($(subdir),login)
index e85a21d..d49688a 100644 (file)
@@ -141,6 +141,7 @@ shared-only-routines += $file
   ;;
   x*)
   echo "\
+       \$(make-target-directory)
        (echo '#include <sysdep.h>'; \\
         echo 'PSEUDO ($strong, $syscall, $nargs)'; \\
         echo ' ret'; \\