rtld: Remove unneeded CSTD, our default is gnu99.
[dragonfly.git] / libexec / rtld-elf / Makefile
1 # $FreeBSD$
2
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
11
12 # To activate LD_DEBUG functionality, define ENABLE_DEBUG
13 # e.g. make -DENABLE_DEBUG
14
15 # for now do not let the use of -flto
16 .if ${CFLAGS:M-flto}
17 CFLAGS+=        -fno-lto
18 LDFLAGS+=       -flto
19 .endif
20
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
32
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}
38
39 rtld.c:         ${VERSION_MAP}
40
41 .if exists(${.CURDIR}/${MACHINE_ARCH}/Symbol.map)
42 SYMBOL_MAPS+=   ${.CURDIR}/${MACHINE_ARCH}/Symbol.map
43 .endif
44 .endif
45
46 .if exists(${.CURDIR}/${MACHINE_ARCH}/Makefile.inc)
47 .include "${.CURDIR}/${MACHINE_ARCH}/Makefile.inc"
48 .endif
49
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
54
55 .ifdef ENABLE_DEBUG
56 CFLAGS+=        -DDEBUG
57 .endif
58
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
65
66 .PATH: ${.CURDIR}/${MACHINE_ARCH}
67
68 .include <bsd.symver.mk>
69 .include <bsd.prog.mk>