Commit Graph

103 Commits

Author SHA1 Message Date
yar
402e21e0f9 Give more details on the following topics:
o How global, command-line, and environment variables relate.
o What peculiarities the -f option has WRT ${MAKEFLAGS}.
2007-10-31 08:20:09 +00:00
fjoe
f13438e457 Better English. 2007-03-08 14:05:45 +00:00
fjoe
19d858e266 Implement "Remaking Makefiles" feature:
After reading Makefile and all the files that are included using .include
or .sinclude directives (source Makefiles) make considers each source
Makefile as a target and tries to rebuild it.  Both explicit and implicit
rules are checked and all source Makefiles are updated if necessary. If
any of the source Makefiles were rebuilt, make restarts from clean state.

To prevent infinite loops the following source Makefile targets are
ignored:
- :: targets that have no prerequisites but have commands
- ! targets
- targets that have .PHONY or .EXEC attributes
- targets without prerequisites and without commands

When remaking a source Makefile options -t (touch target), -q (query
mode), and -n (no exec) do not take effect, unless source Makefile is
specified explicitly as a target in make command line.
Additionally, system makefiles and .depend are not considered as a
Makefiles that can be rebuilt.

Reviewed by:	harti
2007-03-08 09:16:11 +00:00
maxim
a83c0deacb o Grammar: is appears -> appears.
PR:		docs/107306
Submitted by:	Tomas Mozes
MFC after:	1 week
2006-12-31 07:22:55 +00:00
yar
070982755d Fix a group of typos:
preceed -> precede,
preceeded -> preceded,
preceeding -> preceding.

