telnetd: Hide global debug symbol.
[dragonfly.git] / libexec / rtld-elf / Makefile
blobdb90168f6fadfd1e742069bcc03eb710968c3391
1 # $FreeBSD$
3 PROG= ld-elf.so.2
4 SRCS= rtld_start.S \
5 reloc.c rtld.c rtld_lock.c rtld_printf.c map_object.c \
6 malloc.c xmalloc.c debug.c libmap.c
7 MAN= rtld.1
8 BINDIR= /libexec
9 SYMLINKS= ${BINDIR}/${PROG} /usr/libexec/${PROG}
10 WARNS?= 2
12 # To activate LD_DEBUG functionality, define ENABLE_DEBUG
13 # e.g. make -DENABLE_DEBUG
15 # for now do not let the use of -flto
16 .if ${CFLAGS:M-flto}
17 CFLAGS+= -fno-lto
18 LDFLAGS+= -flto
19 .endif
21 CFLAGS+= -DIN_RTLD
22 CFLAGS+= -I${.CURDIR}/${MACHINE_ARCH} -I${.CURDIR} -D__thread=
23 CFLAGS+= -I${.CURDIR}/../../lib/csu/common
24 LDFLAGS+= -nostdlib -e .rtld_start -Wl,--no-undefined
25 INSTALLFLAGS= -C -b
26 .ifndef NOFSCHG
27 INSTALLFLAGS+= -fschg
28 .endif
29 MLINKS= rtld.1 ld-elf.so.1.1
30 MLINKS+= rtld.1 ld-elf.so.2.1
31 MLINKS+= rtld.1 _rtld_functrace.3
33 .if !defined(NO_SYMVER)
34 VERSION_DEF= ${.CURDIR}/../../lib/libc/Versions.def
35 SYMBOL_MAPS= ${.CURDIR}/Symbol.map
36 VERSION_MAP= Version.map
37 LDFLAGS+= -Wl,--version-script=${VERSION_MAP}
39 rtld.c: ${VERSION_MAP}
41 .if exists(${.CURDIR}/${MACHINE_ARCH}/Symbol.map)
42 SYMBOL_MAPS+= ${.CURDIR}/${MACHINE_ARCH}/Symbol.map
43 .endif
44 .endif
46 .if exists(${.CURDIR}/${MACHINE_ARCH}/Makefile.inc)
47 .include "${.CURDIR}/${MACHINE_ARCH}/Makefile.inc"
48 .endif
50 CFLAGS+= -fpic -DPIC
51 LDFLAGS+= -shared -Wl,-Bsymbolic
52 DPADD= ${.OBJDIR}/../../lib/libc_rtld/libc_rtld_pic.a
53 LDADD= -L${.OBJDIR}/../../lib/libc_rtld -lc_rtld_pic
55 .ifdef ENABLE_DEBUG
56 CFLAGS+= -DDEBUG
57 .endif
59 # Since moving rtld-elf to /libexec, we need to create a symlink.
60 # Fixup the existing binary that's there so we can symlink over it.
61 beforeinstall:
62 .if exists(${DESTDIR}/usr/libexec/${PROG})
63 chflags -h noschg ${DESTDIR}/usr/libexec/${PROG}
64 .endif
66 .PATH: ${.CURDIR}/${MACHINE_ARCH}
68 .include <bsd.symver.mk>
69 .include <bsd.prog.mk>