Date: Thu, 28 May 1998 14:30:32 +0200 From: Christoph Kukulies <kuku@gilberto.physik.RWTH-Aachen.DE> To: Bruce Evans <bde@zeta.org.au> Cc: kuku@gilberto.physik.RWTH-Aachen.DE, eivind@FreeBSD.ORG, freebsd-current@freefall.cdrom.com Subject: Re: help! - nodes.h where is it? Message-ID: <19980528143032.44069@gil.physik.rwth-aachen.de> In-Reply-To: <199805280941.TAA31697@godzilla.zeta.org.au>; from Bruce Evans on Thu, May 28, 1998 at 07:41:26PM %2B1000 References: <199805280941.TAA31697@godzilla.zeta.org.au>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, May 28, 1998 at 07:41:26PM +1000, Bruce Evans wrote: > >> It looks like your src/share/mk/bsd.prog.mk is broken. > > > >make mk doesn't work anymore, btw. > > It went away about a year ago. > > >OK, I overwrote all my /usr/share/mk files with the > >new ones, > >went into /usr/src/bin/sh > ># make clean > >rm -f mkinit mkinit.o mknodes mknodes.o mksyntax mksyntax.o builtins.c init.c nodes.c syntax.c builtins.h nodes.h syntax.h token.h y.tab.h sh alias.o arith.o arith_lex.o cd.o echo.o error.o eval.o exec.o expand.o histedit.o input.o jobs.o mail.o main.o memalloc.o miscbltin.o mystring.o options.o output.o parser.o printf.o redir.o show.o trap.o var.o builtins.o init.o nodes.o syntax.o sh.1.gz sh.1.cat.gz arith_lex.c arith.c y.tab.c y.tab.h > ># make > >cc -O2 -m486 -pipe -DSHELL -I. -I/a/src/bin/sh -c /a/src/bin/sh/alias.c > >yacc -d /a/src/bin/sh/arith.y > >cp y.tab.c arith.c > >... > > With the current `mk' files and Makefiles, `make' should begin with: > > cc -O -pipe -DSHELL -I. -I/usr/src/bin/sh -c /usr/src/bin/sh/mknodes.c > cc -O -pipe -DSHELL -I. -I/usr/src/bin/sh -static mknodes.o -o mknodes > ./mknodes /usr/src/bin/sh/nodetypes /usr/src/bin/sh/nodes.c.pat > cc -O -pipe -DSHELL -I. -I/usr/src/bin/sh -c /usr/src/bin/sh/mksyntax.c > cc -O -pipe -DSHELL -I. -I/usr/src/bin/sh -static mksyntax.o -o mksyntax > ./mksyntax > sh /usr/src/bin/sh/mktokens > yacc -d /usr/src/bin/sh/arith.y > cp y.tab.c arith.c > ... > > It builds all the headers first, as it must to satisfy the following rule > in bsd.prog.mk: > > .if defined(PROG) && !exists(${DEPENDFILE}) > ${OBJS}: ${SRCS:M*.h} > .endif > > I think understand this now. This rule doesn't apply if .depend already > exists, and if .depend already exists then it must have full dependencies > on nodes.h to work properly. You probably have a stale .depend file in > the source directory. A stale .depend file in the obj directory would > be always be deleted by `make world'. > > A stale .depend file in the source directory would only sometimes be > deleted by `make world'. This is another bug in `make world', like > the libgmp/mp* one. Even if the current directory is readonly, > `make world' will only attempt to change it if there is certain > garbage in it. I removed my /a/obj tree also. There were no .depend files left in either src nor obj tree. I copied all mk files in place: $Id: bsd.dep.mk,v 1.24 1998/05/15 09:34:48 bde Exp $ $Id: bsd.doc.mk,v 1.44 1998/05/06 18:44:00 bde Exp $ $Id: bsd.info.mk,v 1.50 1998/05/06 18:44:01 bde Exp $ $Id: bsd.kern.mk,v 1.9 1998/05/01 18:13:37 bde Exp $ $Id: bsd.kmod.mk,v 1.48 1998/03/19 13:22:46 bde Exp $ $Id: bsd.lib.mk,v 1.72 1998/05/15 09:34:48 bde Exp $ $Id: bsd.libnames.mk,v 1.12 1998/05/15 09:34:48 bde Exp $ $Id: bsd.man.mk,v 1.27 1998/04/27 15:08:07 bde Exp $ $Id: bsd.obj.mk,v 1.24 1998/05/06 18:44:03 bde Exp $ $Id: bsd.own.mk,v 1.13 1998/03/19 13:32:43 bde Exp $ $Id: bsd.port.mk,v 1.276 1998/05/20 22:27:18 jkh Exp $ $Id: bsd.port.subdir.mk,v 1.23 1997/11/20 05:31:44 asami Exp $ $Id: bsd.prog.mk,v 1.74 1998/05/15 09:34:48 bde Exp $ $Id: bsd.sgml.mk,v 1.25 1998/05/18 16:57:10 wosch Exp $ $Id: bsd.subdir.mk,v 1.24 1998/05/06 16:53:53 wosch Exp $ $Id: sys.mk,v 1.33 1998/05/15 09:34:48 bde Exp $ I rebuilt and installed make, I copied make.conf in place. cd /a/src/bin/sh make clean make yields: Warning: Object directory not changed from original /a/src/bin/sh cc -O -pipe -DSHELL -I. -I/a/src/bin/sh -c alias.c yacc -d arith.y cp y.tab.c arith.c cc -O -pipe -DSHELL -I. -I/a/src/bin/sh -c arith.c lex -t -8 arith_lex.l > arith_lex.c cc -O -pipe -DSHELL -I. -I/a/src/bin/sh -c arith_lex.c cc -O -pipe -DSHELL -I. -I/a/src/bin/sh -c cd.c cd.c:58: nodes.h: No such file or directory *** Error code 1 Stop. Doing a make depend first then helped. Sorry, maybe it's just that I forgot make depend. But should make do it anyway when no .depend file exists? > > Bruce -- Chris Christoph P. U. Kukulies kuku@gil.physik.rwth-aachen.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980528143032.44069>