Subject: upcoming changes
To: None <current-users@NetBSD.ORG>
From: Christos Zoulas <christos@deshaw.com>
List: current-users
Date: 03/16/1997 22:15:29
- I just committed an enhancement to install(1) that can install links.
  This will be used in a few days in the default make rules instead of
  raw ln(1), so make sure your sources are up-to-date. With that, the
  SYMLINKS variable that was added recently will go away, so don't use it.

- Last week I committed a change to make(1) that adds the capability to
  mark targets as already made (even when they are out of date with
  respect to their sources). This will be used soon in the *.mk files.

I am planning to implement the following:

	- Add two new variables BUILD and UPDATE. These variables will
	  be unset by default, and they can be set in /etc/make.conf.
	- If BUILD is set:
		make install checks that the targets in the source
		directories are up-to-date and remakes them if they
		are out of date, instead of blindly trying to install
		out of date or non-existant targets.
	- If UPDATE is set:
		make install only installs targets that are more recently
		modified in the source directories that their installed
		counterparts.
	
The motivation to do this is to speed up builds on slower architectures,
and to be able to resume 'make install' that has been interrupted in
the middle without having to re-install all the already installed
targets. This will also help incremental builds after a daily update;
you should be able to type (make depend && make && make install) and
only things that have been changed will be updated.

When all this is done, I am planning to clean up all the Makefiles that
have locally defined rules that they don't need to, and fix them so
they understand DESTDIR= properly. I.e. when I am finished, you should
be able to type make build DESTDIR=/other and have a fully populated
independent tree, without touching your root filesystem.

If you don't like the above speak now!

christos