summary refs log tree commit diff
path: root/Makeconfig
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-02-20 10:23:07 +0000
committerRoland McGrath <roland@gnu.org>1995-02-20 10:23:07 +0000
commit96f873b9215ea1a75e2b17c055fe5c6ad32e10d6 (patch)
tree91f62a75db7a944bb19e751077278c75e966f3e3 /Makeconfig
parent0923c7a543d377bae9da0ad7075c8f9664ae70dc (diff)
downloadglibc-96f873b9215ea1a75e2b17c055fe5c6ad32e10d6.tar.gz
glibc-96f873b9215ea1a75e2b17c055fe5c6ad32e10d6.tar.xz
glibc-96f873b9215ea1a75e2b17c055fe5c6ad32e10d6.zip
* Makeconfig [elf=yes] (+preinit, +postinit): New variables, set
 	to crt[in].o.
	(csu-objpfx): New variable.
	(+link): Use it to find start.o and $(+preinit), $(+postinit).

	* Rules (subdir_lib, all): Depend on objs.
Diffstat (limited to 'Makeconfig')
-rw-r--r--Makeconfig13
1 files changed, 12 insertions, 1 deletions
diff --git a/Makeconfig b/Makeconfig
index 434f8b2d19..48a4a95ef8 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -254,11 +254,22 @@ endif
 # Command for linking programs with the C library.
 ifndef +link
 +link = $(CC) -nostdlib $(LDFLAGS) -o $@ \
-	$(common-objpfx)start.o $(^:lib=$(libc.a)) $(gnulib) $(libc.a)
+	$(addprefix $(csu-objpfx),start.o $(+preinit)) \
+	$(^:lib=$(libc.a)) $(gnulib) $(libc.a) \
+	$(addprefix $(csu-objpfx),$(+postinit))
 endif
 ifndef gnulib
 gnulib := -lgcc
 endif
+ifeq ($(elf),yes)
++preinit = crti.o
++postinit = crtn.o
+endif
+ifdef objpfx
+csu-objpfx = $(objpfx)
+else
+csu-objpfx = $(..)csu
+endif
 
 ifndef LD
 LD := ld -X