Makefile revision 1.57
11.57Sthorpej#	$NetBSD: Makefile,v 1.57 2002/09/27 21:37:50 thorpej Exp $
21.5Scjs
31.11Sjonathan.include <bsd.own.mk>			# for OBJECT_FMT definition
41.57Sthorpej.include <bsd.shlib.mk>			# for SHLINKINSTALLDIR definition
51.11Sjonathan
61.47SthorpejARCHSUBDIR= ${MACHINE_CPU}
71.25SdrochnerM= ${.CURDIR}/arch/${ARCHSUBDIR}
81.23Sjonathan
91.29Sthorpej.if ((${MACHINE_ARCH} == "alpha") ||					\
101.50Sthorpej     (${MACHINE_ARCH} == "arm") || (${MACHINE_ARCH} == "armeb") ||	\
111.49Sfredette     (${MACHINE_ARCH} == "hppa") ||					\
121.29Sthorpej     (${MACHINE_ARCH} == "i386") ||					\
131.29Sthorpej     (${MACHINE_ARCH} == "m68k") ||					\
141.29Sthorpej     (${MACHINE_ARCH} == "mipsel") || (${MACHINE_ARCH} == "mipseb") ||	\
151.29Sthorpej     (${MACHINE_ARCH} == "powerpc") ||					\
161.46Sthorpej     (${MACHINE_ARCH} == "sh3eb") || (${MACHINE_ARCH} == "sh3el") ||	\
171.29Sthorpej     (${MACHINE_ARCH} == "sparc") ||					\
181.32Smatt     (${MACHINE_ARCH} == "sparc64") ||					\
191.37Sfvdl     (${MACHINE_ARCH} == "x86_64") ||					\
201.32Smatt     (${MACHINE_ARCH} == "vax")) &&					\
211.29Sthorpej    ${OBJECT_FMT} == "ELF" && ${MKPIC} != "no"
221.29Sthorpej
231.29SthorpejPROG=	ld.elf_so
241.29Sthorpej
251.8Slukem# Adds SRCS, CPPFLAGS, LDFLAGS, etc.  Must go first so MD startup source
261.1Scgd# is first.
271.23Sjonathan.if exists($M/Makefile.inc)
281.23Sjonathan.include "$M/Makefile.inc"
291.3Scgd.endif
301.1Scgd
311.51SlukemCLIBOBJ!=	cd ${NETBSDSRCDIR}/lib/libc && ${PRINTOBJDIR}
321.44Stv
331.1ScgdSRCS+=	rtld.c reloc.c symbol.c malloc.c xmalloc.c xprintf.c debug.c \
341.1Scgd	map_object.c load.c search.c headers.c paths.c
351.40Sthorpej
361.57SthorpejBINDIR=${SHLINKINSTALLDIR}
371.41Slukem
381.40SthorpejCPPFLAGS+= -DLIBDIR=\"${LIBDIR}\" -D_PATH_RTLD=\"${BINDIR}/${PROG}\"
391.22SchristosCPPFLAGS+= -I${.CURDIR}
401.52SmycroftCPPFLAGS+= -DRTLD_LOADER
411.30SthorpejCPPFLAGS+= -D_RTLD_SOURCE
421.54Smycroft#CPPFLAGS+= -DDEBUG
431.33Smatt#CPPFLAGS+= -DRTLD_DEBUG
441.33Smatt#CPPFLAGS+= -DRTLD_DEBUG_RELOC
451.34Smycroft#DBG=	-g
461.56SmycroftDBG=	-O3 -fomit-frame-pointer
471.43Slukem
481.43Slukem.if ${SHLIBDIR} != ${LIBDIR}
491.43SlukemCPPFLAGS+= -DRTLD_DEFAULT_LIBRARY_PATH=\"${SHLIBDIR}:${LIBDIR}\"
501.43Slukem.endif
511.1Scgd
521.44StvLDADD+=	-L${CLIBOBJ} -L${DESTDIR}${LIBDIR} -non_shared -lc_pic
531.48StvDPADD+=	${CLIBOBJ}/libc_pic.a ${LIBC_PIC}
541.48Stv
551.48Stv# One of these may not exist at link time, so avoid make errors.
561.48Stv${DPADD}:
571.48Stv	@true
581.1Scgd
591.4SthorpejSTRIPFLAG=
601.1Scgd
611.23Sjonathan.PATH: $M
621.1Scgd
631.36Schristos${PROG}: ${OBJS} ${DPADD}
641.1Scgd	${LD} ${LDFLAGS} -o ${PROG} ${OBJS} ${LDADD}
651.35Schristos
661.57Sthorpej.if ${SHLINKINSTALLDIR} != "/usr/libexec"
671.57SthorpejSYMLINKS+=	${SHLINKINSTALLDIR}/${PROG} /usr/libexec/${PROG}
681.7Smrg.endif
691.1Scgd
701.1Scgd.include <bsd.prog.mk>
711.45Sskrll.else
721.45Sskrll
731.45SskrllMAN=	ld.elf_so.1
741.45Sskrll
751.45Sskrll.include <bsd.man.mk>
761.45Sskrll.endif
77