|
|
1.1 ! root 1: # @(#)bsd.lib.mk 5.16 (Berkeley) 6/26/90 ! 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 -man -h ${.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: all: lib${LIB}.a lib${LIB}_p.a ${MANALL}# llib-l${LIB}.ln ! 53: ! 54: OBJS+= ${SRCS:S/.c$/.o/g:S/.f$/.o/g:S/.s$/.o/g} ! 55: lib${LIB}.a:: ${OBJS} ! 56: @echo building standard ${LIB} library ! 57: @rm -f lib${LIB}.a ! 58: @${AR} cq lib${LIB}.a `lorder ${OBJS} | tsort` ${LDADD} ! 59: ! 60: POBJS+= ${OBJS:.o=.po} ! 61: lib${LIB}_p.a:: ${POBJS} ! 62: @echo building profiled ${LIB} library ! 63: @rm -f lib${LIB}_p.a ! 64: @${AR} cq lib${LIB}_p.a `lorder ${POBJS} | tsort` ${LDADD} ! 65: ! 66: llib-l${LIB}.ln: ${SRCS} ! 67: ${LINT} -C${LIB} ${CFLAGS} ${.ALLSRC:M*.c} ! 68: ! 69: .if !target(clean) ! 70: clean: ! 71: rm -f a.out Errs errs mklog core ${CLEANFILES} ${OBJS} ${POBJS} \ ! 72: profiled/*.o lib${LIB}.a lib${LIB}_p.a llib-l${LIB}.ln ! 73: .endif ! 74: ! 75: .if !target(cleandir) ! 76: cleandir: ! 77: rm -f a.out Errs errs mklog core ${CLEANFILES} ${OBJS} ${POBJS} \ ! 78: profiled/*.o lib${LIB}.a lib${LIB}_p.a llib-l${LIB}.ln ! 79: rm -f ${MANALL} ${.CURDIR}/tags .depend ! 80: .endif ! 81: ! 82: .if !target(depend) ! 83: depend: .depend ! 84: .depend: ${SRCS} ! 85: mkdep ${CFLAGS:M-[ID]*} ${AINC} ${.ALLSRC} ! 86: (TMP=/tmp/_depend$$$$; \ ! 87: sed -e 's/^\([^\.]*\).o:/\1.o \1.po:/' < .depend > $$TMP; \ ! 88: mv $$TMP .depend) ! 89: .endif ! 90: ! 91: .if !target(install) ! 92: .if !target(beforeinstall) ! 93: beforeinstall: ! 94: .endif ! 95: ! 96: realinstall: beforeinstall ! 97: ranlib lib${LIB}.a ! 98: install -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} lib${LIB}.a \ ! 99: ${DESTDIR}${LIBDIR} ! 100: ${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}.a ! 101: ranlib lib${LIB}_p.a ! 102: install -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ ! 103: lib${LIB}_p.a ${DESTDIR}${LIBDIR} ! 104: ${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}_p.a ! 105: # install -c -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ ! 106: # llib-l${LIB}.ln ${DESTDIR}${LINTLIBDIR} ! 107: .if defined(LINKS) && !empty(LINKS) ! 108: @set ${LINKS}; \ ! 109: while test $$# -ge 2; do \ ! 110: l=${DESTDIR}$$1; \ ! 111: shift; \ ! 112: t=${DESTDIR}$$1; \ ! 113: shift; \ ! 114: echo $$t -\> $$l; \ ! 115: rm -f $$t; \ ! 116: ln $$l $$t; \ ! 117: done; true ! 118: .endif ! 119: ! 120: install: afterinstall ! 121: afterinstall: realinstall maninstall ! 122: .endif ! 123: ! 124: .if !target(lint) ! 125: lint: ! 126: .endif ! 127: ! 128: .if !target(tags) ! 129: tags: ${SRCS} ! 130: -cd ${.CURDIR}; ctags -f /dev/stdout ${.ALLSRC:M*.c} | \ ! 131: sed "s;\${.CURDIR}/;;" > tags ! 132: .if !empty(SRCS:M*.s) ! 133: -cd ${.CURDIR}; egrep -o "^ENTRY(.*)|^SYSCALL(.*)" ${.ALLSRC:M*.s} | \ ! 134: sed \ ! 135: "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \`pwd\`/\1 /^\2(\3\4$$/;" \ ! 136: >> tags; sort -o tags tags ! 137: .endif ! 138: .endif ! 139: ! 140: .include <bsd.man.mk> ! 141: .if !target(obj) ! 142: .if defined(NOOBJ) ! 143: obj: ! 144: .else ! 145: obj: ! 146: @cd ${.CURDIR}; rm -rf obj; \ ! 147: here=`pwd`; dest=/usr/obj/`echo $$here | sed 's,/usr/src/,,'`; \ ! 148: echo "$$here -> $$dest"; ln -s $$dest obj ! 149: .endif ! 150: .endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.