bsd.lib.mk: Allow for possibility to override static lib target
authorJohn Marino <draco@marino.st>
Tue, 10 Feb 2015 19:24:32 +0000 (20:24 +0100)
committerJohn Marino <draco@marino.st>
Tue, 10 Feb 2015 19:24:32 +0000 (20:24 +0100)
The upcoming fix for gcc 5.0 libstdc++.a requires a dedicated static
library target.  Up until now this hasn't been possible without bmake
screaming about duplicate targets (although it does work).  Add a simple
"if not target defined" check to bsd.lib.mk to avoid these warnings.

share/mk/bsd.lib.mk

index dd91280..a586f3b 100644 (file)
@@ -129,11 +129,13 @@ OBJS+=  ${SRCS:N*.h:N*.patch:R:S/$/.o/g}
 .if defined(LIB) && !empty(LIB)
 _LIBS=         lib${LIB}.a
 
+.if ! target(lib${LIB}.a)
 lib${LIB}.a: ${OBJS} ${STATICOBJS}
        @${ECHO} building static ${LIB} library
        rm -f ${.TARGET}
        ${AR} cq ${.TARGET} `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
        ${RANLIB} ${.TARGET}
+. endif
 .endif
 
 .if !defined(INTERNALLIB) && !defined(NOPROFILE) && defined(LIB) && !empty(LIB)