1 # $NetBSD: Makefile,v 1.31 2001/04/18 11:48:21 tsutsui 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" && \ 32 (${MACHINE_ARCH} == "i386" || \ 33 ${MACHINE_ARCH} == "m68k" || \ 34 ${MACHINE_ARCH} == "sparc")) 35 36 FILES= ld.so 37 FILESDIR= /usr/libexec 38 FILESMODE= ${BINMODE} 39 CLEANFILES+= ld.so 40 41 all dependall: ${FILES} 42 43 ld.so: ${.CURDIR}/ld.so.${MACHINE_ARCH}.uue 44 uudecode ${.ALLSRC} 45 46 .include <bsd.files.mk> 47 48 .endif 49 50 MAN= rtld.1 51 MLINKS= rtld.1 ld.so.1 52 53 .include <bsd.prog.mk> 54