about summary refs log tree commit diff
path: root/Rules
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-03-13 07:42:09 +0000
committerRoland McGrath <roland@gnu.org>1995-03-13 07:42:09 +0000
commit51f753022889f9cb9640947fa347ad1df30718ee (patch)
treefee672d134d336923343a5155b84ea5faed6a806 /Rules
parent01a36ad3073c62dec584a72e869d6e2963333d34 (diff)
downloadglibc-51f753022889f9cb9640947fa347ad1df30718ee.tar.gz
glibc-51f753022889f9cb9640947fa347ad1df30718ee.tar.xz
glibc-51f753022889f9cb9640947fa347ad1df30718ee.zip
Support building several flavors of objects and libraries.
	* Makerules (libtypes, object-suffixes): New variables.
	(libtype.*, CFLAGS-*, CPPFLAGS-*): New variables for each object
	suffix.
	(CFLAGS, CPPFLAGS): Append $(C{,CPP}FLAGS-$(suffix $@)).
	(%.so, %.po, %.go): New compilation rules for %.S, %.s, %.c.
	(close-check-inhibit-asm): Append a semicolon.
	(sysd-rules): Generate rules for each object suffix.
	(compile.S, compile.c): Always assume gcc.
	(OUTPUT_OPTION): Define unconditionally.
	(+make-deps): In generated rule, produce a dependent for each
	object suffix.
	(.SUFFIXES): Add $(object-suffixes) in place of .o.
	(.PRECIOUS): Make all suffix flavors precious.
	($(libc.a)): Target removed.
	(lib): Depend on each enabled libtype.
	(libobjs, objects, objs): Depend on all the enabled object flavors.
	(lib%.a): New pattern rule.
	[$(build-shared)=yes] (lib%.so: lib%_pic.a): New pattern rule.
	(stamp-$(subdir)): Rewritten to a pattern rule for stamp.%-$(subdir)
	to make one for each flavor; library dep rule likewise rewritten.
	($(libc.a)(__.SYMDEF)): Target replaced with one target for each
	flavor.
	(symdef.%): New pattern rule; helper for __.SYMDEF targets.
	(installed-libcs): New variable.
	(install): Depend on that instead of
	$(libdir)/lib$(libprefix)$(libc-name).a;
	that file's rule rewritten to make each enabled libtype.
	(install-lib.so): New variable, filters lib%.so from $(install-lib).
	(install-lib): Filter out lib%.so after setting install-lib.so.
	[$(build-shared)=yes] (install): Install $(install-lib.so).
	(common-mostlyclean): Remove all flavors of objects.
Diffstat (limited to 'Rules')
0 files changed, 0 insertions, 0 deletions