Commit Graph

40 Commits

Author SHA1 Message Date
sjg
5fe132c5cb Added the :U :D :L :P :! and :@ modifiers as used by ODE make.
These allow some very useful magic in the makefiles.
The comment in var.c describing their behaviour is mostly lifted
from ODE make, but the implementation of the modifiers themselves
is quite different (much simpler) due to divergence of our code base.
2000-04-29 12:18:52 +00:00
christos
c407ec1982 PR/9899: David A. Holland: multi-variable .for constructs in make 2000-04-16 22:08:06 +00:00
sjg
448f091254 Mention MAKEOBJDIRPREFIX and explain how it or MAKEOBJDIR are used.
Also fixed a typo in the .SUFFIXES bit.
2000-02-08 12:56:28 +00:00
msaitoh
0fcbe067c6 s/ the the / the / 1999-10-08 20:13:42 +00:00
christos
ab01074993 Add :O var modifier, that sorts the words in a variable. 1999-09-12 00:17:50 +00:00
aidan
58f27ba58c Added .PARSEDIR and .PARSEFILE variables to make(1). 1999-08-09 21:06:28 +00:00
thorpej
70b6975a7e Fix a typo. 1999-07-12 18:22:49 +00:00
thorpej
5a0addc0ef Add a mechanism for specifying that ${.CURDIR} will be searched last
in the presence of .PATH directives by specifying:

.PATH: .DOTLAST

This will be used to fixup the build system to work with both crypto-us
and crypto-intl sub-trees.

Make(1) changes by Christos Zoulas, after much badgering by me :-)
1999-07-11 02:06:57 +00:00
erh
fa45851f9b Add missing .El line. 1999-03-10 05:14:51 +00:00
ross
7f8e818918 Missing .El. 1999-03-09 03:19:28 +00:00
mycroft
a1c657fe56 Clean up SYNOPSIS formatting. 1999-03-07 11:29:58 +00:00
ross
3eb0afd457 Fix a bug that apparently prevented, since day 1, the .-include / .sinclude
feature from ever working. Also, fix the man page that incorrectly described
the syntax of the feature that didn't work.
1998-11-17 23:56:23 +00:00
christos
8bd03e9aab - Add {.,}[s-]include for silent include file failures
- Make traditional include statement include more than one file if present
  on the line.

Keeping up with the other's :-)
1998-08-06 13:42:22 +00:00
christos
84e525a801 Add conditional variable evaluation from Alistair Crooks. 1998-04-01 14:18:10 +00:00
hubertf
51dc9a9405 Fix typos from PR 5055 by NAKAJIMA Yoshihiro <nakayosh@kcn.or.jp>. 1998-02-24 18:34:31 +00:00
lukem
6d1c625f54 fix up .Nm usage 1997-10-19 05:05:24 +00:00
mikel
d9c915fd1a add missing .Nm argument 1997-10-12 05:51:47 +00:00
pk
3552d54978 Erase spurious character. 1997-05-26 23:07:31 +00:00
pk
7abb0d066d Minor formatting glitch. 1997-05-26 21:04:28 +00:00
mycroft
8aed472136 Fix description of .NOPATH. 1997-05-08 22:34:34 +00:00
gwr
bf6930a26c Add the new .NOPATH feature which can be used to disable .PATH search
for particular targets, i.e. .depend, objects, etc.  (from Christos).
1997-05-08 21:24:41 +00:00
mycroft
b160845c38 Document .PHONY better. 1997-05-06 22:29:43 +00:00
christos
dd0a1d0814 Add a .MADE directive to indicated that the children of a target are
up-to-date, even when they are not. This is to simulate our current
make install behavior with proper dependencies.
1997-03-10 21:19:49 +00:00
christos
8819044d2a [initial version of the substitution/regexp changes were courtesy of Der Mouse]
- fix the variable substitution code in make [PR/2748]
      1. change s/a/b/ so that it substitutes the first occurance of the
	 pattern on each word, not only the first word.
      2. add flag '1' to the variable substitution so that the substitutions
	 get performed only once.

  ***THIS IS AN INCOMPATIBLE CHANGE!***

  Unfortunately there was no way to make things consistent without
  modifying the current behavior. Fortunately none of our Makefiles
  depended on this.

	    OLD:

		VAR      = aa1 aa2 aa3 aa4

		S/a/b/   = ba1 aa2 aa3 aa4
		S/a/b/g  = bb1 bb2 bb3 bb4

	    NEW:

		VAR      = aa1 aa2 aa3 aa4

		S/a/b/   = ba1 ba2 ba3 ba4
		S/a/b/1  = ba1 aa2 aa3 aa4
		S/a/b/g  = bb1 bb2 bb3 bb4
		S/a/b/1g = bb1 aa2 aa3 aa4

