Makefile revision 129258
1# $FreeBSD: head/libexec/rtld-elf/Makefile 129258 2004-05-15 00:13:14Z cognet $ 2 3PROG?= ld-elf.so.1 4# XXX: Hopefully this won't be needed after the next binutils import. 5.if ${MACHINE_ARCH} != "arm" 6SRCS= rtld_start.S \ 7 reloc.c rtld.c rtld_lock.c map_object.c \ 8 malloc.c xmalloc.c debug.c libmap.c 9.endif 10MAN= rtld.1 11CSTD?= gnu99 12CFLAGS+= -Wall -DFREEBSD_ELF -DIN_RTLD 13CFLAGS+= -I${.CURDIR}/${MACHINE_ARCH} -I${.CURDIR} 14LDFLAGS+= -nostdlib -e .rtld_start 15INSTALLFLAGS= -fschg -C -b 16BINDIR= /libexec 17SYMLINKS= ${BINDIR}/${PROG} /usr/libexec/${PROG} 18MLINKS= rtld.1 ld-elf.so.1.1 \ 19 rtld.1 ld.so.1 20 21.if exists(${.CURDIR}/${MACHINE_ARCH}/Makefile.inc) 22.include "${.CURDIR}/${MACHINE_ARCH}/Makefile.inc" 23.endif 24 25# If LDSCRIPT is defined, we build the dynamic linker as an 26# executable. Otherwise we build it as a shared object. We ignore 27# LDSCRIPT if the running kernel is too old to support it. 28.if defined(LDSCRIPT) 29KERN_OSRELDATE!= /sbin/sysctl -n kern.osreldate 2>/dev/null || echo 0 30.if ${KERN_OSRELDATE} >= 400001 31LDSO_IS_EXECUTABLE= yes 32.endif 33.endif 34 35.ifdef LDSO_IS_EXECUTABLE 36OBJS+= dyn_hack.so 37LDFLAGS+= -Wl,-T,${LDSCRIPT} -Wl,-E -Wl,-Bstatic 38DPADD= ${LIBC} 39LDADD= -lc 40.else 41CFLAGS+= -fpic -DPIC 42LDFLAGS+= -shared -Wl,-Bsymbolic 43DPADD= ${LIBC_PIC} 44LDADD= -lc_pic 45.endif 46 47dyn_hack.so: 48 ${CC} -shared -nostdlib -o dyn_hack.so -x c /dev/null 49 50# Since moving rtld-elf to /libexec, we need to create a symlink. 51# Fixup the existing binary that's there so we can symlink over it. 52beforeinstall: 53 -chflags noschg ${DESTDIR}/usr/libexec/${PROG} 54 55.PATH: ${.CURDIR}/${MACHINE_ARCH} 56 57.include <bsd.prog.mk> 58