Makefile revision 233360
1300313Ssjg# $FreeBSD: head/libexec/rtld-elf/Makefile 233360 2012-03-23 12:10:12Z kib $ 2246149Ssjg 3246149Ssjg.include <bsd.own.mk> 4246149SsjgMK_SSP= no 5300313Ssjg 6246149SsjgPROG?= ld-elf.so.1 7246149SsjgSRCS= rtld_start.S \ 8246149Ssjg reloc.c rtld.c rtld_lock.c rtld_printf.c map_object.c \ 9246149Ssjg malloc.c xmalloc.c debug.c libmap.c 10246149SsjgMAN= rtld.1 11246149SsjgCSTD?= gnu99 12246149SsjgTOPSRCDIR= ${.CURDIR}/../.. 13246149SsjgCFLAGS+= -Wall -DFREEBSD_ELF -DIN_RTLD 14246149SsjgCFLAGS+= -I${TOPSRCDIR}/lib/csu/common 15246149Ssjg.if exists(${.CURDIR}/${MACHINE_ARCH}) 16246149SsjgRTLD_ARCH= ${MACHINE_ARCH} 17246149Ssjg.else 18246149SsjgRTLD_ARCH= ${MACHINE_CPUARCH} 19246149Ssjg.endif 20246149SsjgCFLAGS+= -I${.CURDIR}/${RTLD_ARCH} -I${.CURDIR} 21246149Ssjg.if ${MACHINE_ARCH} == "powerpc64" 22246149SsjgCFLAGS+= -mcall-aixdesc 23246149SsjgLDFLAGS+= -nostdlib -e _rtld_start 24246149Ssjg.else 25246149SsjgLDFLAGS+= -nostdlib -e .rtld_start 26246149Ssjg.endif 27246149SsjgWARNS?= 2 28246149SsjgINSTALLFLAGS= -C -b 29246149SsjgPRECIOUSPROG= 30246149SsjgBINDIR= /libexec 31246149SsjgSYMLINKS= ${BINDIR}/${PROG} /usr/libexec/${PROG} 32246149SsjgMLINKS= rtld.1 ld-elf.so.1.1 \ 33246149Ssjg rtld.1 ld.so.1 34246149Ssjg 35246149Ssjg.if ${MACHINE_CPUARCH} == "sparc64" 36246149SsjgCFLAGS+= -fPIC 37246149Ssjg.else 38246149SsjgCFLAGS+= -fpic 39246149Ssjg.endif 40246149SsjgCFLAGS+= -DPIC $(DEBUG) 41246149SsjgLDFLAGS+= -shared -Wl,-Bsymbolic 42246149SsjgDPADD= ${LIBC_PIC} 43246149SsjgLDADD= -lc_pic -lssp_nonshared 44246149Ssjg 45246149Ssjg.if ${MK_SYMVER} == "yes" 46246149SsjgLIBCDIR= ${TOPSRCDIR}/lib/libc 47246149SsjgVERSION_DEF= ${LIBCDIR}/Versions.def 48246149SsjgSYMBOL_MAPS= ${.CURDIR}/Symbol.map 49246149SsjgVERSION_MAP= Version.map 50246149SsjgLDFLAGS+= -Wl,--version-script=${VERSION_MAP} 51246149Ssjg 52246149Ssjg${PROG}: ${VERSION_MAP} 53246149Ssjg 54246149Ssjg.if exists(${.CURDIR}/${RTLD_ARCH}/Symbol.map) 55246149SsjgSYMBOL_MAPS+= ${.CURDIR}/${RTLD_ARCH}/Symbol.map 56246149Ssjg.endif 57246149Ssjg.endif 58246149Ssjg 59246149Ssjg.sinclude "${.CURDIR}/${RTLD_ARCH}/Makefile.inc" 60246149Ssjg 61246149Ssjg# Since moving rtld-elf to /libexec, we need to create a symlink. 62246149Ssjg# Fixup the existing binary that's there so we can symlink over it. 63246149Ssjgbeforeinstall: 64246149Ssjg.if exists(${DESTDIR}/usr/libexec/${PROG}) 65246149Ssjg -chflags noschg ${DESTDIR}/usr/libexec/${PROG} 66246149Ssjg.endif 67246149Ssjg 68246149Ssjg.PATH: ${.CURDIR}/${RTLD_ARCH} 69246149Ssjg 70246149Ssjg.include <bsd.symver.mk> 71246149Ssjg.include <bsd.prog.mk> 72246149Ssjg