From owner-cvs-all Mon May 4 06:57:12 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id GAA03093 for cvs-all-outgoing; Mon, 4 May 1998 06:57:12 -0700 (PDT) (envelope-from owner-cvs-all@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id GAA03078; Mon, 4 May 1998 06:57:08 -0700 (PDT) (envelope-from bde@FreeBSD.org) From: Bruce Evans Received: (from bde@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id GAA24500; Mon, 4 May 1998 06:54:42 -0700 (PDT) Date: Mon, 4 May 1998 06:54:42 -0700 (PDT) Message-Id: <199805041354.GAA24500@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-share@FreeBSD.ORG Subject: cvs commit: src/share/mk bsd.prog.mk Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk bde 1998/05/04 06:54:41 PDT Modified files: share/mk bsd.prog.mk Log: Generate explicit rules and other infrastructure for lex and yacc sources. This will be used to fix `make -jN' races in many Makefiles in /usr/src, and to simplify these and other Makefiles. To get the fixes and simplifications, application Makefiles should put the raw lex and yacc source names (foo.l and bar.y) in SRCS and not put the names of any generated files in SRCS or CLEANFILES. A few Makefiles already do this, although it didn't actually work before (mkdep couldn't create complete dependencies because there is no intermediate .c file for the .y.o and .l.o implicit rules). Complications: if bar.y is in SRCS and -d is in YFLAGS, then bar.h will be generated whether or not it is used, even if this clobbers a real source file. This is so that bar.c can be generated using the -j-safe and debugger-friendly -o option to YACC. There are smaller warts for handling y.tab.h. y.tab.c and lex.yy.c are not supported. Revision Changes Path 1.68 +27 -1 src/share/mk/bsd.prog.mk To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message