- add regexp variable substitution via 'C/foo/bar/' [PR/2752]

- add variable quoting via the ${VAR:Q} modifier. This is useful when running
  recursive invocations of make(1):

	make VAR=${VAR:Q}

  will always work... (This may prove useful in the kernel builds...) [PR/2981]
1996-12-24 17:36:27 +00:00
christos
aa49881371 - Merge in FreeBSD and Lite2 changes.
- Fix bug where a non-archive target with a .a suffix would always
  be considered to be out of date, since it does not have a TOC.
1996-11-06 17:58:58 +00:00
thorpej
bbb4184355 Tidy up some RCS ids a bit. 1996-08-30 17:59:37 +00:00
christos
0acf990595 Add PHONY attribute and target. This is the first step to cleanup the
xinstall and xlint crud.
1996-03-15 21:52:32 +00:00
christos
9779dee0b1 Fix PR/2118; apply sysincludes patch. 1996-03-06 00:15:17 +00:00
christos
f0874be2f5 - Added .WAIT to synchronize between sources like other pmake variants.
- Updated documentation to include .ORDER .PARALLEL .NO_PARALLEL .NONPARALLEL
1995-12-16 05:03:09 +00:00
christos
027abce852 - Turn compat mode on by default. It gets turned off when the -j without
the -B flag is specified. [Thus you can use -j 1 to turn it off].
- Fix malloc -> emalloc as Gordon noted.
1995-11-08 02:30:53 +00:00
christos
61067003d8 Minor:
- ${.PREFIX} should never contain a full pathname
    - Fixed gcc -Wall warnings
Major:
    - compatMake is now FALSE. This means that we are now running in
      full pmake mode:
	  * rules on dependency lines can be executed in parallel and or
	    out of sequence:

	    foo: bar baz

	    can fire the rule for baz before the rule for bar is fired.
	    To enforce bar to be fired before baz, another rule needs to be
	    added. [bar: baz]
	  * adjacent shell commands in a target are now executed by a single
	    invocation of the shell, not one invocation of the shell per line
      (compatMake can be turned off using the -B flag)
    - The -j flag now works... I.e. make -j 4 will fork up to four jobs in
      parallel when it can. The target name is printed before each burst
      of output caused by the target execution as '--- target ---', when j > 1
    - I have changed all the Makefiles so that they work with make -j N, and
      I have tested the whole netbsd by:
	  'make -j 4 cleandir; make -j 4 depend; make -j 4; make -j 4 install'
    - I have not compiled or tested this version of make with -DREMOTE.
1995-11-02 23:54:35 +00:00
christos
b5f782e810 - $NetBSD$ rcsids
- Fixed so that .[A-Z]* targets that do not match keywords are ignored as
  Posix mandates
- Added .PHONY target keyword
1995-06-14 15:18:37 +00:00
christos
67c2aabd6c Fix small typo; from Chris Torek 1995-04-29 17:05:08 +00:00
mycroft
b36edbb4da Fix 4 typos pointed out by Jordan, and 1 by me. 1995-01-23 20:34:59 +00:00
cgd
3db59563ee fixes/improvements from Christos Zoulas <christos@deshaw.com>. 1994-03-05 00:34:29 +00:00
jtc
f4db87c6e4 Fix typos & spelling errors 1994-02-10 18:24:46 +00:00
pk
f0e170dc10 Introduced ${.OBJDIR}. The variable is similar to .CURDIR but points at
the directory where make builds the targets. It can be used to clean up
those cumbersome Makefiles that have to guess at the "obj" directory.
1993-12-22 00:25:57 +00:00
mycroft
c3e42d1c64 Add RCS indentifiers. 1993-08-01 07:22:47 +00:00
mycroft
1b67cec37d Fix various bugs in man pages (from 386BSD patch 130). 1993-04-22 03:27:28 +00:00
cgd
61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00