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