Merge branch 'vendor/BMAKE'
[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 CSTD?=          gnu99
9 WARNS?=         2
10
11 # To activate LD_DEBUG functionality, define ENABLE_DEBUG
12 # e.g. make -DENABLE_DEBUG
13
14 CFLAGS+=        -DIN_RTLD
15 CFLAGS+=        -I${.CURDIR}/${MACHINE_ARCH} -I${.CURDIR} -D__thread=
16 CFLAGS+=        -I${.CURDIR}/../../lib/csu/common
17 LDFLAGS+=       -nostdlib -e .rtld_start -Wl,--no-undefined
18 INSTALLFLAGS=   -C -b
19 .ifndef NOFSCHG
20 INSTALLFLAGS+=  -fschg
21 .endif
22 MLINKS=         rtld.1 ld-elf.so.1.1
23 MLINKS+=        rtld.1 ld-elf.so.2.1
24 MLINKS+=        rtld.1 _rtld_functrace.3
25
26 .if !defined(NO_SYMVER)
27 VERSION_DEF=    ${.CURDIR}/../../lib/libc/Versions.def
28 SYMBOL_MAPS=    ${.CURDIR}/Symbol.map
29 VERSION_MAP=    Version.map
30 LDFLAGS+=       -Wl,--version-script=${VERSION_MAP}
31
32 rtld.c:         ${VERSION_MAP}
33
34 .if exists(${.CURDIR}/${MACHINE_ARCH}/Symbol.map)
35 SYMBOL_MAPS+=   ${.CURDIR}/${MACHINE_ARCH}/Symbol.map
36 .endif
37 .endif
38
39 .if exists(${.CURDIR}/${MACHINE_ARCH}/Makefile.inc)
40 .include "${.CURDIR}/${MACHINE_ARCH}/Makefile.inc"
41 .endif
42
43 CFLAGS+=        -fpic -DPIC
44 LDFLAGS+=       -shared -Wl,-Bsymbolic
45 DPADD=          ${.OBJDIR}/../../lib/libc_rtld/libc_rtld_pic.a
46 LDADD=          -L${.OBJDIR}/../../lib/libc_rtld -lc_rtld_pic
47
48 .ifdef ENABLE_DEBUG
49 CFLAGS+=        -DDEBUG
50 .endif
51
52 .PATH: ${.CURDIR}/${MACHINE_ARCH}
53
54 .include <bsd.symver.mk>
55 .include <bsd.prog.mk>