Module Name: src Committed By: uebayasi Date: Tue Dec 8 15:18:42 UTC 2009
Modified Files: src/share/mk: bsd.lib.mk bsd.prog.mk Log Message: When PROGS / LIBS are used, you can pass each PROG / LIB specific parameters to ${LD} via: ${_LDADD.${PROG}} ${_LDFLAGS.${PROG}} ${_LDSTATIC.${PROG}} ${_LDADD.${LIB}} ${_LDFLAGS.${LIB}} OTOH you can't pass parameters to ${CC}, because in suffix rules make(1) only knows the name of ${.IMPSRC} and ${.TARGET}; it's users' responsivility to define ${CC} parameters to all the sources of a given ${PROG} / ${LIB}. Should address bin/42381. To generate a diff of this commit: cvs rdiff -u -r1.299 -r1.300 src/share/mk/bsd.lib.mk cvs rdiff -u -r1.243 -r1.244 src/share/mk/bsd.prog.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/share/mk/bsd.lib.mk diff -u src/share/mk/bsd.lib.mk:1.299 src/share/mk/bsd.lib.mk:1.300 --- src/share/mk/bsd.lib.mk:1.299 Fri Nov 27 11:44:36 2009 +++ src/share/mk/bsd.lib.mk Tue Dec 8 15:18:42 2009 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.lib.mk,v 1.299 2009/11/27 11:44:36 tsutsui Exp $ +# $NetBSD: bsd.lib.mk,v 1.300 2009/12/08 15:18:42 uebayasi Exp $ # @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94 .include <bsd.init.mk> @@ -47,13 +47,6 @@ CFLAGS+= ${PIE_CFLAGS} AFLAGS+= ${PIE_AFLAGS} .endif -COPTS+= ${COPTS.lib${LIB}} -CPPFLAGS+= ${CPPFLAGS.lib${LIB}} -CXXFLAGS+= ${CXXFLAGS.lib${LIB}} -OBJCOPTS+= ${OBJCOPTS.lib${LIB}} -LDADD+= ${LDADD.lib${LIB}} -LDFLAGS+= ${LDFLAGS.lib${LIB}} -LDSTATIC+= ${LDSTATIC.lib${LIB}} ##### Libraries that this may depend upon. .if defined(LIBDPLIBS) && ${MKPIC} != "no" # { @@ -522,6 +515,9 @@ LIBCC:= ${CC} .endif +_LDADD.lib${LIB}= ${LDADD} ${LDADD.lib${LIB}} +_LDFLAGS.lib${LIB}= ${LDFLAGS} ${LDFLAGS.lib${LIB}} + lib${LIB}.so.${SHLIB_FULLVERSION}: ${SOLIB} ${DPADD} ${DPLIBC} \ ${SHLIB_LDSTARTFILE} ${SHLIB_LDENDFILE} ${_MKTARGET_BUILD} @@ -530,13 +526,13 @@ ${LIBCC} ${LDLIBC} -Wl,-nostdlib -B${_GCC_CRTDIR}/ -B${DESTDIR}/usr/lib/ \ -Wl,-x -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \ -Wl,--whole-archive ${SOLIB} \ - -Wl,--no-whole-archive ${LDADD} \ - ${_LIBLDOPTS} ${LDFLAGS} \ + -Wl,--no-whole-archive ${_LDADD.lib${LIB}} \ + ${_LIBLDOPTS} ${_LDFLAGS.lib${LIB}} \ -L${_GCC_LIBGCCDIR} .else - ${LIBCC} ${LDLIBC} -Wl,-x -shared ${SHLIB_SHFLAGS} ${LDFLAGS} \ + ${LIBCC} ${LDLIBC} -Wl,-x -shared ${SHLIB_SHFLAGS} ${_LDFLAGS.lib${LIB}} \ -o ${.TARGET} ${_LIBLDOPTS} \ - -Wl,--whole-archive ${SOLIB} -Wl,--no-whole-archive ${LDADD} + -Wl,--whole-archive ${SOLIB} -Wl,--no-whole-archive ${_LDADD.lib${LIB}} .endif .if ${OBJECT_FMT} == "ELF" # We don't use INSTALL_SYMLINK here because this is just Index: src/share/mk/bsd.prog.mk diff -u src/share/mk/bsd.prog.mk:1.243 src/share/mk/bsd.prog.mk:1.244 --- src/share/mk/bsd.prog.mk:1.243 Fri Nov 27 11:44:36 2009 +++ src/share/mk/bsd.prog.mk Tue Dec 8 15:18:42 2009 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.prog.mk,v 1.243 2009/11/27 11:44:36 tsutsui Exp $ +# $NetBSD: bsd.prog.mk,v 1.244 2009/12/08 15:18:42 uebayasi Exp $ # @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94 .ifndef HOSTPROG @@ -265,18 +265,7 @@ .endif ##### PROG specific flags. -COPTS+= ${COPTS.${_P}} -CPPFLAGS+= ${CPPFLAGS.${_P}} -CXXFLAGS+= ${CXXFLAGS.${_P}} -OBJCOPTS+= ${OBJCOPTS.${_P}} -LDADD+= ${LDADD.${_P}} -LDFLAGS+= ${LDFLAGS.${_P}} -LDSTATIC+= ${LDSTATIC.${_P}} - -_COPTS.${_P}= ${COPTS} ${COPTS.${_P}} -_CPPFLAGS.${_P}= ${CPPFLAGS} ${CPPFLAGS.${_P}} -_CXXFLAGS.${_P}= ${CXXFLAGS} ${CXXFLAGS.${_P}} -_OBJCOPTS.${_P}= ${OBJCOPTS} ${OBJCOPTS.${_P}} + _LDADD.${_P}= ${LDADD} ${LDADD.${_P}} _LDFLAGS.${_P}= ${LDFLAGS} ${LDFLAGS.${_P}} _LDSTATIC.${_P}= ${LDSTATIC} ${LDSTATIC.${_P}}