Makefile revision 216694
1160636Syongari# $FreeBSD: head/libexec/rtld-elf/Makefile 216694 2010-12-25 08:42:38Z kib $
2160636Syongari
3160636Syongari.include <bsd.own.mk>
4160636SyongariMK_SSP=		no
5160636Syongari
6160636SyongariPROG?=		ld-elf.so.1
7160636SyongariSRCS=		rtld_start.S \
8160636Syongari		reloc.c rtld.c rtld_lock.c map_object.c \
9160636Syongari		malloc.c xmalloc.c debug.c libmap.c
10160636SyongariMAN=		rtld.1
11160636SyongariCSTD?=		gnu99
12160636SyongariCFLAGS+=	-Wall -DFREEBSD_ELF -DIN_RTLD
13160636Syongari.if exists(${.CURDIR}/${MACHINE_ARCH})
14160636SyongariRTLD_ARCH=	${MACHINE_ARCH}
15160636Syongari.else
16160636SyongariRTLD_ARCH=	${MACHINE_CPUARCH}
17160636Syongari.endif
18160636SyongariCFLAGS+=	-I${.CURDIR}/${RTLD_ARCH} -I${.CURDIR}
19160636Syongari.if ${MACHINE_ARCH} == "powerpc64"
20160636SyongariLDFLAGS+=	-nostdlib -e _rtld_start
21160636Syongari.else
22160636SyongariLDFLAGS+=	-nostdlib -e .rtld_start
23160636Syongari.endif
24160636SyongariWARNS?=		2
25160636SyongariINSTALLFLAGS=	-C -b
26160636SyongariPRECIOUSPROG=
27160636SyongariBINDIR=		/libexec
28160636SyongariSYMLINKS=	${BINDIR}/${PROG} /usr/libexec/${PROG}
29160636SyongariMLINKS=		rtld.1 ld-elf.so.1.1 \
30160636Syongari		rtld.1 ld.so.1
31160636Syongari
32160636Syongari.if ${MACHINE_CPUARCH} == "sparc64"
33160636SyongariCFLAGS+=	-fPIC
34160636Syongari.else
35160636SyongariCFLAGS+=	-fpic
36160636Syongari.endif
37160636SyongariCFLAGS+=	-DPIC $(DEBUG)
38160636SyongariLDFLAGS+=	-shared -Wl,-Bsymbolic
39160636SyongariDPADD=		${LIBC_PIC}
40160636SyongariLDADD=		-lc_pic -lssp_nonshared
41160636Syongari
42160636Syongari.if ${MK_SYMVER} == "yes"
43160636SyongariLIBCDIR=	${.CURDIR}/../../lib/libc
44160636SyongariVERSION_DEF=	${LIBCDIR}/Versions.def
45160636SyongariSYMBOL_MAPS=	${.CURDIR}/Symbol.map
46160636SyongariVERSION_MAP=	Version.map
47160636SyongariLDFLAGS+=	-Wl,--version-script=${VERSION_MAP}
48160636Syongari
49160636Syongari${PROG}:	${VERSION_MAP}
50160636Syongari
51160636Syongari.if exists(${.CURDIR}/${RTLD_ARCH}/Symbol.map)
52160636SyongariSYMBOL_MAPS+=	${.CURDIR}/${RTLD_ARCH}/Symbol.map
53160636Syongari.endif
54160636Syongari.endif
55160636Syongari
56160636Syongari.sinclude "${.CURDIR}/${RTLD_ARCH}/Makefile.inc"
57160636Syongari
58213364Smarius# Since moving rtld-elf to /libexec, we need to create a symlink.
59160636Syongari# Fixup the existing binary that's there so we can symlink over it.
60160636Syongaribeforeinstall:
61160636Syongari.if exists(${DESTDIR}/usr/libexec/${PROG})
62160636Syongari	-chflags noschg ${DESTDIR}/usr/libexec/${PROG}
63160636Syongari.endif
64160636Syongari
65160636Syongari.PATH: ${.CURDIR}/${RTLD_ARCH}
66160636Syongari
67160636Syongari.include <bsd.symver.mk>
68160636Syongari.include <bsd.prog.mk>
69160636Syongari