Makefile revision 214194
190075Sobrien# $FreeBSD: head/libexec/rtld-elf/Makefile 214194 2010-10-22 04:43:04Z marcel $
2132718Skan
3169689Skan.include <bsd.own.mk>
418334SpeterMK_SSP=		no
518334Speter
690075SobrienPROG?=		ld-elf.so.1
718334SpeterSRCS=		rtld_start.S \
890075Sobrien		reloc.c rtld.c rtld_lock.c map_object.c \
990075Sobrien		malloc.c xmalloc.c debug.c libmap.c
1090075SobrienMAN=		rtld.1
1190075SobrienCSTD?=		gnu99
1218334SpeterCFLAGS+=	-Wall -DFREEBSD_ELF -DIN_RTLD
1390075Sobrien.if exists(${.CURDIR}/${MACHINE_ARCH})
1490075SobrienRTLD_ARCH=	${MACHINE_ARCH}
1590075Sobrien.else
1690075SobrienRTLD_ARCH=	${MACHINE_CPUARCH}
1718334Speter.endif
1818334SpeterCFLAGS+=	-I${.CURDIR}/${RTLD_ARCH} -I${.CURDIR}
1990075Sobrien.if ${MACHINE_ARCH} == "powerpc64"
20169689SkanLDFLAGS+=	-nostdlib -e _rtld_start
21169689Skan.else
2218334SpeterLDFLAGS+=	-nostdlib -e .rtld_start
2350397Sobrien.endif
2450397SobrienWARNS?=		2
25132718SkanINSTALLFLAGS=	-C -b
26132718SkanPRECIOUSPROG=
2718334SpeterBINDIR=		/libexec
2818334SpeterSYMLINKS=	${BINDIR}/${PROG} /usr/libexec/${PROG}
2918334SpeterMLINKS=		rtld.1 ld-elf.so.1.1 \
3090075Sobrien		rtld.1 ld.so.1
3150397Sobrien
3218334SpeterCFLAGS+=	-fpic -DPIC
3390075SobrienLDFLAGS+=	-shared -Wl,-Bsymbolic
3418334SpeterDPADD=		${LIBC_PIC}
3518334SpeterLDADD=		-lc_pic -lssp_nonshared
3618334Speter
3750397Sobrien.if ${MK_SYMVER} == "yes"
3818334SpeterLIBCDIR=	${.CURDIR}/../../lib/libc
3918334SpeterVERSION_DEF=	${LIBCDIR}/Versions.def
4050397SobrienSYMBOL_MAPS=	${.CURDIR}/Symbol.map
4118334SpeterVERSION_MAP=	Version.map
4250397SobrienLDFLAGS+=	-Wl,--version-script=${VERSION_MAP}
4352284Sobrien
4490075Sobrien${PROG}:	${VERSION_MAP}
4590075Sobrien
4690075Sobrien.if exists(${.CURDIR}/${RTLD_ARCH}/Symbol.map)
47117395SkanSYMBOL_MAPS+=	${.CURDIR}/${RTLD_ARCH}/Symbol.map
48169689Skan.endif
4918334Speter.endif
50169689Skan
5118334Speter.sinclude "${.CURDIR}/${RTLD_ARCH}/Makefile.inc"
5218334Speter
5318334Speter# Since moving rtld-elf to /libexec, we need to create a symlink.
54169689Skan# Fixup the existing binary that's there so we can symlink over it.
55117395Skanbeforeinstall:
5690075Sobrien.if exists(${DESTDIR}/usr/libexec/${PROG})
5790075Sobrien	-chflags noschg ${DESTDIR}/usr/libexec/${PROG}
5890075Sobrien.endif
59117395Skan
6090075Sobrien.PATH: ${.CURDIR}/${RTLD_ARCH}
6190075Sobrien
62117395Skan.include <bsd.symver.mk>
6390075Sobrien.include <bsd.prog.mk>
6452284Sobrien