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