Makefile revision 1.86
11.86Schristos# $NetBSD: Makefile,v 1.86 2008/10/16 14:36:20 christos Exp $ 21.5Scjs 31.86Schristos# We are not building this with PIE 41.86SchristosPIE_CFLAGS= 51.86SchristosPIE_LDFLAGS= 61.85Schristos.include <bsd.init.mk> # for OBJECT_FMT definition 71.57Sthorpej.include <bsd.shlib.mk> # for SHLINKINSTALLDIR definition 81.11Sjonathan 91.67SskrllARCHSUBDIR= ${MACHINE_CPU} 101.67SskrllM= ${.CURDIR}/arch/${ARCHSUBDIR} 111.23Sjonathan 121.29Sthorpej.if ((${MACHINE_ARCH} == "alpha") || \ 131.75Ssimonb (${MACHINE_CPU} == "arm") || \ 141.49Sfredette (${MACHINE_ARCH} == "hppa") || \ 151.29Sthorpej (${MACHINE_ARCH} == "i386") || \ 161.29Sthorpej (${MACHINE_ARCH} == "m68k") || \ 171.75Ssimonb (${MACHINE_CPU} == "mips") || \ 181.29Sthorpej (${MACHINE_ARCH} == "powerpc") || \ 191.75Ssimonb (${MACHINE_CPU} == "sh3") || \ 201.29Sthorpej (${MACHINE_ARCH} == "sparc") || \ 211.32Smatt (${MACHINE_ARCH} == "sparc64") || \ 221.37Sfvdl (${MACHINE_ARCH} == "x86_64") || \ 231.32Smatt (${MACHINE_ARCH} == "vax")) && \ 241.29Sthorpej ${OBJECT_FMT} == "ELF" && ${MKPIC} != "no" 251.29Sthorpej 261.67SskrllPROG= ld.elf_so 271.29Sthorpej 281.72SlukemLDFLAGS+= -shared -symbolic -nostartfiles 291.74SskrllLDFLAGS+= -Wl,-static 301.66Suwe 311.8Slukem# Adds SRCS, CPPFLAGS, LDFLAGS, etc. Must go first so MD startup source 321.1Scgd# is first. 331.23Sjonathan.if exists($M/Makefile.inc) 341.23Sjonathan.include "$M/Makefile.inc" 351.3Scgd.endif 361.1Scgd 371.51SlukemCLIBOBJ!= cd ${NETBSDSRCDIR}/lib/libc && ${PRINTOBJDIR} 381.44Stv 391.81SadSRCS+= rtld.c reloc.c symbol.c xmalloc.c xprintf.c debug.c \ 401.83Sskrll map_object.c load.c search.c headers.c paths.c expand.c 411.40Sthorpej 421.85Schristos.if ${USE_FORT} == "yes" 431.84Sad.PATH.c: ${NETBSDSRCDIR}/lib/libc/misc 441.80SchristosSRCS+= stack_protector.c 451.85Schristos.endif 461.83Sskrll 471.83Sskrll.PATH.c: ${NETBSDSRCDIR}/lib/libc/stdlib 481.83SskrllSRCS+= exit.c 491.80Schristos 501.67SskrllBINDIR= ${SHLINKINSTALLDIR} 511.41Slukem 521.67SskrllCPPFLAGS+= -DLIBDIR=\"${LIBDIR}\" -D_PATH_RTLD=\"${BINDIR}/${PROG}\" 531.67SskrllCPPFLAGS+= -I${.CURDIR} 541.67SskrllCPPFLAGS+= -DRTLD_LOADER 551.67SskrllCPPFLAGS+= -D_RTLD_SOURCE 561.76SmattCPPFLAGS+= -DCOMBRELOC 571.71Smartin#CPPFLAGS+= -DDEBUG 581.67Sskrll#CPPFLAGS+= -DRTLD_DEBUG 591.67Sskrll#CPPFLAGS+= -DRTLD_DEBUG_RELOC 601.67Sskrll#DBG= -g 611.67SskrllDBG= -O3 -fomit-frame-pointer 621.43Slukem 631.43Slukem.if ${SHLIBDIR} != ${LIBDIR} 641.67SskrllCPPFLAGS+= -DRTLD_DEFAULT_LIBRARY_PATH=\"${SHLIBDIR}:${LIBDIR}\" 651.43Slukem.endif 661.1Scgd 671.77SmattLDADD+= -L${CLIBOBJ} -L${DESTDIR}${LIBDIR} 681.77Smatt.if ${MKPICLIB} != "no" 691.77SmattLDADD+= -lc_pic 701.68Senami.if ${MKPICINSTALL} != "no" 711.67SskrllDPADD+= ${LIBC_PIC} 721.60Suwe.endif 731.67SskrllDPADD+= ${CLIBOBJ}/libc_pic.a 741.77Smatt.else 751.77SmattLDADD+= -lc 761.77SmattDPADD+= ${CLIBOBJ}/libc.a 771.77Smatt.endif 781.1Scgd 791.4SthorpejSTRIPFLAG= 801.1Scgd 811.23Sjonathan.PATH: $M 821.1Scgd 831.36Schristos${PROG}: ${OBJS} ${DPADD} 841.64Slukem ${_MKMSG_LINK} ${PROG} 851.72Slukem ${CC} ${LDFLAGS} -o ${PROG} ${OBJS} ${LDADD} 861.35Schristos 871.57Sthorpej.if ${SHLINKINSTALLDIR} != "/usr/libexec" 881.57SthorpejSYMLINKS+= ${SHLINKINSTALLDIR}/${PROG} /usr/libexec/${PROG} 891.7Smrg.endif 901.1Scgd 911.1Scgd.include <bsd.prog.mk> 921.45Sskrll.else 931.45Sskrll 941.68SenamiMAN= ld.elf_so.1 951.45Sskrll 961.45Sskrll.include <bsd.man.mk> 971.45Sskrll.endif 98