150476Speter# $FreeBSD$
258676Sbde
3169524Sdeischen.include <bsd.own.mk>
4188895SruMK_SSP=		no
5169524Sdeischen
6127250SpeterPROG?=		ld-elf.so.1
7129242SseSRCS=		rtld_start.S \
8225152Skib		reloc.c rtld.c rtld_lock.c rtld_printf.c map_object.c \
9129204Scognet		malloc.c xmalloc.c debug.c libmap.c
1074814SruMAN=		rtld.1
11115814SobrienCSTD?=		gnu99
12233934SkibTOPSRCDIR=	${.CURDIR}/../..
13115396SkanCFLAGS+=	-Wall -DFREEBSD_ELF -DIN_RTLD
14233934SkibCFLAGS+=	-I${TOPSRCDIR}/lib/csu/common
15211785Snwhitehorn.if exists(${.CURDIR}/${MACHINE_ARCH})
16211785SnwhitehornRTLD_ARCH=	${MACHINE_ARCH}
17211785Snwhitehorn.else
18211785SnwhitehornRTLD_ARCH=	${MACHINE_CPUARCH}
19211785Snwhitehorn.endif
20211785SnwhitehornCFLAGS+=	-I${.CURDIR}/${RTLD_ARCH} -I${.CURDIR}
21209885Snwhitehorn.if ${MACHINE_ARCH} == "powerpc64"
22222859SnwhitehornCFLAGS+=	-mcall-aixdesc
23209885SnwhitehornLDFLAGS+=	-nostdlib -e _rtld_start
24209885Snwhitehorn.else
2545501SjdpLDFLAGS+=	-nostdlib -e .rtld_start
26209885Snwhitehorn.endif
27201380SedWARNS?=		2
28137164SruINSTALLFLAGS=	-C -b
29137164SruPRECIOUSPROG=
30119014SgordonBINDIR=		/libexec
31119053SgordonSYMLINKS=	${BINDIR}/${PROG} /usr/libexec/${PROG}
32110836SphantomMLINKS=		rtld.1 ld-elf.so.1.1 \
33110836Sphantom		rtld.1 ld.so.1
3438816Sdfr
35215148Sdim.if ${MACHINE_CPUARCH} == "sparc64"
36215148SdimCFLAGS+=	-fPIC
37215148Sdim.else
38215148SdimCFLAGS+=	-fpic
39215148Sdim.endif
40216694SkibCFLAGS+=	-DPIC $(DEBUG)
4145501SjdpLDFLAGS+=	-shared -Wl,-Bsymbolic
4258676SbdeDPADD=		${LIBC_PIC}
43233987SkibLDADD=		-lc_pic
44168319Skan
45169524Sdeischen.if ${MK_SYMVER} == "yes"
46233934SkibLIBCDIR=	${TOPSRCDIR}/lib/libc
47169095SkanVERSION_DEF=	${LIBCDIR}/Versions.def
48168319SkanSYMBOL_MAPS=	${.CURDIR}/Symbol.map
49168319SkanVERSION_MAP=	Version.map
50168319SkanLDFLAGS+=	-Wl,--version-script=${VERSION_MAP}
51168319Skan
52168319Skan${PROG}:	${VERSION_MAP}
53168319Skan
54211785Snwhitehorn.if exists(${.CURDIR}/${RTLD_ARCH}/Symbol.map)
55211785SnwhitehornSYMBOL_MAPS+=	${.CURDIR}/${RTLD_ARCH}/Symbol.map
5645501Sjdp.endif
57168319Skan.endif
5834192Sjdp
59211785Snwhitehorn.sinclude "${.CURDIR}/${RTLD_ARCH}/Makefile.inc"
6045501Sjdp
61119044Sgordon# Since moving rtld-elf to /libexec, we need to create a symlink.
62119044Sgordon# Fixup the existing binary that's there so we can symlink over it.
63119044Sgordonbeforeinstall:
64137705Sru.if exists(${DESTDIR}/usr/libexec/${PROG})
65137703Sschweikh	-chflags noschg ${DESTDIR}/usr/libexec/${PROG}
66137705Sru.endif
67119044Sgordon
68211785Snwhitehorn.PATH: ${.CURDIR}/${RTLD_ARCH}
6934192Sjdp
70168319Skan.include <bsd.symver.mk>
7134192Sjdp.include <bsd.prog.mk>
72