# Makefile for elf subdirectory of GNU C Library.

# Copyright (C) 1995 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
# modify it under the terms of the GNU Library General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.

# The GNU C Library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Library General Public License for more details.

# You should have received a copy of the GNU Library General Public
# License along with the GNU C Library; see the file COPYING.LIB.  If
# not, write to the Free Software Foundation, Inc., 675 Mass Ave,
# Cambridge, MA 02139, USA.

subdir		:= elf

headers		:= elf.h libelf.h link.h dlfcn.h
routines	:= init-first

extra-libs	= libelf libdl
libelf-routines	:= elf_hash
libdl-routines	:= dlopen dlclose dlsym dlerror
libdl-inhibit-o	= $(filter-out .so,$(object-suffixes)) # Build only shared.
LDLIBS-dl.so	:= -lc -lld

rtld-routines	:= rtld $(addprefix dl-,load lookup object reloc	\
				        runtime sysdep error init fini)
distribute	= $(rtld-routines:=.c) dynamic-link.h

include ../Makeconfig

ifeq (yes,$(build-shared))
extra-objs	= $(rtld-routines:=.so)
install-lib	= ld.so
endif

include ../Rules

$(objpfx)ld.so: $(rtld-routines:%=$(objpfx)%.so) \
		$(patsubst %,$(common-objpfx)lib%_pic.a,\
			   elf c $(LDLIBS-c.so:-l%=%))
	$(LINK.o) -nostdlib -shared -o $@ \
		  '-Wl,-(' $^ -lgcc '-Wl,-)'

$(objpfx)libdl.so: $(common-objpfx)libc.so $(objpfx)ld.so
