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