Submitted by:	Andre Guibert de Bruet <andy@siliconlandmark.com>
2006-12-29 13:08:46 +00:00
ru
31c9074bac Markup nit. 2006-09-29 21:17:10 +00:00
ru
33e34aeeb5 Markup fixes. 2006-09-29 15:20:48 +00:00
fjoe
d0f38a4382 Add :u var modifier (remove adjacent duplicate words like uniq(1).
Reviewed by:	harti
Obtained from:	NetBSD (mostly)
2006-04-08 06:59:54 +00:00
yar
38f75485c1 Revise the manpage to a certain extent, mostly with respect to
make's processing of top-level and included makefiles.  Point
out at make.conf(5) and __MAKE_CONF when telling about sys.mk.

Reviewed by:	ru
2005-10-14 23:54:20 +00:00
yar
94b5a3078d __MAKE_CONF doesn't really belong here because it is
a FreeBSD extension of sys.mk.  A xref to make.conf(5)
will be enough here.

Requested by:	ru
2005-10-12 10:09:36 +00:00
yar
03585ccfa6 Clarify the usage and effects of sys.mk, make.conf(5), and __MAKE_CONF.
MFC after:	2 weeks
2005-10-10 14:49:55 +00:00
ru
79870ba40b Remove redundant `\&' escapes. 2005-09-27 08:06:21 +00:00
ru
2b049edf7a Fixup previous commit. 2005-09-27 08:02:03 +00:00
phk
87620dae75 Add a .sinclude directive which does the exact same as .include, except
whine when the file cannot be found and opened.
2005-09-26 20:31:00 +00:00
keramida
ac7c9f771d Fix all the spelling mistakes I could find in the man pages for words
that have at least 3 characters.

MFC after:	1 week
Thanks to:	Music band ``Chingon''
		for keeping me company while searching for these.
2005-07-31 03:30:48 +00:00
ru
19aa3916e2 Markup and wording fixes.
Approved by:	re (blanket)
2005-06-14 11:50:53 +00:00
harti
6c1f15aa0b Another shell attribute 'unsetenv' that will cause to unsetenv("ENV")
before executing the shell. Until now this was done when the default
shell was the ksh. This failed if the default shell was sh or csh and
the user switched to ksh.
2005-05-24 13:14:24 +00:00
harti
e6576c2ddf Describe the meta and builtins attributes for the .SHELL special
target.
2005-05-24 10:59:08 +00:00
harti
8cf013ca66 Describe the -x option and the .WARN pseudo-target. 2005-05-24 10:55:00 +00:00
harti
bf21be6c02 Document the new -A flag for ignoring archive errors. 2005-03-31 11:40:53 +00:00
ru
1541af42f1 Expand *n't contractions. 2005-02-13 22:25:33 +00:00
harti
17159f0f8b Fix quoting of the MAKEFLAGS environment variable by only quoting spaces
and tabs. This is still not correct for command line variable values
ending in a backslash because this would require a larger effort.
Document this limitation in the BUGS section of the man page. The
quoting is mostly compatible with that of gmake and smake.

Tested by:	Max Okumoto and Joerg Sonnenberger from DragonFly BSD
Reviewed by:	ru (man page, partly)
2005-01-26 18:19:39 +00:00
ru
7f3c7f0d46 Sort sections. 2005-01-18 13:43:56 +00:00
ru
169f1013f0 Scheduled mdoc(7) sweep. 2005-01-11 10:32:52 +00:00
harti
0ce0c908ff Describe the .SHELL target.
Reviewed by:	ru
2004-12-03 08:03:11 +00:00
ru
3e22f2ff09 Document the effects of modifying the .MAKEFLAGS internal
variable and using the .MAKEFLAGS special target, and the
differences between them.

Reviewed by:	harti
2004-08-18 13:25:46 +00:00
harti
98b937e22a Make explicit that MAKEOBJDIRPREFIX and MAKOBJDIR must be set
as environment variables and should not be set on make's command
line. They happen to work accidentially as command line variables
too when none of the sub-makes wants to play games with them (because
make is putting command line variables into the environment and will
find them there later on). Makefile.inc1 wants to change
MAKEOBJDIRPREFIX. In this case one cannot set it on the command line.
2004-08-09 16:13:54 +00:00
harti
3226759811 Correct the .Dd date. Pluralize 'assignment' in one place.
Requested by: ru
2004-08-04 15:10:35 +00:00
harti
c6449c277b Correct the description of the MFLAGS and .MAKEFLAGS variables. Add
the MFLAGS target. Document that variable assignments from the MAKEFLAGS
environment variable and the .MAKEFLAGS and .MFLAGS target have the
same precedence as command line variable assignments.
2004-08-03 19:14:14 +00:00
harti
9a542a9eae Bump the date in .Dd for the recent '+' flag commit.
Requested by: ru
2004-07-29 16:54:42 +00:00
harti
0db0c04954 Implement POSIX's '+' flag for command lines. This flag causes a line
to be executed even when -n is given on the command line to make. This is
very handy for calls to submakes.

This is slightly changed from the original patch as obtained from NetBSD.
The NetBSD variant prints lines which have both '+' and '@' when -n
is specified. The commited version always obeys '@'.

Bump MAKE_VERSION so Makefiles can use this conditionally.

PR:		standards/66357 (partly)
Submitted by:	Mark Baushke <mdb@juniper.net>
Obtained from:	NetBSD
2004-07-29 14:29:23 +00:00
harti
4265ad1914 Make it clearer what means 'won't work' for .if string == ${VAR}.
Replace the use of '=' in conditionals in the examples
by the more correct '=='.

Clarify the example explaining that .for expansion takes place before
.if handling by showing the correct code instead of saying 'the other
way around'. Change a variable name there so the example is more parseable
to the human reader.

PR:		docs/65400
Submitted by:	Roman Neuhauser <neuhauser@chello.cz>
2004-07-19 14:42:57 +00:00
keramida
0084d7c454 Remove the dependency of the :C/regexp/replacement/ variable modifier
from the :S modifier which follows a bit further below.  This way the
reader can read each of these two descriptions without having to jump
back and forth in the manpage.

PR:		docs/26943
Submitted by:	Alex Kapranoff <alex@kapran.bitmcnit.bryansk.su>
2004-07-18 02:26:30 +00:00
ru
fb1d8b3724 Mechanically kill hard sentence breaks. 2004-07-02 22:22:35 +00:00
eik
8ba39a47b0 manlint
Obtained from:	ru
2004-07-02 12:34:13 +00:00
eik
71279faf28 New variable `.MAKEFILE_LIST', useful for tracing, debugging and dependency tracking.
Use
  make -V .MAKEFILE_LIST | tr \  \\n | awk '$0==".." {l--; next} {l++; printf "%*s%s\n", l, " ", $0}'
to print a tree of all included makefiles.

Approved by:	joerg
MFC after:	1 week
2004-07-02 12:30:28 +00:00
ru
b6d017c792 Markup nits. 2004-05-19 09:51:58 +00:00
ru
f044d0a524 Document the new .warning directive. 2004-04-12 18:00:54 +00:00
schweikh
46bc081858 Revert previous commit, ru has ideas how to better document this
elsewhere.
2004-01-21 17:58:33 +00:00
schweikh
af431306cd Document __MAKE_CONF and its default, /etc/make.conf.
MFC-After:	2 weeks
2004-01-19 21:44:58 +00:00
ru
db34f4c8e6 Document the recently added `O' modifier. 2003-10-02 18:38:23 +00:00
ru
7ad89d9544 - Cut out the code that caches the "." directory out of Dir_Init()
into a separate function, Dir_InitDot().

- Postpone the current and object directories detection (and caching
  of the "." directory) until after all command line arguments are
  parsed.  This makes the -C option DTRT.

PR:		bin/47149
2003-09-14 12:31:33 +00:00
ru
301b96498b Fixed the abuses of .Ql visible on stderr in troff mode.
PR:		docs/37176
2002-12-23 16:04:51 +00:00
ru
707c22856e Document the confusing behavior that the .if conditional defaults
to defined(), e.g., ``.if 1'' is equivalent to ``.if defined(1)'',
which is only true when the ${1} variable is defined.
2002-11-01 08:40:32 +00:00
ru
4823aaf7e5 Mention that the left-hand side of the comparison
conditional must always be a variable expansion.

Obtained from:	PMake

Do not lie that debugging .for loops is a no-op.
2002-10-29 09:48:49 +00:00
ru
34f9f49c0e Document the parsing bug. 2002-09-27 09:21:07 +00:00
archie
8ee3bf6a2a Make it clear that the ":C" variable modifier expects an extended
regular expression instead of an obsolete regular expression.
Also, cross-reference re_format(7) instead of regex(3).

MFC after:	3 days
2002-09-06 17:33:11 +00:00
jmallett
b56d4d7791 Add a -C ala GNU make(1) for Makefiles which are too lazy to use $(MAKE) and
this particular GNU flag.  It changes into the given directory for the
operation in question.  This just goes into said directory at the time of
parsing the argument for getopt(3).

Submitted by:	Rachel Hestilow <rachel@jerkcity.com>
2002-08-25 02:45:04 +00:00
jmallett
1d6e66be9f make(I) appeared in PWB UNIX. 2002-06-17 13:43:15 +00:00
ru
297515d525 mdoc(7) police: removed unnecessary .Ns's. 2002-05-30 05:47:50 +00:00