fdwalk should return 0 on an empty directory
[kopensolaris-gnu/glibc.git] / Makerules
index 98a0640..ae9271b 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2002,2003,2004,2005,2006 Free Software Foundation, Inc.
+# Copyright (C) 1991-2006, 2007 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -240,9 +240,9 @@ $(common-objpfx)sysd-rules: $(common-objpfx)config.make $(..)Makerules \
             echo "\$$(objpfx)rtld-%$$o: $$dir/%.s \$$(before-compile); \
                  \$$(compile-command.s)";                                    \
             echo "\$$(objpfx)ptw-%$$o: $$dir/%.S \$$(before-compile); \
-                 \$$(compile-command.S)";                                    \
+                 \$$(compile-command.S) -DPTW";                              \
             echo "\$$(objpfx)ptw-%$$o: $$dir/%.s \$$(before-compile); \
-                 \$$(compile-command.s)";                                    \
+                 \$$(compile-command.s) -DPTW";                              \
             echo "\$$(objpfx)m_%$$o: $$dir/s_%.S \$$(before-compile); \
                  \$$(compile-command.S)";                                    \
             echo "\$$(objpfx)m_%$$o: $$dir/s_%.s \$$(before-compile); \
@@ -253,7 +253,7 @@ $(common-objpfx)sysd-rules: $(common-objpfx)config.make $(..)Makerules \
             echo "\$$(objpfx)rtld-%$$o: $$dir/%.c \$$(before-compile); \
                  \$$(compile-command.c)";                                    \
             echo "\$$(objpfx)ptw-%$$o: $$dir/%.c \$$(before-compile); \
-                 \$$(compile-command.c)";                                    \
+                 \$$(compile-command.c) -DPTW";                              \
             echo "\$$(objpfx)m_%$$o: $$dir/s_%.c \$$(before-compile); \
                  \$$(compile-command.c)";                                    \
           done; \
