It is now past any conditionals where its emptiness or nonemptiness can
influence the decision of what objects get built.
Fixes MKDEBUG=yes build on vax (PR 47700).
The .uue rule is defined to make "foo.xxx.uue" -> "foo.xxx". When
UUDECODE_FILES_RENAME_* is also applied, the .uue rule tries to make "foo",
not "foo.xxx". This results in that "foo.xxx" is never made and always
"foo.xxx.uue" -> "foo" is made.
Define dependency for intermediate files.
Avoid unnecessary rebuild and reinstall. (Consume 70K in obj directory.)
This is suboptimal: the current high-level definitions of test programs
in the Makefiles do not carry enough information to support all the
features of Kyuafiles. For example, it is not possible to register test
programs that do *not* use the ATF libraries, which is something that
has been frequently requested around here; nor it is possible to attach
arbitrary metadata to test programs from the Makefile, which is handy
particularly for ATF-less test programs.
For these reasons, consider this a transitional step.
Note that, with this change, you should now be able to use the 'kyua'
tool to run the tests in /usr/tests.
Atffile generation.
This is needed to be able to generate Kyuafiles (coming later), as these
clearly differentiate between the definition of test programs and the
recursion into other subdirectories (or files).
In particular: rename ATFFILE_EXTRA_TPS to ATFFILE_EXTRA_SUBDIRS and
change the logic in bsd.test.mk to keep track of subdirectories aside from
_TESTS when creating the Atffile.
The new ATFFILE_EXTRA_TPS variable can hold a set of test programs or
subdirectories to be added to the generated Atffile, without needing these
to be built by the current Makefile.
This is to be used in conjunction with MK* knobs and external/ so that
a 3rd-party component can place its tests in the corresponding tests/
directory and have the parent Atffile recognize them.
An alternative would be to use 'tp-glob' in the Atffile and list the names
of the directories/tests that may or may not exist. However, this would
require providing manually-crafted Atffiles -- and because the majority are
auto-generated, there would be some confusion.
MKKYUA defaults to no and will remain as such until the import is complete
and validated.
This knob does not currently have any effects on the build as nothing relies
on it yet. Upcoming imports and changes in this area will all be guarded by
this flag.
This is a mess. HAS_SSP (which should really be HAVE_SSP), is defined
in bsd.sys.mk. So things that need it, include the file directly. The
trouble comes because bsd.sys.mk, needs stuff that bsd.own.mk defines,
so including first does not work. Anyway most other files include bsd.sys.mk
directly, so user Makefiles should just not do that, and just include
<bsd.own.mk> to get all the defines they need.