Commit Graph

42 Commits

Author SHA1 Message Date
christos 0a4f449bbb 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.
2019-01-21 21:11:54 +00:00
christos 72e3b03409 Sort texinfo dir file for MKREPRO 2015-12-18 18:57:56 +00:00
apb 386a389aab Move all "clean" and "cleandir" processing to a new bsd.clean.mk
file, as proposed in tech-toolchain.
2011-09-10 16:57:35 +00:00
joerg 9610cac10c When processing texinfo sources, use --no-version-header to make the
build reproducable.
2009-02-28 19:18:52 +00:00
jwise 8bc0f5da0f 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).
2006-03-16 18:43:34 +00:00
lukem 84a4748659 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.
2004-01-29 01:48:45 +00:00
lukem 130ab7336b 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.
2003-10-21 10:01:19 +00:00
lukem 4afe0be65c support MAKEVERBOSE for .txi.info .texi.info .texinfo.info 2003-10-19 04:54:53 +00:00
lukem 4ccb31e74a 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
2003-10-19 03:00:55 +00:00
lukem 03b6213598 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.
2003-10-18 15:33:59 +00:00
lukem 30872ad6e0 be consistent about using ${.TARGET} for $@ and ${.IMPSRC} for $< 2003-07-27 09:27:18 +00:00
lukem f134f3dc38 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.
2003-07-18 08:26:01 +00:00
lukem d72803be72 Pull in <bsd.sys.mk> to provide the defaults for TOOL_* when USETOOLS=never 2003-07-14 00:50:04 +00:00
lukem 001c68bd94 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.
2003-07-10 10:33:58 +00:00
tron 085b2ab641 Fix "clean" rule to honor "CLEANFILES" variable. 2003-06-24 09:49:07 +00:00
perry 8885724457 Pass 1 of SYSPKG changes to automatically add tags=pkgname_pkg to METALOG.
Not quite ready for prime time yet.
2002-10-22 18:48:27 +00:00
pk c26b4a92e2 Serialize access to $INFODIR/dir; multiple instances of `install-info'
would trash that file.
2002-03-01 15:42:10 +00:00
mycroft 09819b05ef 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.)
2002-02-11 21:14:58 +00:00
tv 8f2c8e583f Fix the :U's used with ${UPDATE} so that stray values don't get put into
the .PHONY: target.
2001-11-28 20:19:08 +00:00
tv 1129ed4afe 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.
2001-11-02 05:21:47 +00:00
tv d0f9e45413 Rather than explicitly saying "clean cleandir:" all the time, make clean
a dependency of cleandir (so that "make cleandir" implies "make clean").
2001-08-14 07:02:13 +00:00
enami 086d34c97e Now that the makeinfo is quiet by default, don't suppress commmand line echo. 2001-08-02 05:42:56 +00:00
tv dd70bf30ad 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).
2001-06-01 17:49:32 +00:00
sommerfeld 263f3e581d Suppress duplicate entries in ALLFILES, FILES, INCS, DEPINCS, INFOFILES,
NLSALL, CATPAGES, MANPAGES, HTMLPAGES, and SCRIPTS.
2001-05-08 03:19:51 +00:00
mycroft 750b27b82a 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).
2000-06-10 14:12:03 +00:00
mycroft 27bcc551c6 Do `install-info --remove' after installing the info file. 2000-06-10 04:56:59 +00:00
mycroft 2eaf9707e2 Rearrange slightly to get rid of unneeded conditionals (and make this
*slightly* less painful to trace through, though not much).
2000-06-08 03:51:56 +00:00
mycroft dfad196789 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.
2000-06-08 03:30:58 +00:00
mycroft 78e7ae14b9 The previous commit was *definitely* wrong. It indicates an out of date
make(1).
2000-06-08 03:05:17 +00:00
matt ce4415cde0 Don't know if this is a side effect of the recent makes changes but
set FILESDIR_${F} for info files.
2000-06-07 16:29:11 +00:00
mycroft 34e1bda46a 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.
2000-06-06 05:40:47 +00:00
erh a2802fd5fa Add NOPATH to prevent files in the serach path from interfering with what we're building. 2000-02-19 23:57:12 +00:00
mycroft 3e13200b73 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.
2000-01-22 19:31:00 +00:00
perry 9ad44ce879 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".
1999-09-14 01:31:11 +00:00
billc 195a593eae Fix thinko to make MKINFO=no work again. Closes PRs 7342 and 7411. 1999-04-22 01:06:42 +00:00
tv f727f277a7 Add {MK,NO}INFO, and use that to control generation/installation of Info
documentation.  MKINFO=no is implied by MKSHARE=no.
1999-02-12 15:01:08 +00:00
lukem 497d11782a * 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).
1999-02-12 01:10:06 +00:00
tv 3d13884e75 I wish they'd settle on a file extension. Build Info files for any of
.txi, .texi, or .texinfo.
1999-02-11 16:50:46 +00:00
tv 8baaaf2b4d 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".
1999-02-11 16:09:21 +00:00
tv 38928fc46a Add an INFOFLAGS that contains -I's to pass to makeinfo. 1999-02-11 15:59:07 +00:00
tv d73e722243 makeinfo produces its own `making...' message, so make the command itself
silent.
1999-02-11 15:31:44 +00:00
tv 4b894ef57b 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>.
1999-02-11 13:25:42 +00:00