Makefile revision 119053
172445Sassar# $FreeBSD: head/libexec/rtld-elf/Makefile 119053 2003-08-17 22:12:26Z gordon $
2233294Sstas
372445SassarPROG=		ld-elf.so.1
472445SassarSRCS=		rtld_start.S rtld.c rtld_lock.c map_object.c malloc.c \
5233294Sstas		xmalloc.c debug.c reloc.c
672445SassarMAN=		rtld.1
772445SassarCSTD?=		gnu99
872445SassarCFLAGS+=	-Wall -DFREEBSD_ELF -DIN_RTLD
9233294SstasCFLAGS+=	-I${.CURDIR}/${MACHINE_ARCH} -I${.CURDIR}
1072445SassarLDFLAGS+=	-nostdlib -e .rtld_start
1172445SassarINSTALLFLAGS=	-fschg -C -b
12233294SstasBINDIR=		/libexec
1372445SassarSYMLINKS=	${BINDIR}/${PROG} /usr/libexec/${PROG}
1472445SassarMLINKS=		rtld.1 ld-elf.so.1.1 \
1572445Sassar		rtld.1 ld.so.1
16233294Sstas
1772445Sassar#
1872445Sassar# To enable the libmap.conf functionality please
1972445Sassar# add 'WITH_LIBMAP=yes' to /etc/make.conf, recompile
20233294Sstas# and reinstall rtld-elf.
2172445Sassar.ifdef WITH_LIBMAP
2272445SassarCFLAGS+=	-DWITH_LIBMAP
2372445SassarSRCS+=		libmap.c
2472445Sassar.endif
2572445Sassar
2672445Sassar.if exists(${.CURDIR}/${MACHINE_ARCH}/Makefile.inc)
2772445Sassar.include "${.CURDIR}/${MACHINE_ARCH}/Makefile.inc"
2872445Sassar.endif
2972445Sassar
3072445Sassar# If LDSCRIPT is defined, we build the dynamic linker as an
3172445Sassar# executable.  Otherwise we build it as a shared object.  We ignore
3272445Sassar# LDSCRIPT if the running kernel is too old to support it.
3372445Sassar.if defined(LDSCRIPT)
3472445SassarKERN_OSRELDATE!=	/sbin/sysctl -n kern.osreldate 2>/dev/null || echo 0
3572445Sassar.if ${KERN_OSRELDATE} >= 400001
3672445SassarLDSO_IS_EXECUTABLE=	yes
3772445Sassar.endif
3872445Sassar.endif
3972445Sassar
4072445Sassar.ifdef LDSO_IS_EXECUTABLE
4172445SassarOBJS+=		dyn_hack.so
4272445SassarLDFLAGS+=	-Wl,-T,${LDSCRIPT} -Wl,-E -Wl,-Bstatic
4372445SassarDPADD=		${LIBC}
4472445SassarLDADD=		-lc
4572445Sassar.else
4672445SassarCFLAGS+=	-fpic -DPIC
4772445SassarLDFLAGS+=	-shared -Wl,-Bsymbolic
4872445SassarDPADD=		${LIBC_PIC}
4972445SassarLDADD=		-lc_pic
5072445Sassar.endif
5172445Sassar
5272445Sassardyn_hack.so:
5372445Sassar	${CC} -shared -nostdlib -o dyn_hack.so -x c /dev/null
5472445Sassar
5572445Sassar# Since moving rtld-elf to /libexec, we need to create a symlink.
56178825Sdfr# Fixup the existing binary that's there so we can symlink over it.
57178825Sdfrbeforeinstall:
58178825Sdfr	-chflags noschg ${DESTDIR}/usr/libexec/${PROG}
59178825Sdfr
60178825Sdfr.PATH: ${.CURDIR}/${MACHINE_ARCH}
61178825Sdfr
62178825Sdfr.include <bsd.prog.mk>
63178825Sdfr