xref: /netbsd-src/libexec/ld.aout_so/Makefile (revision 27fd3f6531803adac12382d7643a9a492b576601)
1#	$NetBSD: Makefile,v 1.46 2008/10/31 20:24:52 mrg Exp $
2
3.include <bsd.own.mk>			# for OBJECT_FMT definition
4.include <bsd.shlib.mk>			# for SHLINKINSTALLDIR definition
5.if ${MKPIC} != "no"
6.if (${OBJECT_FMT} == "a.out")
7PROG=	ld.so
8SRCS=	mdprologue.S rtld.c malloc.c shlib.c md.c vfprintf.c
9BINDIR=	${SHLINKINSTALLDIR}
10
11CLIB=	${NETBSDSRCDIR}/lib/libc
12CLIBOBJ!=cd ${CLIB} && ${PRINTOBJDIR}
13PICFLAG=-fpic -fno-function-cse
14CPPFLAGS+=$(PICFLAG) -DRTLD -DLIBC_SCCS \
15	  -I${CLIB}/include -I$(.CURDIR)/arch/$(MACHINE_ARCH) -I$(.CURDIR)
16.if defined(DEBUG)
17CPPFLAGS+=-DDEBUG
18.endif
19.if ${SHLIBINSTALLDIR} != ${LIBDIR}
20CPPFLAGS+=-DSTANDARD_SEARCH_DIRS=\"${SHLIBINSTALLDIR}\",\"${LIBDIR}\"
21.endif
22ASFLAGS+=-k
23LDFLAGS+=-Bshareable -Bsymbolic -assert nosymbolic -L${CLIBOBJ}
24.if defined(DESTDIR)
25LDFLAGS+= -nostdlib -L${DESTDIR}/usr/lib
26.endif
27LDADD+=	-lc_pic
28DPADD+=	${LIBC_PIC}
29
30.PATH: ${CLIB}/stdio $(.CURDIR)/arch/$(MACHINE_ARCH)
31
32$(PROG):
33	$(LD) -o $(PROG) $(LDFLAGS) $(OBJS) $(LDADD)
34
35.S.o:
36	${CPP} ${.IMPSRC} | ${AS} ${ASFLAGS} -o ${.TARGET} -
37
38.if ${SHLINKINSTALLDIR} != "/usr/libexec"
39SYMLINKS+=	${SHLINKINSTALLDIR}/${PROG} /usr/libexec/${PROG}
40.endif
41
42.elif (${OBJECT_FMT} == "ELF" && \
43       (${MACHINE_ARCH} == "arm" || \
44        ${MACHINE_ARCH} == "i386" || \
45        ${MACHINE_ARCH} == "m68k" || \
46        ${MACHINE_ARCH} == "sparc" || \
47        ${MACHINE_ARCH} == "vax"))
48
49FILES=		ld.so
50FILESDIR=	/usr/libexec
51FILESMODE=	${BINMODE}
52UUDECODE_FILES=	ld.so.${MACHINE_ARCH}
53UUDECODE_FILES_RENAME_${UUDECODE_FILES}= ld.so
54
55all dependall: ${FILES}
56
57ld.so:	ld.so.${MACHINE_ARCH}
58
59.endif
60.endif
61
62MAN= ld.aout_so.1
63
64.include <bsd.files.mk>
65.include <bsd.prog.mk>
66