1 # $NetBSD: Makefile,v 1.28.10.1 2000/09/12 00:56:57 fvdl 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}; \ 9 printf "xxx: .MAKE\n\t@echo \$${.OBJDIR}\n" | ${MAKE} -s -f- 10 PICFLAG=-fpic -fno-function-cse 11 CPPFLAGS+=$(PICFLAG) -DRTLD -DLIBC_SCCS \ 12 -I${CLIB}/include -I$(.CURDIR)/arch/$(MACHINE_ARCH) -I$(.CURDIR) 13 .if defined(DEBUG) 14 CPPFLAGS+=-DDEBUG 15 .endif 16 ASFLAGS+=-k 17 LDFLAGS+=-Bshareable -Bsymbolic -assert nosymbolic -L${CLIBOBJ} 18 .if defined(DESTDIR) 19 LDFLAGS+= -nostdlib -L${DESTDIR}/usr/lib 20 .endif 21 LDADD+= -lc_pic 22 DPADD+= ${LIBC_PIC} 23 24 .PATH: ${CLIB}/stdio $(.CURDIR)/arch/$(MACHINE_ARCH) 25 26 $(PROG): 27 $(LD) -o $(PROG) $(LDFLAGS) $(OBJS) $(LDADD) 28 29 .S.o: 30 ${CPP} ${.IMPSRC} | ${AS} ${ASFLAGS} -o ${.TARGET} - 31 .elif (${OBJECT_FMT} == "ELF" && (${MACHINE_ARCH} == "i386" || \ 32 ${MACHINE_ARCH} == "sparc")) 33 34 FILES= ld.so 35 FILESDIR= ${DESTDIR}/usr/libexec 36 FILESMODE= ${BINMODE} 37 CLEANFILES+= ld.so 38 39 all: ${FILES} 40 41 ld.so: ${.CURDIR}/ld.so.${MACHINE_ARCH}.uue 42 uudecode ${.ALLSRC} 43 44 .include <bsd.files.mk> 45 46 .endif 47 48 MAN= rtld.1 49 MLINKS= rtld.1 ld.so.1 50 51 .include <bsd.prog.mk> 52