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