Home | History | Annotate | Download | only in mk
History log of /src/share/mk/bsd.info.mk
RevisionDateAuthorComments
 1.46  18-Aug-2024  rin bsd.info.mk: Install INFOFILES as is, if TEXINFO is empty

This allows us to install pre-generated info files. NFCI otherwise.
 1.45  16-Jun-2024  hgutch Simplify test for 0 byte file size

pointed out by kre@
 1.44  16-Jun-2024  hgutch Unbreak generation of share/info/dir

install-info refuses to operate on 0 byte files. When __infoinstall
is run the first time in a build, an empty ${INFODIRFILE} is created
via touch. As install-info leaves this file untouched, we are left
with a 0 byte file at the end. For subsequent __infostall runs the
only difference is that ${INFODIRFILE} already exists as a 0 byte
file, so no new one is created.

Fix by deleting ${INFODIRFILE} in the loop (with the lock held) if it
is a 0 byte file. In this case also don't bother with calling
install-info -r.
 1.43  01-May-2023  christos Create the INFODIRFILE if it does not exist, so that we can take a lock
on it. Hopefully fixes a race condition where two parallel makes attempt
to create the file at the same time.
 1.42  21-Jan-2019  christos Most of the mv operations are to move temporary files to their final place.
Some use -f, others don't. This can lead to spurious build failures when
the user performing the build changes. Centralize, and always use -f.
 1.41  18-Dec-2015  christos branches: 1.41.14; 1.41.16;
Sort texinfo dir file for MKREPRO
 1.40  10-Sep-2011  apb Move all "clean" and "cleandir" processing to a new bsd.clean.mk
file, as proposed in tech-toolchain.
 1.39  28-Feb-2009  joerg When processing texinfo sources, use --no-version-header to make the
build reproducable.
 1.38  16-Mar-2006  jwise branches: 1.38.26; 1.38.28;
Now that we have real build system support for syspkgs, remove someone's
half-implemented idea of building `syspkgs' (really a few giant blobs of the
same granularity of the old sets) using install(1).
 1.37  29-Jan-2004  lukem Cosmetically tweak how .PHONY is used by (generally) providing it as a source,
instead of using it as a target with all the rules as its sources.
 1.36  21-Oct-2003  lukem Rework how MAKEVERBOSE operates:

* Don't bother prefixing commands with a line of ${_MKCMD}\
and instead rely upon "make -s". This is less intrusive on
all the Makefiles than the former. Idea from David Laight.

* Rename the variables use to print messages. The scheme now is:
_MKMSG_FOO Run _MKMSG 'foo'
_MKTARGET_FOO Run _MKMSG_FOO ${.TARGET}
From discussion with Alistair Crooks.
 1.35  19-Oct-2003  lukem support MAKEVERBOSE for .txi.info .texi.info .texinfo.info
 1.34  19-Oct-2003  lukem Provide _MKMSG{BUILD,CREATE,COMPILE,FORMAT,INSTALL,LINK,LEX,YACC} to display
${_MKMSG} " ... {$.TARGET}" and use appropriately.

Provide _MKMSGLINK.m to provide "link" message by itself (without ${.TARGET})

Replace _MKSHCMD with _MKSHECHO
 1.33  18-Oct-2003  lukem Implement MAKEVERBOSE to control how "verbose" the standard make(1) rules are.
Supported values:
0 Minimal output ("quiet")
1 Describe what is occurring
2 Describe what is occurring and echo the actual command ("verbose")
This is the default, and is equivalent to the previous behaviour.
 1.32  27-Jul-2003  lukem be consistent about using ${.TARGET} for $@ and ${.IMPSRC} for $<
 1.31  18-Jul-2003  lukem Add MKUNPRIVED; if not no has the same semantics as if UNPRIVED was defined.
Replace defined(UNPRIVED) tests with ${MKUNPRIVED} != "no"

Add MKUPDATE; if not no has the same semantics as if UPDATE was defined.
Replace defined(UPDATE) tests with ${MKUPDATE} != "no"

Improve documentation for these and other make flags.
 1.30  14-Jul-2003  lukem Pull in <bsd.sys.mk> to provide the defaults for TOOL_* when USETOOLS=never
 1.29  10-Jul-2003  lukem Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO". The new variables are:
TOOL_ASN1_COMPILE TOOL_CAP_MKDB TOOL_CAT TOOL_CKSUM TOOL_COMPILE_ET
TOOL_CONFIG TOOL_CRUNCHGEN TOOL_CTAGS TOOL_DB TOOL_EQN TOOL_FGEN
TOOL_GENCAT TOOL_GROFF TOOL_HEXDUMP TOOL_INDXBIB TOOL_INSTALLBOOT
TOOL_INSTALL_INFO TOOL_M4 TOOL_MAKEFS TOOL_MAKEINFO TOOL_MAKEWHATIS
TOOL_MDSETIMAGE TOOL_MENUC TOOL_MKCSMAPPER TOOL_MKESDB
TOOL_MKLOCALE TOOL_MKMAGIC TOOL_MKTEMP TOOL_MSGC TOOL_MTREE
TOOL_PAX TOOL_PIC TOOL_PREPMKBOOTIMAGE TOOL_PWD_MKDB TOOL_REFER
TOOL_ROFF_ASCII TOOL_ROFF_DVI TOOL_ROFF_HTML TOOL_ROFF_PS
TOOL_ROFF_RAW TOOL_RPCGEN TOOL_SOELIM TOOL_SUNLABEL TOOL_TBL
TOOL_UUDECODE TOOL_VGRIND TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
TOOL_FOO?= foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
TOOL_FOO= ${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
 1.28  24-Jun-2003  tron Fix "clean" rule to honor "CLEANFILES" variable.
 1.27  22-Oct-2002  perry Pass 1 of SYSPKG changes to automatically add tags=pkgname_pkg to METALOG.
Not quite ready for prime time yet.
 1.26  01-Mar-2002  pk branches: 1.26.2;
Serialize access to $INFODIR/dir; multiple instances of `install-info'
would trash that file.
 1.25  11-Feb-2002  mycroft Don't use .PHONY for targets that are actually installed. Instead use force
