[BACK]Return to bsd.lib.mk CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / share / mk

Annotation of src/share/mk/bsd.lib.mk, Revision 1.1

1.1     ! cgd         1: #      @(#)bsd.lib.mk  5.26 (Berkeley) 5/2/91
        !             2:
        !             3: .if exists(${.CURDIR}/../Makefile.inc)
        !             4: .include "${.CURDIR}/../Makefile.inc"
        !             5: .endif
        !             6:
        !             7: LIBDIR?=       /usr/lib
        !             8: LINTLIBDIR?=   /usr/libdata/lint
        !             9: LIBGRP?=       bin
        !            10: LIBOWN?=       bin
        !            11: LIBMODE?=      444
        !            12:
        !            13: STRIP?=        -s
        !            14:
        !            15: BINGRP?=       bin
        !            16: BINOWN?=       bin
        !            17: BINMODE?=      555
        !            18:
        !            19: .MAIN: all
        !            20:
        !            21: # prefer .s to a .c, add .po, remove stuff not used in the BSD libraries
        !            22: .SUFFIXES:
        !            23: .SUFFIXES: .out .o .po .s .c .f .y .l .8 .7 .6 .5 .4 .3 .2 .1 .0
        !            24:
        !            25: .8.0 .7.0 .6.0 .5.0 .4.0 .3.0 .2.0 .1.0:
        !            26:        nroff -mandoc ${.IMPSRC} > ${.TARGET}
        !            27:
        !            28: .c.o:
        !            29:        ${CC} ${CFLAGS} -c ${.IMPSRC}
        !            30:        @${LD} -x -r ${.TARGET}
        !            31:        @mv a.out ${.TARGET}
        !            32:
        !            33: .c.po:
        !            34:        ${CC} -p ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
        !            35:        @${LD} -X -r ${.TARGET}
        !            36:        @mv a.out ${.TARGET}
        !            37:
        !            38: .s.o:
        !            39:        ${CPP} -E ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} | \
        !            40:            ${AS} -o ${.TARGET}
        !            41:        @${LD} -x -r ${.TARGET}
        !            42:        @mv a.out ${.TARGET}
        !            43:
        !            44: .s.po:
        !            45:        ${CPP} -E -DPROF ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} | \
        !            46:            ${AS} -o ${.TARGET}
        !            47:        @${LD} -X -r ${.TARGET}
        !            48:        @mv a.out ${.TARGET}
        !            49:
        !            50: MANALL=        ${MAN1} ${MAN2} ${MAN3} ${MAN4} ${MAN5} ${MAN6} ${MAN7} ${MAN8}
        !            51:
        !            52: .if !defined(NOPROFILE)
        !            53: _LIBS=lib${LIB}.a lib${LIB}_p.a
        !            54: .else
        !            55: _LIBS=lib${LIB}.a
        !            56: .endif
        !            57:
        !            58: all: ${_LIBS} ${MANALL}# llib-l${LIB}.ln
        !            59:
        !            60: OBJS+= ${SRCS:R:S/$/.o/g}
        !            61:
        !            62: lib${LIB}.a:: ${OBJS}
        !            63:        @echo building standard ${LIB} library
        !            64:        @rm -f lib${LIB}.a
        !            65:        @${AR} cTq lib${LIB}.a `lorder ${OBJS} | tsort` ${LDADD}
        !            66:        ranlib lib${LIB}.a
        !            67:
        !            68: POBJS+=        ${OBJS:.o=.po}
        !            69: lib${LIB}_p.a:: ${POBJS}
        !            70:        @echo building profiled ${LIB} library
        !            71:        @rm -f lib${LIB}_p.a
        !            72:        @${AR} cTq lib${LIB}_p.a `lorder ${POBJS} | tsort` ${LDADD}
        !            73:        ranlib lib${LIB}_p.a
        !            74:
        !            75: llib-l${LIB}.ln: ${SRCS}
        !            76:        ${LINT} -C${LIB} ${CFLAGS} ${.ALLSRC:M*.c}
        !            77:
        !            78: .if !target(clean)
        !            79: clean:
        !            80:        rm -f a.out Errs errs mklog core ${CLEANFILES} ${OBJS} ${POBJS} \
        !            81:            profiled/*.o lib${LIB}.a lib${LIB}_p.a llib-l${LIB}.ln
        !            82: .endif
        !            83:
        !            84: .if !target(cleandir)
        !            85: cleandir:
        !            86:        rm -f a.out Errs errs mklog core ${CLEANFILES} ${OBJS} ${POBJS} \
        !            87:            profiled/*.o lib${LIB}.a lib${LIB}_p.a llib-l${LIB}.ln
        !            88:        rm -f ${MANALL} ${.CURDIR}/tags .depend
        !            89: .endif
        !            90:
        !            91: .if !target(depend)
        !            92: depend: .depend
        !            93: .depend: ${SRCS}
        !            94:        mkdep ${CFLAGS:M-[ID]*} ${AINC} ${.ALLSRC}
        !            95:        @(TMP=/tmp/_depend$$$$; \
        !            96:            sed -e 's/^\([^\.]*\).o:/\1.o \1.po:/' < .depend > $$TMP; \
        !            97:            mv $$TMP .depend)
        !            98: .endif
        !            99:
        !           100: .if !target(install)
        !           101: .if !target(beforeinstall)
        !           102: beforeinstall:
        !           103: .endif
        !           104:
        !           105: realinstall: beforeinstall
        !           106:        ranlib lib${LIB}.a
        !           107:        install -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} lib${LIB}.a \
        !           108:            ${DESTDIR}${LIBDIR}
        !           109:        ${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}.a
        !           110:        ranlib lib${LIB}_p.a
        !           111:        install -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
        !           112:            lib${LIB}_p.a ${DESTDIR}${LIBDIR}
        !           113:        ${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
        !           114: #      install -c -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
        !           115: #          llib-l${LIB}.ln ${DESTDIR}${LINTLIBDIR}
        !           116: .if defined(LINKS) && !empty(LINKS)
        !           117:        @set ${LINKS}; \
        !           118:        while test $$# -ge 2; do \
        !           119:                l=${DESTDIR}$$1; \
        !           120:                shift; \
        !           121:                t=${DESTDIR}$$1; \
        !           122:                shift; \
        !           123:                echo $$t -\> $$l; \
        !           124:                rm -f $$t; \
        !           125:                ln $$l $$t; \
        !           126:        done; true
        !           127: .endif
        !           128:
        !           129: install: afterinstall
        !           130: afterinstall: realinstall maninstall
        !           131: .endif
        !           132:
        !           133: .if !target(lint)
        !           134: lint:
        !           135: .endif
        !           136:
        !           137: .if !target(tags)
        !           138: tags: ${SRCS}
        !           139:        -cd ${.CURDIR}; ctags -f /dev/stdout ${.ALLSRC:M*.c} | \
        !           140:            sed "s;\${.CURDIR}/;;" > tags
        !           141: .endif
        !           142:
        !           143: .include <bsd.man.mk>
        !           144: .if !target(obj)
        !           145: .if defined(NOOBJ)
        !           146: obj:
        !           147: .else
        !           148: obj:
        !           149:        @cd ${.CURDIR}; rm -rf obj; \
        !           150:        here=`pwd`; dest=/usr/obj/`echo $$here | sed 's,/usr/src/,,'`; \
        !           151:        echo "$$here -> $$dest"; ln -s $$dest obj; \
        !           152:        if test -d /usr/obj -a ! -d $$dest; then \
        !           153:                mkdir -p $$dest; \
        !           154:        else \
        !           155:                true; \
        !           156:        fi;
        !           157: .endif
        !           158: .endif

CVSweb <webmaster@jp.NetBSD.org>