Date: Mon, 15 Dec 1997 02:24:04 -0800 (PST) From: asami@cs.berkeley.edu (Satoshi Asami) To: bde@zeta.org.au Cc: jkh@FreeBSD.ORG, nnd@nnd.itfs.nsk.su, stable@FreeBSD.ORG Subject: Re: make buildworld -j2 problems Message-ID: <199712151024.CAA14443@baloon.mimi.com> In-Reply-To: <199712140945.UAA11602@godzilla.zeta.org.au> (message from Bruce Evans on Sun, 14 Dec 1997 20:45:05 %2B1100)
next in thread | previous in thread | raw e-mail | index | archive | help
* .ORDER is needed to prevent `make' from executing two copies of the rule * concurrently. Oh, I see. * Removing the `scanner.o: tokdefs.h' line in rev.1.13 was a mistake. * scanner.o really does depend on tokdefs.h, and the dependency is not * otherwise given in the Makefile. It worked in the non-parallel case * because grammar.c is before scanner.c in ${SRCS}. It works for `make * depend' because tokdefs.h is in ${SRCS} (and also because grammar.c is * in ${SRCS} and building grammar.c builds tokdefs.h; perhaps tokdefs.h * doesn't need to be in ${SRCS} because of this). Of course, it works for * `make' after `make depend', but `make depend' should not be necessary * in clean obj directories. Umm. Well it's not me that made that change. So what do you propose, revert it back? * See sh/Makefile for more instructive examples. There, created files * like tokdefs.h are included in more than one .c file. This makes it * more likely for parallel makes to fail unless lots of dependencies * are listed explicitly. Eek. That's one hairy beast. I'll see if I can digest that one.... * I think it was also mistake to override the default rule for creating * grammar.c from grammar.y. The default rule creates y.tab.h as a side * effect, and I don't see any additional problems for creating tokdefs.h by * mv'ing y.tab.h as in the old rule. Then .ORDER would not be required. * There might be problems with concurrent yaccs clobbering each other's * y.tab.[ch], but only one yacc is necessary here (since there is only * one yacc source file), and multiple ones would have to be handled more * carefully anyway (e.g., using .ORDER or yacc -b or yacc -o). Um, so should be back it out? Satoshi
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199712151024.CAA14443>