| Age | Commit message (Collapse) | Author |
|
|
|
Build a list of `cohorts' as before, but do *not* link each one into all the
parent nodes; instead, copy the `cohort' lists into the stream of targets to
be built inside Make_ExpandUse(). Also do the attribute propagation as a
separate pass after parsing.
This eliminates several O(n^2) algorithms.
|
|
right before exiting.
(The code is still present, `#ifdef CLEANUP', in case someone needs it...)
|
|
|
|
|
|
V := $V foo
V := $V bar
would report that variable V is recursive...
|
|
feature from ever working. Also, fix the man page that incorrectly described
the syntax of the feature that didn't work.
|
|
- more conservative printf
- char -> unsigned char
|
|
|
|
- Make traditional include statement include more than one file if present
on the line.
Keeping up with the other's :-)
|
|
|
|
|
|
|
|
RCSID police
|
|
|
|
for particular targets, i.e. .depend, objects, etc. (from Christos).
|
|
|
|
Make used to only use the search path for nodes that were pure
sources (not targets of other sources). This has been corrected
and now gnu-autoconf generated Makefiles work in directories other
than the source one.
- Suffix transformation rescanning:
Suffix transformations (.c.o:; cc ...) were only recognized in
the past when both suffixes were members of the suffix list.
Thus a sequence like:
.z.b:
echo ${.TARGET}
.SUFFIXES: .z
would cause .z.b: to be inserted as a regular target (and the main
target in this case). Other make programs always add rules that
start with a period in the transformation list and never consider
them as targets. We cannot do that (consider .depend files) so we
resort to scanning the list of the current targets every time a
suffix gets added, and we mutate existing targets that are now
valid transformation rules into transformation rules. If the
transformed target was also the main target, we set the main target
to be the next target in the targets list.
|
|
up-to-date, even when they are not. This is to simulate our current
make install behavior with proper dependencies.
|
|
|
|
- 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.
|
|
From enami tsugutomo <enami@ba2.so-net.or.jp>, PR #2651.
|
|
in its entirety if it contained a continuation.
- Print the whole error line, not just the first 20 characters of it.
|
|
|
|
-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'
|
|
xinstall and xlint crud.
|
|
|
|
include keyword
|
|
while searching for ""-type include files, since the current file name
might not be a writeable string.
|
|
- Updated documentation to include .ORDER .PARALLEL .NO_PARALLEL .NONPARALLEL
|
|
- ${.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.
|
|
Dependency rules with `=' in the lhs are parsed as variable assignments.
E.g., the following Makefile fails:
A=a b c d
all: $(A:%=%b)
$(A:%=%b):
@echo $@
|
|
- Fixed so that .[A-Z]* targets that do not match keywords are ignored as
Posix mandates
- Added .PHONY target keyword
|
|
|
|
|
|
1. Honor environment variable $MACHINE if set over uname.machine
2. archives with :: are always out of date, even when they have no children.
3. VAR= a b c # comment, gets the trailing blanks trimmed, unless
escaped by \. I'll have to read the posix manul to make sure that it
is ok to handle escapes here.
|
|
differently.
|
|
|
|
to find memory leaks and illegal memory accesses.
|
|
in strings (Fixes bug 255).
|
|
|
|
Shell commands start with tabs, not whitespace. Pmake's
POSIX behavior must have been derrived from an early draft.
|
|
|
|
|
|
POSIX behavior must have been derrived from an early draft.
|
|
|
|
|