Commit Graph

23 Commits

Author SHA1 Message Date
sommerfeld
8a39635d34 Back out debug cruft. 2000-12-30 02:06:42 +00:00
sommerfeld
a804073cac Add a token-passing scheme to allow a recursive make to successfully
use -j; all make's in a recursive build cooperate to limit the total
number of jobs, using a token-passing scheme.

The current token passing algorithm is similar to the one implemented
by gmake; there is a single pipe which is inherited through the entire
process hierarchy; tokens are obtained by reading a byte from the
"read end" of the pipe, and are returned by writing them to the "write
end".  This exact algorithm is likely to change in the future.

Implementation details:
 - Use the new trace facility to allow measurement of the
effectiveness of different token-passing schemes
 - Get a token in MakeStartJobs(), return it in Make_Update()
 - Eliminate Job_Full() and the jobFull global since they are
redundant with token system.
 - Add an "internal" -J option (to pass the token pipe fd's down to
submakes) and a -T option for tracing.
 - Change how compatMake is forced so that -j means something when
inherited by submakes.
 - When waiting for a token, poll the token-passing pipe as well as
the output pipes of existing jobs.
2000-12-30 02:05:20 +00:00
is
135600f947 More format string cleanup by sommerfeld. 2000-10-11 14:46:00 +00:00
ross
7886a593e3 Back out part of previous, only the parse.c mod was intended. 1999-08-04 16:44:07 +00:00
ross
0728723c31 Trivial speed hack. 1999-08-04 02:54:56 +00:00
lukem
8ba07ab0b3 use CPPFLAGS instead of CFLAGS 1997-10-24 09:00:17 +00:00
lukem
00c29d5afe don't define WARNS=1 here 1997-10-19 04:23:02 +00:00
mycroft
e96e918e60 Use bsd.subdir.mk as appropriate. 1997-10-11 09:34:07 +00:00
christos
254d64f064 Add WARNS=1
RCSID police
1997-07-01 21:17:00 +00:00
gwr
10e180cc49 Back out the .PATH.c changes. The .depend problem (and others)
will be fixed using the new .NOPATH make feature instead.
1997-05-08 21:11:01 +00:00
gwr
012e528f2e Use .PATH.c: ... 1997-05-06 20:44:56 +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
christos
5c1983c016 - Move -D flags from Makefile to config.h and explain what they do. Add
-Wall -Wno-unused to CFLAGS. Add new define SYSVVARSUB to enable SysV
  style variable substitutions and enable them.
- Add SunOS style command substitutions via SUNSHCMD
- Fix core dump with '{variable = value'
1996-05-28 23:34:35 +00:00
christos
57cad0d107 Jonathan Stone's fixes:
main.c:	Remove double include of <sys/resource.h>; if MACHINE is defined, use
	that instead of uname.
Makefile: Add util.c.
1996-03-11 13:45:31 +00:00
christos
8862d696fa fix pr/1421 and pr/1997 1996-02-04 22:20:27 +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
jtc
d08e2815ca None of the functions in util.c are needed by NetBSD, so don't
bother to compile it.
1995-05-03 05:09:14 +00:00
cgd
138fcd8327 deal with new share/doc strategy 1994-06-30 05:33:30 +00:00
cgd
5b029eb9a8 update for new doc-make/install strategy 1994-06-25 05:57:47 +00:00
cgd
3db59563ee fixes/improvements from Christos Zoulas <christos@deshaw.com>. 1994-03-05 00:34:29 +00:00
jtc
ae2b6ea2c2 Compile with -DPOSIX --- enables reasonable behavior for MAKE and
MAKEFLAGS variables.
1993-12-14 18:27:15 +00:00
mycroft
690cae8181 Add RCS indentifiers. 1993-07-31 15:17:49 +00:00
cgd
61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00