]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/blob - libexec/rtld-elf/Makefile
MFC r232974:
[FreeBSD/stable/9.git] / libexec / rtld-elf / Makefile
1 # $FreeBSD$
2
3 .include <bsd.own.mk>
4 MK_SSP=         no
5
6 PROG?=          ld-elf.so.1
7 SRCS=           rtld_start.S \
8                 reloc.c rtld.c rtld_lock.c rtld_printf.c map_object.c \
9                 malloc.c xmalloc.c debug.c libmap.c
10 MAN=            rtld.1
11 CSTD?=          gnu99
12 CFLAGS+=        -Wall -DFREEBSD_ELF -DIN_RTLD
13 CFLAGS+=        -I${.CURDIR}/../../lib/csu/common
14 .if exists(${.CURDIR}/${MACHINE_ARCH})
15 RTLD_ARCH=      ${MACHINE_ARCH}
16 .else
17 RTLD_ARCH=      ${MACHINE_CPUARCH}
18 .endif
19 CFLAGS+=        -I${.CURDIR}/${RTLD_ARCH} -I${.CURDIR}
20 .if ${MACHINE_ARCH} == "powerpc64"
21 CFLAGS+=        -mcall-aixdesc
22 LDFLAGS+=       -nostdlib -e _rtld_start
23 .else
24 LDFLAGS+=       -nostdlib -e .rtld_start
25 .endif
26 WARNS?=         2
27 INSTALLFLAGS=   -C -b
28 PRECIOUSPROG=
29 BINDIR=         /libexec
30 SYMLINKS=       ${BINDIR}/${PROG} /usr/libexec/${PROG}
31 MLINKS=         rtld.1 ld-elf.so.1.1 \
32                 rtld.1 ld.so.1
33
34 .if ${MACHINE_CPUARCH} == "sparc64"
35 CFLAGS+=        -fPIC
36 .else
37 CFLAGS+=        -fpic
38 .endif
39 CFLAGS+=        -DPIC $(DEBUG)
40 LDFLAGS+=       -shared -Wl,-Bsymbolic
41 DPADD=          ${LIBC_PIC}
42 LDADD=          -lc_pic -lssp_nonshared
43
44 .if ${MK_SYMVER} == "yes"
45 LIBCDIR=        ${.CURDIR}/../../lib/libc
46 VERSION_DEF=    ${LIBCDIR}/Versions.def
47 SYMBOL_MAPS=    ${.CURDIR}/Symbol.map
48 VERSION_MAP=    Version.map
49 LDFLAGS+=       -Wl,--version-script=${VERSION_MAP}
50
51 ${PROG}:        ${VERSION_MAP}
52
53 .if exists(${.CURDIR}/${RTLD_ARCH}/Symbol.map)
54 SYMBOL_MAPS+=   ${.CURDIR}/${RTLD_ARCH}/Symbol.map
55 .endif
56 .endif
57
58 .sinclude "${.CURDIR}/${RTLD_ARCH}/Makefile.inc"
59
60 # Since moving rtld-elf to /libexec, we need to create a symlink.
61 # Fixup the existing binary that's there so we can symlink over it.
62 beforeinstall:
63 .if exists(${DESTDIR}/usr/libexec/${PROG})
64         -chflags noschg ${DESTDIR}/usr/libexec/${PROG}
65 .endif
66
67 .PATH: ${.CURDIR}/${RTLD_ARCH}
68
69 .include <bsd.symver.mk>
70 .include <bsd.prog.mk>