Tue Jan 22 20:43:17 2013 UTC ()
Make the libfoo.so.X.Y.debug files actually contain debug symbols if MKDEBUG.


(christos)
diff -r1.325 -r1.326 src/share/mk/bsd.lib.mk

cvs diff -r1.325 -r1.326 src/share/mk/bsd.lib.mk (expand / switch to unified diff)

--- src/share/mk/bsd.lib.mk 2012/11/13 22:30:38 1.325
+++ src/share/mk/bsd.lib.mk 2013/01/22 20:43:17 1.326
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: bsd.lib.mk,v 1.325 2012/11/13 22:30:38 pooka Exp $ 1# $NetBSD: bsd.lib.mk,v 1.326 2013/01/22 20:43:17 christos Exp $
2# @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94 2# @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94
3 3
4.include <bsd.init.mk> 4.include <bsd.init.mk>
5.include <bsd.shlib.mk> 5.include <bsd.shlib.mk>
6.include <bsd.gcc.mk> 6.include <bsd.gcc.mk>
7# Pull in <bsd.sys.mk> here so we can override its .c.o rule 7# Pull in <bsd.sys.mk> here so we can override its .c.o rule
8.include <bsd.sys.mk> 8.include <bsd.sys.mk>
9 9
10LIBISMODULE?= no 10LIBISMODULE?= no
11LIBISPRIVATE?= no 11LIBISPRIVATE?= no
12LIBISCXX?= no 12LIBISCXX?= no
13 13
14_LIB_PREFIX= lib 14_LIB_PREFIX= lib
@@ -37,26 +37,32 @@ MKPROFILE:= no @@ -37,26 +37,32 @@ MKPROFILE:= no
37##### Basic targets 37##### Basic targets
38.PHONY: checkver libinstall 38.PHONY: checkver libinstall
39realinstall: checkver libinstall 39realinstall: checkver libinstall
40 40
41##### LIB specific flags. 41##### LIB specific flags.
42# XXX: This is needed for programs that link with .a libraries 42# XXX: This is needed for programs that link with .a libraries
43# Perhaps a more correct solution is to always generate _pic.a 43# Perhaps a more correct solution is to always generate _pic.a
44# files or always have a shared library. 44# files or always have a shared library.
45.if defined(MKPIE) && (${MKPIE} != "no") 45.if defined(MKPIE) && (${MKPIE} != "no")
46CFLAGS+= ${PIE_CFLAGS} 46CFLAGS+= ${PIE_CFLAGS}
47AFLAGS+= ${PIE_AFLAGS} 47AFLAGS+= ${PIE_AFLAGS}
48.endif 48.endif
49 49
 50.if defined(MKDEBUG) && (${MKDEBUG} != "no")
 51# We only add -g to the shared library objects
 52# because we don't currently split .a archives.
 53CSHLIBFLAGS+= -g
 54.endif
 55