@@ -487,7 +487,13 @@ $(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules
                  -Wl,--verbose 2>&1 | \
          sed > $@T \
              -e '/^=========/,/^=========/!d;/^=========/d' \
-             -e 's/^.*\.hash[  ]*:.*$$/  .note.ABI-tag : { *(.note.ABI-tag) } &/' \
+             $(if $(filter yes,$(have-hash-style)), \
+                  -e 's/^.*\.gnu\.hash[        ]*:.*$$/  .note.ABI-tag : { *(.note.ABI-tag) } &/' \
+                  -e '/^[      ]*\.hash[       ]*:.*$$/{h;d;}' \
+                  -e '/DATA_SEGMENT_ALIGN/{H;g}' \
+               , \
+                  -e 's/^.*\.hash[     ]*:.*$$/  .note.ABI-tag : { *(.note.ABI-tag) } &/' \
+              ) \
              -e 's/^.*\*(\.dynbss).*$$/& \
                 PROVIDE(__start___libc_freeres_ptrs = .); \
                 *(__libc_freeres_ptrs) \
@@ -688,6 +694,7 @@ endif
 \f
 +depfiles := $(sources:.c=.d) \
             $(patsubst %.o,%.d,$(filter %.o,$(extra-objs:.os=.o))) \
+            $(patsubst %.o,%.d,$(filter %.o,$(extra-test-objs:.os=.o))) \
             $(addsuffix .d,$(tests) $(xtests) $(test-srcs))
 ifeq ($(build-programs),yes)
 +depfiles += $(addsuffix .d,$(others) $(sysdep-others))
@@ -725,7 +732,9 @@ MAKEFLAGS := $(MAKEFLAGS)r
 # Generic rule for making directories.
 %/:
 # mkdir isn't smart enough to strip a trailing /.
-       mkdir $(@:%/=%)
+# We always require a mkdir which supports the -p option to avoid error
+# messages in case of races.
+       mkdir -p $(@:%/=%)
 \f
 # Make sure that object files are not removed
 # when they are intermediates between sources and library members.
@@ -827,12 +836,13 @@ force-install:
 
 # $(install-lib) are installed from the object directory into $(libdir);
 # files in $(install-lib) matching `lib%.a' are ranlib'd after installation
-# unless they also appear in $(non-lib.a).  $(install-data) are installed
-# as they are into $(datadir).  $(headers) are installed as they are in
+# unless they also appear in $(non-lib.a).  $(install-data) are installed as
+# they are into $(datadir).  $(headers) are installed as they are in
 # $(includedir).  $(install-bin), $(install-bin-script) and $(install-sbin)
 # are installed from the object directory into $(bindir), $(bindir) and
-# $(sbindir), respectively.  $(install-others) are absolute path names of
-# files to install; rules to install them are defined elsewhere.
+# $(sbindir), respectively.  $(install-others) and $(install-others-programs)
+# are absolute path names of files to install; rules to install them are
+# defined elsewhere.
 
 # The simple library name to install libc.a under.
 # This could be defined by a sysdep Makefile.
@@ -857,6 +867,13 @@ endef
 installed-libcs := $(foreach o,$(filter-out .os,$(object-suffixes-for-libc)),\
                             $(inst_libdir)/$(patsubst %,$(libtype$o),\
                                                     $(libprefix)$(libc-name)))
+
+install-lib-all: $(inst_slibdir)/libc.so$(libc.so-version) \
+               $(inst_slibdir)/libc-$(version).so \
+               $(inst_libdir)/libc.so \
+               $(inst_libdir)/libc.a \
+               install-lib
+
 install: $(installed-libcs)
 $(installed-libcs): $(inst_libdir)/lib$(libprefix)%: lib $(+force)
        $(make-target-directory)
@@ -1137,6 +1154,7 @@ install-lib-nosubdir: $(addprefix $(inst_libdir)/,\
 install-data-nosubdir: $(addprefix $(inst_datadir)/,$(install-data))
 install-headers-nosubdir: $(addprefix $(inst_includedir)/,$(headers))
 install-others-nosubdir: $(install-others)
+install-others-programs-nosubdir: $(install-others-programs)
 
 # We need all the `-nosubdir' targets so that `install' in the parent
 # doesn't depend on several things which each iterate over the subdirs.
@@ -1145,14 +1163,12 @@ install-others-nosubdir: $(install-others)
 install-%:: install-%-nosubdir ;
 
 .PHONY: install install-no-libc.a-nosubdir
-ifeq ($(build-programs),yes)
-install-no-libc.a-nosubdir: install-headers-nosubdir install-data-nosubdir\
-                           install-bin-nosubdir install-bin-script-nosubdir \
-                           install-lib-nosubdir install-others-nosubdir \
-                           install-rootsbin-nosubdir install-sbin-nosubdir
-else
-install-no-libc.a-nosubdir: install-headers-nosubdir install-data-nosubdir\
+install-no-libc.a-nosubdir: install-headers-nosubdir install-data-nosubdir \
                            install-lib-nosubdir install-others-nosubdir
+ifeq ($(build-programs),yes)
+install-no-libc.a-nosubdir: install-bin-nosubdir install-bin-script-nosubdir \
+                           install-rootsbin-nosubdir install-sbin-nosubdir \
+                           install-others-programs-nosubdir
 endif
 install: install-no-libc.a-nosubdir
 \f
@@ -1226,10 +1242,7 @@ endif
 
 ifeq ($(firstword $(sysd-sorted-done) f)$(firstword $(generating) f),tf)
 -include $(common-objpfx)tls.make
-config-tls := notls
-ifeq ($(use-tls),yes)
 config-tls := tls
-endif
 ifeq ($(use-thread),yes)
 config-tls := thread
 endif
@@ -1369,8 +1382,8 @@ common-mostlyclean:
                                                      $(test-srcs)) \
                                     $(addsuffix -bp.out,$(tests) $(xtests) \
                                                         $(test-srcs)))
-       -rm -f $(addprefix $(objpfx),$(extra-objs) $(install-lib) \
-                                    $(install-lib.so) \
+       -rm -f $(addprefix $(objpfx),$(extra-objs) $(extra-test-objs) \
+                                    $(install-lib) $(install-lib.so) \
                                     $(install-lib.so:%.so=%_pic.a))
        -rm -f core
        -rm -f $(objpfx)rtld-*.os