Makefile revision 56790
120253Sjoerg#
220302Sjoerg# $FreeBSD: head/libexec/rtld-elf/Makefile 56790 2000-01-29 03:16:54Z jdp $
320302Sjoerg#
420253SjoergMAINTAINER=	jdp
520253SjoergPROG=		ld-elf.so.1
620253SjoergSRCS=		rtld_start.S rtld.c lockdflt.c map_object.c malloc.c \
720253Sjoerg		xmalloc.c debug.c reloc.c
820253SjoergMAN1=		rtld.1
920302SjoergCFLAGS+=	-Wall -DFREEBSD_ELF -I${.CURDIR}/${MACHINE_ARCH} -I${.CURDIR}
1020253SjoergLDFLAGS+=	-nostdlib -e .rtld_start
1120253SjoergINSTALLFLAGS+=	-fschg -C
1220253SjoergMLINKS=		rtld.1 ld-elf.so.1.1
1320253Sjoerg
1420302Sjoerg.if exists(${.CURDIR}/${MACHINE_ARCH}/Makefile.inc)
1520253Sjoerg.include "${.CURDIR}/${MACHINE_ARCH}/Makefile.inc"
1620253Sjoerg.endif
1720302Sjoerg
1820253Sjoerg# If LDSCRIPT is defined, we build the dynamic linker as an
1920253Sjoerg# executable.  Otherwise we build it as a shared object.  We ignore
2020253Sjoerg# LDSCRIPT if the running kernel is too old to support it.
2120253Sjoerg.if defined(LDSCRIPT)
2220253SjoergKERN_OSRELDATE!=	/sbin/sysctl -n kern.osreldate 2>/dev/null || echo 0
2320253Sjoerg.if ${KERN_OSRELDATE} >= 400001
2420253SjoergLDSO_IS_EXECUTABLE=	yes
2520253Sjoerg.endif
2620253Sjoerg.endif
2730259Scharnier
2830259Scharnier.ifdef LDSO_IS_EXECUTABLE
2950479SpeterOBJS+=		dyn_hack.so
3030259ScharnierLDFLAGS+=	-Wl,-T,${LDSCRIPT} -Wl,-E -Wl,-Bstatic
3130259ScharnierLDADD+=		-lc
3230259Scharnier.else
3338112SnateCFLAGS+=	-fpic -DPIC
3421330SdavidnLDFLAGS+=	-shared -Wl,-Bsymbolic
3521330SdavidnLDADD+=		-lc_pic
3644229Sdavidn.endif
3720253Sjoerg
3820267Sjoergdyn_hack.so:
3920253Sjoerg	${CC} -shared -nostdlib -o dyn_hack.so -x c /dev/null
4020267Sjoerg
4120267Sjoerg.PATH: ${.CURDIR}/${MACHINE_ARCH}
4220267Sjoerg
4320267Sjoerg.include <bsd.prog.mk>
4420267Sjoerg