dependencies. (Among other things, `make -t install' does something vaguely
sensible now.)
 1.24  28-Nov-2001  tv Fix the :U's used with ${UPDATE} so that stray values don't get put into
the .PHONY: target.
 1.23  02-Nov-2001  tv Improve readability and reduce redundant redundancy in share/mk; add some
descriptive comments. The guts of hostprog, lib, and prog are mostly
unchanged; this will be done in another pass.

Make several things work properly with UNPRIVILEGED set, and make the
install-time "cmp" logic work for MANZ. Also reimplement INCS{DIR,NAME}_foo
(requested by wiz) in a backwards compatible way.

Reviewed by christos.
 1.22  14-Aug-2001  tv Rather than explicitly saying "clean cleandir:" all the time, make clean
a dependency of cleandir (so that "make cleandir" implies "make clean").
 1.21  02-Aug-2001  enami Now that the makeinfo is quiet by default, don't suppress commmand line echo.
 1.20  01-Jun-2001  tv Make "distclean" a REAL synonym for "cleandir" by actually aliasing it
in <bsd.own.mk>, rather than sprinkling it in all the .mk files (and
some Makefiles throughout the tree).
 1.19  08-May-2001  sommerfeld Suppress duplicate entries in ALLFILES, FILES, INCS, DEPINCS, INFOFILES,
NLSALL, CATPAGES, MANPAGES, HTMLPAGES, and SCRIPTS.
 1.18  10-Jun-2000  mycroft Use ${.ALLSRC:T} when doing the generated variable name lookups, so that it
DTRT for generated files in and obj directory (or accessed via .PATH).
 1.17  10-Jun-2000  mycroft Do `install-info --remove' after installing the info file.
 1.16  08-Jun-2000  mycroft Rearrange slightly to get rid of unneeded conditionals (and make this
*slightly* less painful to trace through, though not much).
 1.15  08-Jun-2000  mycroft Rework to not use the `files' crap. It requires far too much klugery to
actually get the semantics right. As a bonus, the info directory is not
reordered when using UPDATE any more, if files are not actually reinstalled.
 1.14  08-Jun-2000  mycroft The previous commit was *definitely* wrong. It indicates an out of date
make(1).
 1.13  07-Jun-2000  matt Don't know if this is a side effect of the recent makes changes but
set FILESDIR_${F} for info files.
 1.12  06-Jun-2000  mycroft Use ODE make(1) features to eliminate extra variables and move several things
outside of .for loops. (Needs more work to completely eliminate .for.)

XXX Don't look at this stuff. It will make your head hurt.
 1.11  19-Feb-2000  erh branches: 1.11.2;
Add NOPATH to prevent files in the serach path from interfering with what we're building.
 1.10  22-Jan-2000  mycroft Make `dependall' play nicely with SUBDIR, using a hack similar to `realinstall'
for both `depend' and `all'.
Also, remove the old hack that invokes an extra shell for .depend, now that
make(1) has been fixed.
 1.9  14-Sep-1999  perry Add a "dependall" target, which does a "make depend" and then "make all"
in a single directory. This is useful in "make build" because by doing
the build immediately after the depend, all sources will typically
still be in the buffer cache, thus saving significant time over doing
a "make depend" on all the directories and then a "make all".
 1.8  22-Apr-1999  billc Fix thinko to make MKINFO=no work again. Closes PRs 7342 and 7411.
 1.7  12-Feb-1999  tv branches: 1.7.2;
Add {MK,NO}INFO, and use that to control generation/installation of Info
documentation. MKINFO=no is implied by MKSHARE=no.
 1.6  12-Feb-1999  lukem * Add support for MKDOC MKLINKLIB MKLINT MKMAN MKNLS MKOBJ MKPIC MKPICINSTALL
MKPROFILE MKSHARE, which default to `yes' unless an equivalent NOxxx
variable is defined.
* Add MKCATPAGES, which if "no" prevents catpages from being built or installed

Users should use "MKxxx=no" instead of "NOxxx=" in /etc/mk.conf, because
this allows easy override on the make(1) command line (e.g 'make MKSHARE=yes'
to override MKSHARE=no in /etc/mk.conf).
 1.5  11-Feb-1999  tv I wish they'd settle on a file extension. Build Info files for any of
.txi, .texi, or .texinfo.
 1.4  11-Feb-1999  tv Clean on "cleandir" and "distclean", not "realclean".
XXX those clean targets should be unified and depend on a common name,
including that "distclean" should invoke "realclean".
 1.3  11-Feb-1999  tv Add an INFOFLAGS that contains -I's to pass to makeinfo.
 1.2  11-Feb-1999  tv makeinfo produces its own `making...' message, so make the command itself
silent.
 1.1  11-Feb-1999  tv Create <bsd.info.mk> for Info documentation, and avoid the nasty install
stuff duplication by expressing it in terms of <bsd.files.mk>. Allow for
multiple inclusion of <bsd.files.mk> by clearing ${FILES} at the end, and
using FILES+= rather than FILES= in <bsd.info.mk>.
 1.7.2.1  22-Apr-1999  perry pullup 1.7->1.8 (billc)
 1.11.2.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.26.2.1  24-Jun-2003  grant Pull up revision 1.28 (requested by tron in ticket #1337):

Fix "clean" rule to honor "CLEANFILES" variable.
 1.38.28.1  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.38.26.1  27-Mar-2009  msaitoh Pull up following revision(s) (requested by joerg in ticket #548):
share/mk/bsd.info.mk: revision 1.39
gnu/dist/texinfo/makeinfo/makeinfo.h: revision 1.2
gnu/dist/texinfo/makeinfo/makeinfo.c: revision 1.15
gnu/dist/texinfo/makeinfo/makeinfo.c: revision 1.16
gnu/dist/texinfo/doc/makeinfo.1: revision 1.2
Teach makeinfo about --no-version-header to support the line
This is <info> producted by <version> from <source>
which leaks the full build prefix.
When processing texinfo sources, use --no-version-header to make the
build reproducable.
Escape new lines.
 1.41.16.1  10-Jun-2019  christos Sync with HEAD
 1.41.14.1  26-Jan-2019  pgoyette Sync with HEAD

RSS XML Feed