Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Jan 1995 19:59:54 +1100
From:      Bruce Evans <bde@zeta.org.au>
To:        freebsd-current@freefall.cdrom.com, hackers@FreeBSD.org, rkw@dataplex.net
Subject:   Re: REMAKE WORLD
Message-ID:  <199501280859.TAA24423@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>1. The build procedure should run on any machine that meets certain minimal
>specs. (Like maybe 1.1.5.1)  Doing a build will in NO way affect the host
>environment.

Too hard for 1.1.5.1.  Require 2.1.

>2. If everything is up to date, a make will do nothing except scan the
>tree. Nothing gets rebuilt unless it is out of date.

I have parts of this for 2.0.  For `make; make install; make; make
install', the second make does nothing and the second install changes
very few timestamps although it is reinstalls almost everything.  This
requires mainly not clobbering timestamps when installing unchanged
files.  Making the world is harder, and most of the dependencies on
libc.a are bogus.  Links are normally done to ${SHLIBDIR}/libc.so.2.0.
These should be done to /usr/obj/lib/libc/libc.so.2.0, and the linkage
is not supposed to depend on the library file, only on the library
version.

What is "nothing"?  I'd like it to be nothing more than reading Makefiles
and stat()ing files to get timestamps.  No building temporary files.

>4. The make procedure is not allowed to "touch" it's input tree. The source
>tree can be read-only. The object tree can be read-only if up-to-date.

>5. Multiple targets can co-exist at the same time. The entire process has a
>floating root. No path is hard coded.

This makes it hard to check out a single module outside of the source
tree and build it.

>6. Symbolic links are permitted. (This is a hard one because /../ does not
>necessarily get you back where you were :-( )

This is a bit inconsistent with (4).  I think requiring obj links in the
source tree would be best.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199501280859.TAA24423>