50##### Libraries that this may depend upon. 56##### Libraries that this may depend upon.
51.if defined(LIBDPLIBS) && ${MKPIC} != "no" # { 57.if defined(LIBDPLIBS) && ${MKPIC} != "no" # {
52.for _lib _dir in ${LIBDPLIBS} 58.for _lib _dir in ${LIBDPLIBS}
53.if !defined(LIBDO.${_lib}) 59.if !defined(LIBDO.${_lib})
54LIBDO.${_lib}!= cd "${_dir}" && ${PRINTOBJDIR} 60LIBDO.${_lib}!= cd "${_dir}" && ${PRINTOBJDIR}
55.MAKEOVERRIDES+=LIBDO.${_lib} 61.MAKEOVERRIDES+=LIBDO.${_lib}
56.endif 62.endif
57.if ${LIBDO.${_lib}} == "_external" 63.if ${LIBDO.${_lib}} == "_external"
58LDADD+= -l${_lib} 64LDADD+= -l${_lib}
59.else 65.else
60LDADD+= -L${LIBDO.${_lib}} -l${_lib} 66LDADD+= -L${LIBDO.${_lib}} -l${_lib}
61DPADD+= ${LIBDO.${_lib}}/lib${_lib}.so 67DPADD+= ${LIBDO.${_lib}}/lib${_lib}.so
62.endif 68.endif
@@ -228,52 +234,52 @@ CTFFLAGS+= -g @@ -228,52 +234,52 @@ CTFFLAGS+= -g
228 ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} 234 ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
229.endif 235.endif
230.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) 236.if !defined(CFLAGS) || empty(CFLAGS:M*-g*)
231 ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} 237 ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
232.endif 238.endif
233 239
234.c.go: 240.c.go:
235 ${_MKTARGET_COMPILE} 241 ${_MKTARGET_COMPILE}
236 ${COMPILE.c} ${DEBUGFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -g ${.IMPSRC} -o ${.TARGET} 242 ${COMPILE.c} ${DEBUGFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -g ${.IMPSRC} -o ${.TARGET}
237 243
238.c.pico: 244.c.pico:
239 ${_MKTARGET_COMPILE} 245 ${_MKTARGET_COMPILE}
240 ${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET} 246 ${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET}
241.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) 247.if !defined(CSHLIBFLAGS) || empty(CSHLIBFLAGS:M*-g*)
242 ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} 248 ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
243.endif 249.endif
244 250
245.cc.o .cpp.o .cxx.o .C.o: 251.cc.o .cpp.o .cxx.o .C.o:
246 ${_MKTARGET_COMPILE} 252 ${_MKTARGET_COMPILE}
247 ${COMPILE.cc} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} 253 ${COMPILE.cc} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
248.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) 254.if !defined(CFLAGS) || empty(CFLAGS:M*-g*)
249 ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} 255 ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
250.endif 256.endif
251 257
252.cc.po .cpp.po .cxx.po .C.po: 258.cc.po .cpp.po .cxx.po .C.po:
253 ${_MKTARGET_COMPILE} 259 ${_MKTARGET_COMPILE}
254 ${COMPILE.cc} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -pg ${.IMPSRC} -o ${.TARGET} 260 ${COMPILE.cc} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -pg ${.IMPSRC} -o ${.TARGET}
255.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) 261.if !defined(CFLAGS) || empty(CFLAGS:M*-g*)
256 ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} 262 ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
257.endif 263.endif
258 264
259.cc.go .cpp.go .cxx.go .C.go: 265.cc.go .cpp.go .cxx.go .C.go:
260 ${_MKTARGET_COMPILE} 266 ${_MKTARGET_COMPILE}
261 ${COMPILE.cc} ${DEBUGFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -g ${.IMPSRC} -o ${.TARGET} 267 ${COMPILE.cc} ${DEBUGFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -g ${.IMPSRC} -o ${.TARGET}
262 268
263.cc.pico .cpp.pico .cxx.pico .C.pico: 269.cc.pico .cpp.pico .cxx.pico .C.pico:
264 ${_MKTARGET_COMPILE} 270 ${_MKTARGET_COMPILE}
265 ${COMPILE.cc} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET} 271 ${COMPILE.cc} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET}
266.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) 272.if !defined(CSHLIBFLAGS) || empty(CSHLIBFLAGS:M*-g*)
267 ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} 273 ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
268.endif 274.endif
269 275
270.f.o: 276.f.o:
271 ${_MKTARGET_COMPILE} 277 ${_MKTARGET_COMPILE}
272 ${COMPILE.f} ${.IMPSRC} -o ${.TARGET} 278 ${COMPILE.f} ${.IMPSRC} -o ${.TARGET}
273.if defined(CTFCONVERT) 279.if defined(CTFCONVERT)
274 ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} 280 ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
275.endif 281.endif
276.if !defined(FOPTS) || empty(FOPTS:M*-g*) 282.if !defined(FOPTS) || empty(FOPTS:M*-g*)
277 ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} 283 ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
278.endif 284.endif
279 285