1# $MirOS: src/libexec/ld.so/Makefile,v 1.12 2008/10/16 14:43:23 tg Exp $
2# $OpenBSD: Makefile,v 1.34 2006/05/11 22:03:22 deraadt Exp $
3
4SUBDIR=		ldconfig ldd
5#SUBDIR+=	prebind
6LIBCSRCDIR?=	${.CURDIR}/../../lib/libc
7VPATH=		${LIBCSRCDIR}/string
8
9SRCS=	ldasm.S loader.c resolve.c dlfcn.c dl_printf.c rtld_machine.c
10SRCS+=	util.c sod.c strsep.c strtol.c dir.c library_subr.c dl_prebind.c
11.if (${MACHINE_ARCH} == "i386")
12SRCS+=	library_mquery.c
13.else
14SRCS+=	library.c
15.endif
16
17SRCS+=		ssp.c
18CFLAGS_ssp.o=	-fno-stack-protector
19
20PROG=		ld.so
21DPADD+=		${LIBMDSUP}
22LDADD+=		-lmdsup_pic
23
24.include "Makefile.inc"
25.include "${.CURDIR}/${MACHINE_ARCH}/Makefile.inc"
26.PATH:	${.CURDIR}/${MACHINE_ARCH}
27
28COPTS+=		-Wall
29CPPFLAGS+=	-I${.CURDIR}/${MACHINE_ARCH} -Dstrsep=_dl_strsep
30INSTALL_STRIP=
31
32ELF_LDFLAGS+=	--shared -Bsymbolic --no-undefined
33
34CLEANFILES+=	${PROG}~
35${PROG}:
36	${LD} -r -o ${PROG}~ ${OBJS}
37	objcopy --redefine-sym memcpy=_dl_memcpy ${PROG}~
38	${LD} -x -e _dl_start ${ELF_LDFLAGS} -o ${PROG} ${PROG}~ ${LDADD}
39
40.include <bsd.prog.mk>
41