Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/share/mk/bsd.prog.mk,v rcsdiff: /ftp/cvs/cvsroot/src/share/mk/bsd.prog.mk,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.281 retrieving revision 1.311 diff -u -p -r1.281 -r1.311 --- src/share/mk/bsd.prog.mk 2013/02/14 01:58:00 1.281 +++ src/share/mk/bsd.prog.mk 2018/02/25 00:16:48 1.311 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.prog.mk,v 1.281 2013/02/14 01:58:00 christos Exp $ +# $NetBSD: bsd.prog.mk,v 1.311 2018/02/25 00:16:48 mrg Exp $ # @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94 .ifndef HOSTPROG @@ -48,41 +48,49 @@ CLEANFILES+=strings @rm -f x.cc .endif -.if defined(MKPIE) && (${MKPIE} != "no") +.if defined(MKPIE) && (${MKPIE} != "no") && !defined(NOPIE) CFLAGS+= ${PIE_CFLAGS} AFLAGS+= ${PIE_AFLAGS} -LDFLAGS+= ${PIE_LDFLAGS} +LDFLAGS+= ${"${LDSTATIC.${.TARGET}}" == "-static" :? : ${PIE_LDFLAGS}} .endif CFLAGS+= ${COPTS} -.if defined(MKDEBUG) && (${MKDEBUG} != "no") +.if ${MKDEBUG:Uno} != "no" && !defined(NODEBUG) CFLAGS+= -g .endif OBJCFLAGS+= ${OBJCOPTS} -MKDEP_SUFFIXES?= .o .ln +MKDEP_SUFFIXES?= .o .ln .d # CTF preserve debug symbols -.if defined(MKDTRACE) && (${MKDTRACE} != "no") && (${CFLAGS:M-g} != "") +.if (${MKCTF:Uno} != "no") && (${CFLAGS:M-g} != "") CTFFLAGS+= -g CTFMFLAGS+= -g +.if defined(HAVE_GCC) +#CFLAGS+=-gdwarf-2 +.endif .endif # ELF platforms depend on crti.o, crtbegin.o, crtend.o, and crtn.o .ifndef LIBCRTBEGIN -LIBCRTBEGIN= ${DESTDIR}/usr/lib/crti.o ${_GCC_CRTBEGIN} +LIBCRTBEGIN= ${DESTDIR}/usr/lib/${MLIBDIR:D${MLIBDIR}/}crti.o ${_GCC_CRTBEGIN} .MADE: ${LIBCRTBEGIN} .endif .ifndef LIBCRTEND -LIBCRTEND= ${_GCC_CRTEND} ${DESTDIR}/usr/lib/crtn.o +LIBCRTEND= ${_GCC_CRTEND} ${DESTDIR}/usr/lib/${MLIBDIR:D${MLIBDIR}/}crtn.o .MADE: ${LIBCRTEND} .endif _SHLINKER= ${SHLINKDIR}/ld.elf_so .ifndef LIBCRT0 -LIBCRT0= ${DESTDIR}/usr/lib/crt0.o +LIBCRT0= ${DESTDIR}/usr/lib/${MLIBDIR:D${MLIBDIR}/}crt0.o .MADE: ${LIBCRT0} .endif +.ifndef LIBCRTI +LIBCRTI= ${DESTDIR}/usr/lib/${MLIBDIR:D${MLIBDIR}/}crti.o +.MADE: ${LIBCRTI} +.endif + ##### Installed system library definitions # # E.g. @@ -104,19 +112,17 @@ LIBCRT0= ${DESTDIR}/usr/lib/crt0.o c_pic \ com_err \ compat \ - crt0 \ crypt \ crypto \ - crypto_idea \ - crypto_mdc2 \ - crypto_rc5 \ curses \ + cxx \ dbm \ des \ dns \ edit \ event \ expat \ + execinfo \ fetch \ fl \ form \ @@ -147,6 +153,7 @@ LIBCRT0= ${DESTDIR}/usr/lib/crt0.o m \ magic \ menu \ + netpgpverify \ objc \ ossaudio \ pam \ @@ -155,7 +162,6 @@ LIBCRT0= ${DESTDIR}/usr/lib/crt0.o pmc \ posix \ pthread \ - pthread_dbg \ puffs \ quota \ radius \ @@ -191,6 +197,7 @@ LIBCRT0= ${DESTDIR}/usr/lib/crt0.o supcxx \ terminfo \ tre \ + unbound \ usbhid \ util \ wind \ @@ -203,17 +210,31 @@ LIB${_lib:tu}= ${DESTDIR}/usr/lib/lib${_ .endif .endfor +.if (${MKKERBEROS} != "no") +LIBKRB5_LDADD+= -lkrb5 +LIBKRB5_DPADD+= ${LIBKRB5} +# Kerberos5 applications, if linked statically, need more libraries +LIBKRB5_STATIC_LDADD+= \ + -lhx509 -lcrypto -lasn1 -lcom_err -lroken \ + -lwind -lheimbase -lsqlite3 -lcrypt -lutil +LIBKRB5_STATIC_DPADD+= \ + ${LIBHX509} ${LIBCRYPTO} ${LIBASN1} ${LIBCOM_ERR} ${LIBROKEN} \ + ${LIBWIND} ${LIBHEIMBASE} ${LIBSQLITE3} ${LIBCRYPT} ${LIBUTIL} +. if (${MKPIC} == "no") +LIBKRB5_LDADD+= ${LIBKRB5_STATIC_LDADD} +LIBKRB5_DPADD+= ${LIBKRB5_STATIC_DPADD} +. endif +.endif + # PAM applications, if linked statically, need more libraries .if (${MKPIC} == "no") -.if (${MKCRYPTO} != "no") PAM_STATIC_LDADD+= -lssh PAM_STATIC_DPADD+= ${LIBSSH} -.endif .if (${MKKERBEROS} != "no") PAM_STATIC_LDADD+= -lkafs -lkrb5 -lhx509 -lwind -lasn1 \ - -lroken -lcom_err -lheimbase -lcrypto + -lroken -lcom_err -lheimbase -lcrypto -lsqlite3 PAM_STATIC_DPADD+= ${LIBKAFS} ${LIBKRB5} ${LIBHX509} ${LIBWIND} ${LIBASN1} \ - ${LIBROKEN} ${LIBCOM_ERR} ${LIBHEIMBASE} ${LIBCRYPTO} + ${LIBROKEN} ${LIBCOM_ERR} ${LIBHEIMBASE} ${LIBCRYPTO} ${LIBSQLITE3} .endif .if (${MKSKEY} != "no") PAM_STATIC_LDADD+= -lskey @@ -269,6 +290,10 @@ LIB${_lib:tu}= ${DESTDIR}${X11USRLIBDIR} .endif .endfor +# Ugly one-offs +LIBX11_XCB= ${DESTDIR}${X11USRLIBDIR}/libX11-xcb.a +LIBXCB= ${DESTDIR}${X11USRLIBDIR}/libxcb.a + .if defined(RESCUEDIR) CPPFLAGS+= -DRESCUEDIR=\"${RESCUEDIR}\" .endif @@ -318,6 +343,7 @@ _CCLINK= ${CXX} ${_CCLINKFLAGS} .endif .if defined(RUMPPRG) +CPPFLAGS+= -D_KERNTYPES PROG= ${RUMPPRG} . ifndef CRUNCHEDPROG . if (${MKRUMP} != "no") @@ -338,8 +364,8 @@ SRCS.rump.${PROG}= ${PROG}.c ${PROG}_rum . endif . if (${MKRUMP} != "no") DPSRCS+= ${PROG}_rumpops.c ${RUMPSRCS} -LDADD.rump.${PROG}+= -lrumpclient -DPADD.rump.${PROG}+= ${LIBRUMPCLIENT} +LDADD.rump.${PROG}+= ${LDADD.rump} -lrumpclient +DPADD.rump.${PROG}+= ${DPADD.rump} ${LIBRUMPCLIENT} MAN.rump.${PROG}= # defined but feeling empty _RUMPINSTALL.rump.${PROG}=# defined . endif @@ -381,16 +407,16 @@ PROGS= ${PROG} .if defined(PROGDPLIBS) # { .for _lib _dir in ${PROGDPLIBS} .if !defined(BINDO.${_lib}) -BINDO.${_lib}!= cd "${_dir}" && ${PRINTOBJDIR} -.MAKEOVERRIDES+=BINDO.${_lib} +PROGDO.${_lib}!= cd "${_dir}" && ${PRINTOBJDIR} +.MAKEOVERRIDES+=PROGDO.${_lib} .endif -LDADD+= -L${BINDO.${_lib}} -l${_lib} -.if ${MKPICLIB} != "no" -DPADD+= ${BINDO.${_lib}}/libamu_pic.a -.elif ${MKPIC} != "no" -DPADD+= ${BINDO.${_lib}}/libamu.so +LDADD+= -L${PROGDO.${_lib}} -l${_lib} +.if exists(${PROGDO.${_lib}}/lib${_lib}_pic.a) +DPADD+= ${PROGDO.${_lib}}/lib${_lib}_pic.a +.elif exists(${PROGDO.${_lib}}/lib${_lib}.so) +DPADD+= ${PROGDO.${_lib}}/lib${_lib}.so .else -DPADD+= ${BINDO.${_lib}}/libamu.a +DPADD+= ${PROGDO.${_lib}}/lib${_lib}.a .endif .endfor .endif # } @@ -421,7 +447,8 @@ _CCLINK.${_P}= ${CXX} ${_CCLINKFLAGS} BINDIR.${_P}?= ${BINDIR} PROGNAME.${_P}?= ${_P} -.if ${MKDEBUG} != "no" && !commands(${_P}) +.if ${MKDEBUG:Uno} != "no" && !defined(NODEBUG) && !commands(${_P}) && \ + empty(SRCS.${_P}:M*.sh) _PROGDEBUG.${_P}:= ${PROGNAME.${_P}}.debug .endif @@ -472,7 +499,8 @@ NODPSRCS+= ${f} .endif .endfor -${_P}: .gdbinit ${LIBCRT0} ${XOBJS.${_P}} ${SRCS.${_P}} ${DPSRCS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${_DPADD.${_P}} +${_P}: .gdbinit ${LIBCRT0} ${LIBCRTI} ${XOBJS.${_P}} ${SRCS.${_P}} \ + ${DPSRCS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${_DPADD.${_P}} ${_MKTARGET_LINK} .if defined(DESTDIR) ${_CCLINK.${_P}} -Wl,-nostdlib \ @@ -505,13 +533,13 @@ CLEANFILES+= ${_P}.d ${OBJS.${_P}} ${LOBJS.${_P}}: ${DPSRCS} -${_P}: .gdbinit ${LIBCRT0} ${OBJS.${_P}} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${_DPADD.${_P}} +${_P}: .gdbinit ${LIBCRT0} ${LIBCRTI} ${OBJS.${_P}} ${LIBC} ${LIBCRTBEGIN} \ + ${LIBCRTEND} ${_DPADD.${_P}} .if !commands(${_P}) ${_MKTARGET_LINK} ${_CCLINK.${_P}} \ ${_LDFLAGS.${_P}} ${_LDSTATIC.${_P}} -o ${.TARGET} \ - ${OBJS.${_P}} ${_LDADD.${_P}} \ - ${_PROGLDOPTS} + ${OBJS.${_P}} ${_PROGLDOPTS} ${_LDADD.${_P}} .if defined(CTFMERGE) ${CTFMERGE} ${CTFMFLAGS} -o ${.TARGET} ${OBJS.${_P}} .endif @@ -526,7 +554,7 @@ ${_P}: .gdbinit ${LIBCRT0} ${OBJS.${_P}} ${_P}.ro: ${OBJS.${_P}} ${_DPADD.${_P}} ${_MKTARGET_LINK} - ${CC} ${LDFLAGS} -nostdlib -r -Wl,-dc -o ${.TARGET} ${OBJS.${_P}} + ${CC} ${LDFLAGS:N-pie} -nostdlib -r -Wl,-dc -o ${.TARGET} ${OBJS.${_P}} .if defined(_PROGDEBUG.${_P}) ${_PROGDEBUG.${_P}}: ${_P}