Initial import from FreeBSD RELENG_4:
[dragonfly.git] / libexec / rtld-elf / Makefile
1 # $FreeBSD: src/libexec/rtld-elf/Makefile,v 1.10.2.6 2002/06/22 17:03:13 jdp Exp $
2
3 PROG=           ld-elf.so.1
4 SRCS=           rtld_start.S rtld.c lockdflt.c map_object.c malloc.c \
5                 xmalloc.c debug.c reloc.c
6 MAN=            rtld.1
7 CFLAGS+=        -Wall -DFREEBSD_ELF -I${.CURDIR}/${MACHINE_ARCH} -I${.CURDIR}
8 LDFLAGS+=       -nostdlib -e .rtld_start
9 INSTALLFLAGS=   -fschg -C -b
10 MLINKS=         rtld.1 ld-elf.so.1.1
11
12 .if exists(${.CURDIR}/${MACHINE_ARCH}/Makefile.inc)
13 .include "${.CURDIR}/${MACHINE_ARCH}/Makefile.inc"
14 .endif
15
16 # If LDSCRIPT is defined, we build the dynamic linker as an
17 # executable.  Otherwise we build it as a shared object.  We ignore
18 # LDSCRIPT if the running kernel is too old to support it.
19 .if defined(LDSCRIPT)
20 KERN_OSRELDATE!=        /sbin/sysctl -n kern.osreldate 2>/dev/null || echo 0
21 .if ${KERN_OSRELDATE} >= 400001
22 LDSO_IS_EXECUTABLE=     yes
23 .endif
24 .endif
25
26 .ifdef LDSO_IS_EXECUTABLE
27 OBJS+=          dyn_hack.so
28 LDFLAGS+=       -Wl,-T,${LDSCRIPT} -Wl,-E -Wl,-Bstatic
29 DPADD=          ${LIBC}
30 LDADD=          -lc
31 .else
32 CFLAGS+=        -fpic -DPIC
33 LDFLAGS+=       -shared -Wl,-Bsymbolic
34 DPADD=          ${LIBC_PIC}
35 LDADD=          -lc_pic
36 .endif
37
38 dyn_hack.so:
39         ${CC} -shared -nostdlib -o dyn_hack.so -x c /dev/null
40
41 .PATH: ${.CURDIR}/${MACHINE_ARCH}
42
43 .include <bsd.prog.mk>