Added include file <bsd.sys.mk> that contains lex and yacc "parallel aware"

rules. These rules are not turned on by default; they are enabled by setting
the PARALLEL variable.
This commit is contained in:
christos 1995-10-22 00:45:53 +00:00
parent 16c4374c1f
commit 70174eb6fe
5 changed files with 47 additions and 5 deletions

View File

@ -1,8 +1,8 @@
# $NetBSD: Makefile,v 1.11 1995/04/26 22:30:57 jtc Exp $ # $NetBSD: Makefile,v 1.12 1995/10/22 00:45:53 christos Exp $
# @(#)Makefile 5.3 (Berkeley) 6/22/90 # @(#)Makefile 5.3 (Berkeley) 6/22/90
FILES= bsd.README bsd.doc.mk bsd.dep.mk bsd.lib.mk bsd.man.mk bsd.nls.mk \ FILES= bsd.README bsd.doc.mk bsd.dep.mk bsd.lib.mk bsd.man.mk bsd.nls.mk \
bsd.obj.mk bsd.own.mk bsd.prog.mk bsd.subdir.mk sys.mk bsd.obj.mk bsd.own.mk bsd.prog.mk bsd.subdir.mk bsd.sys.mk sys.mk
NOOBJ= noobj NOOBJ= noobj
install: install:

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.README,v 1.12 1995/09/24 23:49:06 christos Exp $ # $NetBSD: bsd.README,v 1.13 1995/10/22 00:45:54 christos Exp $
# @(#)bsd.README 5.1 (Berkeley) 5/11/90 # @(#)bsd.README 5.1 (Berkeley) 5/11/90
This is the README file for the new make "include" files for the BSD This is the README file for the new make "include" files for the BSD
@ -274,6 +274,16 @@ SUBDIRS.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The include file <bsd.sys.mk> is used by <bsd.prog.mk> and
<bsd.lib.mk>. It contains a set of rules for lex and yacc that
can be used when multiple lex and yacc files are present in the
same directory, and their respective targets are made in parallel.
Since it renames the yacc output include files these rules are not
used by default. They can be enabled by setting the PARALLEL variable
in the Makefile.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The include file <bsd.lib.mk> has support for building libraries. It has The include file <bsd.lib.mk> has support for building libraries. It has
the same seven targets as <bsd.prog.mk>: all, clean, cleandir, depend, the same seven targets as <bsd.prog.mk>: all, clean, cleandir, depend,
install, lint, and tags. It has a limited number of suffixes, consistent install, lint, and tags. It has a limited number of suffixes, consistent

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.lib.mk,v 1.65 1995/09/30 12:21:33 pk Exp $ # $NetBSD: bsd.lib.mk,v 1.66 1995/10/22 00:45:56 christos Exp $
# @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91 # @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91
.if exists(${.CURDIR}/../Makefile.inc) .if exists(${.CURDIR}/../Makefile.inc)
@ -223,3 +223,4 @@ realinstall: beforeinstall
.include <bsd.obj.mk> .include <bsd.obj.mk>
.include <bsd.dep.mk> .include <bsd.dep.mk>
.include <bsd.subdir.mk> .include <bsd.subdir.mk>
.include <bsd.sys.mk>

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.prog.mk,v 1.53 1995/06/25 22:29:02 cgd Exp $ # $NetBSD: bsd.prog.mk,v 1.54 1995/10/22 00:45:57 christos Exp $
# @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91 # @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91
.if exists(${.CURDIR}/../Makefile.inc) .if exists(${.CURDIR}/../Makefile.inc)
@ -148,3 +148,4 @@ lint: ${LOBJS}
.include <bsd.obj.mk> .include <bsd.obj.mk>
.include <bsd.dep.mk> .include <bsd.dep.mk>
.include <bsd.subdir.mk> .include <bsd.subdir.mk>
.include <bsd.sys.mk>

30
share/mk/bsd.sys.mk Normal file
View File

@ -0,0 +1,30 @@
# $NetBSD: bsd.sys.mk,v 1.1 1995/10/22 00:45:59 christos Exp $
#
# Parallel make rule overrides
.if defined(PARALLEL)
# Lex
.l:
${LEX.l} -o${.TARGET:R}.yy.c ${.IMPSRC}
${LINK.c} -o ${.TARGET} ${.TARGET:R}.yy.c ${LDLIBS} -ll
rm -f ${.TARGET:R}.yy.c
.l.c:
${LEX.l} -o${.TARGET} ${.IMPSRC}
.l.o:
${LEX.l} -o${.TARGET:R}.yy.c ${.IMPSRC}
${COMPILE.c} -o ${.TARGET} ${.TARGET:R}.yy.c
rm -f ${.TARGET:R}.yy.c
# Yacc
.y:
${YACC.y} -b ${.TARGET:R} ${.IMPSRC}
${LINK.c} -o ${.TARGET} ${.TARGET:R}.tab.c ${LDLIBS}
rm -f ${.TARGET:R}.tab.c
.y.c:
${YACC.y} -b ${.TARGET:R} ${.IMPSRC}
mv ${.TARGET:R}.tab.c ${.TARGET}
.y.o:
${YACC.y} -b ${.TARGET:R} ${.IMPSRC}
${COMPILE.c} -o ${.TARGET} ${.TARGET:R}.tab.c
rm -f ${.TARGET:R}.tab.c
.endif