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