Makefile revision 1.88
11.88Slukem# $NetBSD: Makefile,v 1.88 2009/03/16 02:24:56 lukem Exp $ 21.88Slukem 31.88SlukemWARNS?=2 # XXX: too many sign-compare issues in xmalloc.c 41.5Scjs 51.86Schristos# We are not building this with PIE 61.86SchristosPIE_CFLAGS= 71.86SchristosPIE_LDFLAGS= 81.85Schristos.include <bsd.init.mk> # for OBJECT_FMT definition 91.57Sthorpej.include <bsd.shlib.mk> # for SHLINKINSTALLDIR definition 101.11Sjonathan 111.87Smrg.if defined(LDELFSO_MACHINE_CPU) && !empty(LDELFSO_MACHINE_CPU) && \ 121.87Smrg exists(${.CURDIR}/arch/${LDELFSO_MACHINE_CPU}) 131.87SmrgARCHSUBDIR= ${LDELFSO_MACHINE_CPU} 141.87Smrg.else 151.67SskrllARCHSUBDIR= ${MACHINE_CPU} 161.87Smrg.endif 171.67SskrllM= ${.CURDIR}/arch/${ARCHSUBDIR} 181.23Sjonathan 191.29Sthorpej.if ((${MACHINE_ARCH} == "alpha") || \ 201.75Ssimonb (${MACHINE_CPU} == "arm") || \ 211.49Sfredette (${MACHINE_ARCH} == "hppa") || \ 221.29Sthorpej (${MACHINE_ARCH} == "i386") || \ 231.29Sthorpej (${MACHINE_ARCH} == "m68k") || \ 241.75Ssimonb (${MACHINE_CPU} == "mips") || \ 251.29Sthorpej (${MACHINE_ARCH} == "powerpc") || \ 261.75Ssimonb (${MACHINE_CPU} == "sh3") || \ 271.29Sthorpej (${MACHINE_ARCH} == "sparc") || \ 281.32Smatt (${MACHINE_ARCH} == "sparc64") || \ 291.37Sfvdl (${MACHINE_ARCH} == "x86_64") || \ 301.32Smatt (${MACHINE_ARCH} == "vax")) && \ 311.29Sthorpej ${OBJECT_FMT} == "ELF" && ${MKPIC} != "no" 321.29Sthorpej 331.87SmrgPROG?= ld.elf_so 341.29Sthorpej 351.72SlukemLDFLAGS+= -shared -symbolic -nostartfiles 361.74SskrllLDFLAGS+= -Wl,-static 371.66Suwe 381.8Slukem# Adds SRCS, CPPFLAGS, LDFLAGS, etc. Must go first so MD startup source 391.1Scgd# is first. 401.23Sjonathan.if exists($M/Makefile.inc) 411.23Sjonathan.include "$M/Makefile.inc" 421.3Scgd.endif 431.1Scgd 441.87Smrg# Support src/compat/libexec/ld.elf_so. 451.87Smrg.if defined(LD32DIR) 461.87SmrgCLIBOBJ!= cd ${NETBSDSRCDIR}/compat/lib/libc && ${PRINTOBJDIR} 471.87Smrg.else 481.51SlukemCLIBOBJ!= cd ${NETBSDSRCDIR}/lib/libc && ${PRINTOBJDIR} 491.87Smrg.endif 501.44Stv 511.81SadSRCS+= rtld.c reloc.c symbol.c xmalloc.c xprintf.c debug.c \ 521.83Sskrll map_object.c load.c search.c headers.c paths.c expand.c 531.40Sthorpej 541.85Schristos.if ${USE_FORT} == "yes" 551.84Sad.PATH.c: ${NETBSDSRCDIR}/lib/libc/misc 561.80SchristosSRCS+= stack_protector.c 571.85Schristos.endif 581.83Sskrll 591.83Sskrll.PATH.c: ${NETBSDSRCDIR}/lib/libc/stdlib 601.83SskrllSRCS+= exit.c 611.80Schristos 621.67SskrllBINDIR= ${SHLINKINSTALLDIR} 631.41Slukem 641.67SskrllCPPFLAGS+= -DLIBDIR=\"${LIBDIR}\" -D_PATH_RTLD=\"${BINDIR}/${PROG}\" 651.67SskrllCPPFLAGS+= -I${.CURDIR} 661.67SskrllCPPFLAGS+= -DRTLD_LOADER 671.67SskrllCPPFLAGS+= -D_RTLD_SOURCE 681.76SmattCPPFLAGS+= -DCOMBRELOC 691.71Smartin#CPPFLAGS+= -DDEBUG 701.67Sskrll#CPPFLAGS+= -DRTLD_DEBUG 711.67Sskrll#CPPFLAGS+= -DRTLD_DEBUG_RELOC 721.67Sskrll#DBG= -g 731.67SskrllDBG= -O3 -fomit-frame-pointer 741.43Slukem 751.43Slukem.if ${SHLIBDIR} != ${LIBDIR} 761.67SskrllCPPFLAGS+= -DRTLD_DEFAULT_LIBRARY_PATH=\"${SHLIBDIR}:${LIBDIR}\" 771.43Slukem.endif 781.1Scgd 791.77SmattLDADD+= -L${CLIBOBJ} -L${DESTDIR}${LIBDIR} 801.77Smatt.if ${MKPICLIB} != "no" 811.77SmattLDADD+= -lc_pic 821.68Senami.if ${MKPICINSTALL} != "no" 831.67SskrllDPADD+= ${LIBC_PIC} 841.60Suwe.endif 851.67SskrllDPADD+= ${CLIBOBJ}/libc_pic.a 861.77Smatt.else 871.77SmattLDADD+= -lc 881.77SmattDPADD+= ${CLIBOBJ}/libc.a 891.77Smatt.endif 901.1Scgd 911.4SthorpejSTRIPFLAG= 921.1Scgd 931.23Sjonathan.PATH: $M 941.1Scgd 951.36Schristos${PROG}: ${OBJS} ${DPADD} 961.64Slukem ${_MKMSG_LINK} ${PROG} 971.72Slukem ${CC} ${LDFLAGS} -o ${PROG} ${OBJS} ${LDADD} 981.35Schristos 991.57Sthorpej.if ${SHLINKINSTALLDIR} != "/usr/libexec" 1001.57SthorpejSYMLINKS+= ${SHLINKINSTALLDIR}/${PROG} /usr/libexec/${PROG} 1011.7Smrg.endif 1021.1Scgd 1031.1Scgd.include <bsd.prog.mk> 1041.45Sskrll.else 1051.45Sskrll 1061.68SenamiMAN= ld.elf_so.1 1071.45Sskrll 1081.45Sskrll.include <bsd.man.mk> 1091.45Sskrll.endif 110