about summary refs log tree commit diff
path: root/Makerules
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-02-13 05:46:59 +0000
committerRoland McGrath <roland@gnu.org>1996-02-13 05:46:59 +0000
commitdbdb6189d5d66b165b4b502498572cbe7e78874e (patch)
treed59372fc7b4722490f8fffea719081e8cc704ab1 /Makerules
parentafced61c8f6efc37c3ebeb2f9032f516982b8f21 (diff)
downloadglibc-dbdb6189d5d66b165b4b502498572cbe7e78874e.tar.gz
glibc-dbdb6189d5d66b165b4b502498572cbe7e78874e.tar.xz
glibc-dbdb6189d5d66b165b4b502498572cbe7e78874e.zip
Tue Feb 13 00:12:12 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
	* gmon/Makefile (headers): Remove machine-gmon.h.
	* sysdeps/stub/machine-gmon.h, sysdeps/i386/machine-gmon.h: Removed.
	* gmon/mcount.c [! NO_UNDERSCORES] (_mcount): Specify "mcount" as
	the asm name.
	(_mcount): Define normally, taking no args.
	Use __builtin_return_address to fetch PC values of caller and caller's
	caller.
Tue Feb 13 00:12:12 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>

	* gmon/Makefile (headers): Remove machine-gmon.h.
	* sysdeps/stub/machine-gmon.h, sysdeps/i386/machine-gmon.h: Removed.
	* gmon/mcount.c [! NO_UNDERSCORES] (_mcount): Specify "mcount" as
	the asm name.
	(_mcount): Define normally, taking no args.
	Use __builtin_return_address to fetch PC values of caller and caller's
	caller.

	* Makerules: Rewrote rules to update libc archives of all flavors.
	Define separate specific rules for each flavor using o-iterator.

	* sysdeps/unix/Makefile: Include s-proto.d only ifdef subdir.

Sat Feb 10 11:35:16 1996 Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makerules (ar-symtab-name): New macro.  Replace all occurences
	of __.SYMDEF by $(ar-symtab-name).
	* sysdeps/unix/sysv/Makefile (ar-symtab-name): Define as empty.

	* Makefile (configure, %/configure): Depend on aclocal.m4.
	* Make-dist (configure, %/configure): Likewise.

	* sysdeps/unix/Makefile: Include s-proto.d for its deps.

	* gmon/sys/gmon.h: Don't include machine-gmon.h; those defns are
	only needed in the implementation, not for any users.

	* time/northamerica: Updated from ADO 96c, new rules for Mexico in
	1996.
Diffstat (limited to 'Makerules')
-rw-r--r--Makerules36
1 files changed, 19 insertions, 17 deletions
diff --git a/Makerules b/Makerules
index f6848b76d5..439f18d3ff 100644
--- a/Makerules
+++ b/Makerules
@@ -65,6 +65,11 @@ endif
 # Add -I switches to get the right sysdep directories.
 # `+includes' in Makeconfig references $(+sysdep-includes).
 +sysdep-includes := $(addprefix -I,$(+sysdep_dirs))
+
+# The name of the symbol table archive member.  The default is suitable for
+# BSD style archives.  It can be overridden in sysdep Makefiles when SYSV
+# style archive are used.
+ar-symtab-name = __.SYMDEF
 
 # Include any system-specific makefiles.
 
@@ -349,7 +354,7 @@ ARFLAGS := r$(verbose)
 lib: lib-noranlib $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c))
 
 # Pattern rule for libraries: depend on the __.SYMDEF member updated by ranlib.
-lib%.a: lib%.a(__.SYMDEF) ;
+lib%.a: lib%.a($(ar-symtab-name)) ;
 
 libobjs: $(foreach o,$(object-suffixes),\
 		   $(common-objpfx)$(patsubst %,$(libtype$o),c)(\
@@ -392,21 +397,18 @@ endif
 
 endif
 
-# Rules to update the __.SYMDEF member with ranlib.
-# To consolidate, each flavor library's __.SYMDEF member
-# depends on the imaginary intermediate file `symdef.SUFFIX',
-# where SUFFIX is that flavor's object suffix; then a pattern rule
-# "remakes" symdef.% depending on all the libc.a(foo.%) files in $(objects).
-$(common-objpfx)$(patsubst %,$(libtype.o),c)(__.SYMDEF): symdef.o
-$(common-objpfx)$(patsubst %,$(libtype.so),c)(__.SYMDEF): symdef.so
-$(common-objpfx)$(patsubst %,$(libtype.po),c)(__.SYMDEF): symdef.po
-$(common-objpfx)$(patsubst %,$(libtype.go),c)(__.SYMDEF): symdef.go
-symdef.%: $(foreach o,$(object-suffixes),\
-		    $(common-objpfx)$(patsubst %,$(libtype$o),c)(\
-	  $(patsubst $(objpfx)%.o,%.%,$(objects)))) \
-	  $(filter subdir_lib,$(firstword $(subdir) subdir_lib))
-# The last line above makes it also depend on subdir_lib for the parent.
-	$(RANLIB) $(common-objpfx)$(patsubst %,$(libtype.$*),c)
+# Rules to update the $(ar-symtab-name) member with ranlib,
+# one for each object flavor.
+define o-iterator-doit
+$(common-objpfx)$(patsubst %,$(libtype$o),c)($(ar-symtab-name)): \
+	  $(common-objpfx)$(patsubst %,$(libtype$o),c)(\
+	  $(patsubst $(objpfx)%.o,%$o,$(objects))) \
+	  $(filter subdir_lib,$(firstword $(subdir) subdir_lib)); \
+	$$(RANLIB) $$(common-objpfx)$$(patsubst %,$$(libtype$o),c)
+endef
+object-suffixes-left = $(object-suffixes)
+include $(o-iterator)
+
 
 # This makes all the object files.
 .PHONY: objects objs
@@ -613,7 +615,7 @@ check: tests
 
 .PHONY: TAGS
 TAGS: distinfo $(..)MakeTAGS
-	$(MAKE) $(addprefix -f ,$^)
+	$(MAKE) $(addprefix -f ,$^) $@
 
 .PHONY: echo-headers
 echo-headers: