Avoid a ton of "mv" when making libs by using -O to ld.

Make lex rules reentrant.
This commit is contained in:
Poul-Henning Kamp 1996-05-28 16:20:13 +00:00
parent b5938566d8
commit 50ef9020fd
2 changed files with 24 additions and 43 deletions

View File

@ -1,5 +1,5 @@
# from: @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91
# $Id: bsd.lib.mk,v 1.31 1996/04/21 17:45:38 jdp Exp $
# $Id: bsd.lib.mk,v 1.32 1996/05/09 13:01:42 phk Exp $
#
.if exists(${.CURDIR}/../Makefile.inc)
@ -33,66 +33,54 @@ STRIP?= -s
.c.o:
${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
@${LD} -O ${.TARGET} -x -r ${.TARGET}
.c.po:
${CC} -p ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
@${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
@${LD} -O ${.TARGET} -X -r ${.TARGET}
.c.so:
${CC} ${PICFLAG} -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
@${LD} -O ${.TARGET} -x -r ${.TARGET}
.cc.o .cxx.o .C.o:
${CXX} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
@${LD} -O ${.TARGET} -x -r ${.TARGET}
.cc.po .C.po .cxx.o:
${CXX} -p ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
@${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
@${LD} -O ${.TARGET} -X -r ${.TARGET}
.cc.so .C.so:
${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
@${LD} -O ${.TARGET} -x -r ${.TARGET}
.f.o:
${FC} ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
@${LD} -O ${.TARGET} -x -r ${.TARGET}
.f.po:
${FC} -p ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
@${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
@${LD} -O ${.TARGET} -X -r ${.TARGET}
.f.so:
${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
@${LD} -O ${.TARGET} -x -r ${.TARGET}
.s.o:
${CPP} -E ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} | \
${AS} -o ${.TARGET}
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
@${LD} -O ${.TARGET} -x -r ${.TARGET}
.s.po:
${CPP} -E -DPROF ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} | \
${AS} -o ${.TARGET}
@${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
@${LD} -O ${.TARGET} -X -r ${.TARGET}
.s.so:
${CPP} -E -DPIC ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} | \
${AS} -k -o ${.TARGET}
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
@${LD} -O ${.TARGET} -x -r ${.TARGET}
.S.o:
${CPP} -E ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} | \
@ -105,18 +93,15 @@ STRIP?= -s
.S.so:
${CPP} -E -DPIC ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} | \
${AS} -k -o ${.TARGET}
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
@${LD} -O ${.TARGET} -x -r ${.TARGET}
.m.po:
${CC} ${CFLAGS} -p -c ${.IMPSRC} -o ${.TARGET}
@${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
@${LD} -O ${.TARGET} -X -r ${.TARGET}
.m.o:
${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
@${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
@${LD} -O ${.TARGET} -X -r ${.TARGET}
.if !defined(INTERNALLIB) || defined(INTERNALSTATICLIB)
.if !defined(NOPROFILE) && !defined(INTERNALLIB)

View File

@ -1,5 +1,5 @@
# from: @(#)sys.mk 8.2 (Berkeley) 3/21/94
# $Id: sys.mk,v 1.12 1996/03/24 00:02:38 wosch Exp $
# $Id: sys.mk,v 1.13 1996/05/09 13:01:44 phk Exp $
unix ?= We run FreeBSD, not UNIX.
@ -95,21 +95,18 @@ YFLAGS ?= -d
${CC} ${CFLAGS} -c y.tab.c -o ${.TARGET}
rm -f y.tab.c
# XXX not -j safe
.l.o:
${LEX} ${LFLAGS} ${.IMPSRC}
${CC} ${CFLAGS} -c lex.yy.c -o ${.TARGET}
rm -f lex.yy.c
${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.PREFIX}.tmp.c
${CC} ${CFLAGS} -c ${.PREFIX}.tmp.c -o ${.TARGET}
rm -f ${.PREFIX}.tmp.c
# XXX not -j safe
.y.c:
${YACC} ${YFLAGS} ${.IMPSRC}
mv y.tab.c ${.TARGET}
# XXX not -j safe
.l.c:
${LEX} ${LFLAGS} ${.IMPSRC}
mv lex.yy.c ${.TARGET}
${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.TARGET}
.s.out .c.out .o.out:
${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
@ -125,11 +122,10 @@ YFLAGS ?= -d
${CC} ${CFLAGS} ${LDFLAGS} y.tab.c ${LDLIBS} -ly -o ${.TARGET}
rm -f y.tab.c
# XXX not -j safe
.l.out:
${LEX} ${LFLAGS} ${.IMPSRC}
${CC} ${CFLAGS} ${LDFLAGS} lex.yy.c ${LDLIBS} -ll -o ${.TARGET}
rm -f lex.yy.c
${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.PREFIX}.tmp.c
${CC} ${CFLAGS} ${LDFLAGS} ${.PREFIX}.tmp.c ${LDLIBS} -ll -o ${.TARGET}
rm -f ${.PREFIX}.tmp.c
.include <bsd.own.mk>