=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/share/mk/bsd.lib.mk,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- src/share/mk/bsd.lib.mk 1999/05/26 19:10:28 1.20 +++ src/share/mk/bsd.lib.mk 2000/05/15 06:10:21 1.21 @@ -1,4 +1,4 @@ -# $OpenBSD: bsd.lib.mk,v 1.20 1999/05/26 19:10:28 espie Exp $ +# $OpenBSD: bsd.lib.mk,v 1.21 2000/05/15 06:10:21 niklas Exp $ # $NetBSD: bsd.lib.mk,v 1.67 1996/01/17 20:39:26 mycroft Exp $ # @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91 @@ -19,7 +19,7 @@ # .so used for PIC object files. .ln used for lint output files. # .m for objective c files. .SUFFIXES: -.SUFFIXES: .out .o .po .so .S .s .c .cc .C .cxx .f .y .l .ln .m4 .m +.SUFFIXES: .out .o .go .po .so .S .s .c .cc .C .cxx .f .y .l .ln .m4 .m .c.o: @echo "${COMPILE.c} ${.IMPSRC} -o ${.TARGET}" @@ -27,6 +27,12 @@ @${LD} -x -r ${.TARGET}.o -o ${.TARGET} @rm -f ${.TARGET}.o +.c.go: + @echo "${COMPILE.c} -g ${.IMPSRC} -o ${.TARGET}" + @${COMPILE.c} -g ${.IMPSRC} -o ${.TARGET}.o + @${LD} -X -r ${.TARGET}.o -o ${.TARGET} + @rm -f ${.TARGET}.o + .c.po: @echo "${COMPILE.c} -p ${.IMPSRC} -o ${.TARGET}" @${COMPILE.c} -p ${.IMPSRC} -o ${.TARGET}.o @@ -48,6 +54,12 @@ @${LD} -x -r ${.TARGET}.o -o ${.TARGET} @rm -f ${.TARGET}.o +.cc.go .C.go .cxx.go: + @echo "${COMPILE.cc} -g ${.IMPSRC} -o ${.TARGET}" + @${COMPILE.cc} -g ${.IMPSRC} -o ${.TARGET}.o + @${LD} -X -r ${.TARGET}.o -o ${.TARGET} + @rm -f ${.TARGET}.o + .cc.po .C.po .cxx.po: @echo "${COMPILE.cc} -p ${.IMPSRC} -o ${.TARGET}" @${COMPILE.cc} -p ${.IMPSRC} -o ${.TARGET}.o @@ -68,6 +80,14 @@ @${LD} -x -r ${.TARGET}.o -o ${.TARGET} @rm -f ${.TARGET}.o +.S.go .s.go: + @echo "${CPP} ${CPPFLAGS} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} |\ + ${AS} -o ${.TARGET}" + @${CPP} ${CPPFLAGS} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} | \ + ${AS} -o ${.TARGET}.o + @${LD} -X -r ${.TARGET}.o -o ${.TARGET} + @rm -f ${.TARGET}.o + .S.po .s.po: @echo "${CPP} -DPROF ${CPPFLAGS} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} |\ ${AS} -o ${.TARGET}" @@ -97,11 +117,13 @@ .endif .endif -.if !defined(NOPROFILE) -_LIBS=lib${LIB}.a lib${LIB}_p.a -.else _LIBS=lib${LIB}.a +.if defined(DEBUGLIBS) +_LIBS+=lib${LIB}_g.a .endif +.if !defined(NOPROFILE) +_LIBS+=lib${LIB}_p.a +.endif .if !defined(NOPIC) .if (${MACHINE_ARCH} != "mips") @@ -126,6 +148,13 @@ @${AR} cq lib${LIB}.a `${LORDER} ${OBJS} | tsort -q` ${RANLIB} lib${LIB}.a +GOBJS+= ${OBJS:.o=.go} +lib${LIB}_g.a:: ${GOBJS} + @echo building debugging ${LIB} library + @rm -f lib${LIB}_g.a + @${AR} cq lib${LIB}_g.a `${LORDER} ${GOBJS} | tsort -q` + ${RANLIB} lib${LIB}_g.a + POBJS+= ${OBJS:.o=.po} lib${LIB}_p.a:: ${POBJS} @echo building profiled ${LIB} library @@ -166,6 +195,7 @@ clean: _SUBDIRUSE rm -f a.out [Ee]rrs mklog core *.core ${CLEANFILES} rm -f lib${LIB}.a ${OBJS} + rm -f lib${LIB}_g.a ${GOBJS} rm -f lib${LIB}_p.a ${POBJS} rm -f lib${LIB}_pic.a lib${LIB}.so.*.* ${SOBJS} rm -f llib-l${LIB}.ln ${LOBJS} @@ -198,6 +228,15 @@ ${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}.a .endif chmod ${LIBMODE} ${DESTDIR}${LIBDIR}/lib${LIB}.a +.if defined(DEBUGLIBS) +# ranlib lib${LIB}_g.a + ${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m 600 \ + lib${LIB}_g.a ${DESTDIR}${LIBDIR}/debug/lib${LIB}.a +.if (${INSTALL_COPY} != "-p") + ${RANLIB} -t ${DESTDIR}${LIBDIR}/debug/lib${LIB}.a +.endif + chmod ${LIBMODE} ${DESTDIR}${LIBDIR}/debug/lib${LIB}.a +.endif .if !defined(NOPROFILE) # ranlib lib${LIB}_p.a ${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m 600 \