Commit Graph

1132 Commits

Author SHA1 Message Date
skrll
6d3ceb1d61 Rename NetBSD/hp700 to NetBSD/hppa.
Unfortunately our VCS isn't very helpful here.
2014-02-24 07:23:38 +00:00
sjg
2adf342aef Put .INCLUDEDFROM* in the right section 2014-02-15 18:55:30 +00:00
christos
7757a9ebde delete the correct variables on eof
fix typo in comment (from sjg)
2014-02-15 00:17:17 +00:00
sjg
e84a63caab Reduce the calls to realloc from brk_string by basing initial argmax guess
on length of input.

Reviewed by: christos
2014-02-12 01:35:56 +00:00
pooka
9f33b0ead1 Use Var_Value() instead of getenv() to obtain MAKEOBJDIR{,PREFIX}.
Fixes "make -X MAKEOBJDIR=foo".  Purely uncoincidentally, build.sh
creates the nbmake wrapper with MAKEFLAGS -X on FreeBSD.
2014-02-07 17:23:35 +00:00
apb
8d32845036 Emphasise the fact that the regexp and replacement in :C/// are
subjected to variable expansion before regexp parsing.  This was already
documented if you read carefully enough, but more emphasis would have
helped me to figure out why I needed three or four backslashes where I
expected to need only two.
2014-01-19 10:23:29 +00:00
wiz
6c4455e96a Bump date for previous. 2014-01-10 16:28:34 +00:00
christos
6ee57b9ada add .INCLUDEDFROM{FILE,DIR} 2014-01-10 16:12:52 +00:00
sjg
7a951eee59 Treat '~' as a meta char requiring a shell.
Patch from Steve McIntyre 93sam at debian.org

Reviewed by: christos
2014-01-03 00:02:01 +00:00
joerg
f9d128e05f Include signal.h early for MiNT and Linux. From pkgsrc. 2013-11-26 13:44:41 +00:00
sjg
ca96724fac Don't SEGV when Hash_Table is uninitialized 2013-11-14 00:27:05 +00:00
sjg
d959c16735 Don't SEGV when passed NULL for list. 2013-11-14 00:01:28 +00:00
dholland
0256a35b09 apostrophe's do not make plural's. 2013-11-07 18:50:46 +00:00
wiz
6f46d26376 Remove trailing whitespace. 2013-10-27 11:38:13 +00:00
apb
e7b5d5dc5f Explain that ${VAR:M*} will normalise the inter-word spacing. 2013-10-25 22:05:00 +00:00
apb
e1debe8414 The :C/// modifier takes an extendedregular expression. 2013-10-25 20:57:02 +00:00
christos
6e28978d84 fix unused variable warnings 2013-10-18 20:47:06 +00:00
sjg
5042f283e6 meta_oodate: 'L'ink and 'M'ove entries need extra processing.
The src of a Link should be treated as a file Read
while the target a file Written.
The src of a Move is like a file Deleted
and the target like a file Written.
2013-10-01 05:37:17 +00:00
matt
3c2ba04fe8 If MAKE_NATIVE, use sysctl to get MACHINE_ARCH from hw.machine_arch. 2013-09-14 15:09:34 +00:00
sjg
cde1c40e1b Add VAR_INTERNAL as a context for variables set by make itself,
which should not override those set by makefiles.
Currently MAKEFILE is the only variable affected.

Reviewed by: christos
2013-09-04 15:38:26 +00:00
sjg
be3c37de45 Do not apply shellErrFlag unless errCheck is true. 2013-09-02 19:26:42 +00:00
sjg
ec98624792 Fix parsing of SUNSHCMD style :sh = assigments.
Submitted by: Will Andrews at freebsd.org
2013-08-28 21:56:49 +00:00
apb
480a3064b0 Use Va markup to show that the "suffix" part of ".PATH.suffix"
is a placeholder, not a literal string.
Also bump date.
2013-08-11 09:53:49 +00:00
dholland
f02a6c3b94 Document .PATH.suffix:. Noted by apb back in December of 2008
(that's how long my queue is...)
2013-08-11 04:40:58 +00:00
sjg
7f708505a0 ParseGetLine: don't treat a zero byte as end of buffer if P_end says it isn't.
Consume up to next newline, and issue a parse warning.
If no newline found before P_end, carry on as before.
2013-08-10 21:20:03 +00:00
sjg
ac8c620987 Move the call to Job_SetPrefix() to Job_Init() so that
makefiles have had a chance to set .MAKE.JOB.PREFIX
2013-08-04 16:48:15 +00:00
sjg
bd8f3e806f Allow an empty .MAKE.JOB.PREFIX to supress output of --- job --- tokens 2013-07-30 19:09:57 +00:00
sjg
11a6c9d08b From bmake: move decl of pwd nearer to where it is used so the whole
thing can be ifdef'd out without causing unused variable errors.
2013-07-18 15:31:49 +00:00
sjg
af0aba95fb When a var is set in the CMD context, it prevents the same name
being set in GLOBAL context.  We should also delete any such
variable in GLOBAL context, else make -V will show the wrong value.
2013-07-16 20:00:56 +00:00
sjg
7217d3f346 Fix unit-tests to cope with recent change to progname 2013-07-16 19:59:28 +00:00
christos
17cdc7e70d use bmake_foo instead of efoo() 2013-07-16 14:22:13 +00:00
christos
4f413ffa5d More gmake compatibility:
1. add -w flag to print Entering and Leaving directory name the the beginning
   and the end of processing.
2. export MAKELEVEL=$((MAKELEVEL + 1)) only in the child environment.
3. when printing error messages, prefix them with the program name [$MAKELEVEL]
   for $MAKELEVEL > 0
4. if $MAKEFLAGS consists only of letters assume it is a set of flags (as
   allowed by posix), convert them to -f -l -a -g -s, so that they get parsed
   properly.
With those fixes gmake -> bmake -> gmake -> bmake etc. works as expected.
2013-07-16 14:00:53 +00:00
christos
76db28c1cd Make this work again like gmake. sjg: see the test program. 2013-07-15 20:33:11 +00:00
sjg
3eb72d30de For .MAKE.LEVEL.ENV use VAR_CMD so updates are ignored 2013-07-09 18:44:41 +00:00
sjg
b834173368 Set .MAKE.LEVEL.ENV to the name of the env variable used to communicate
the recursion level to sub-makes.
2013-07-09 18:13:14 +00:00
sjg
58ba636624 If using gmake's MAKELEVEL; use it the same way 2013-07-06 18:19:17 +00:00
sjg
db7ba27731 If commandShell hasErrCtl is true, set shellErrFlag for use by
CompatRunCommand() so that behavior in jobs and compat mode
remains consistent.
2013-07-05 22:14:56 +00:00
christos
865e3e8f40 PR/47973: Justin Cormack: build uses <sys/signal.h> not in POSIX 2013-06-29 15:19:32 +00:00
agc
6a34c4426f fix a typo 2013-06-26 20:20:36 +00:00
wiz
46ad464f12 Remove trailing whitespace. 2013-06-25 07:08:10 +00:00
sjg
adfd644b2f Add .MAKE.META.IGNORE_PATHS to facilitate local additions to the paths
which should be ignored by meta_oodate().
2013-06-25 00:20:54 +00:00
sjg
8d830c54ea Ignore any files in /proc/ 2013-06-24 21:16:02 +00:00
sjg
8ae5585417 Use a #define for the variable name we put in environment to pass .MAKE.LEVEL
in case we don't want to use gmake's MAKELEVEL in a different way.
2013-06-18 20:06:09 +00:00
sjg
339d4acb06 Fix use after free bug.
Parse_SetInput:
curFile->fname was using the buffer passed to it - which ReadMakefile frees.
This change makes the comment in ParseEOF about leaking curFile->fname true.
2013-06-18 19:31:27 +00:00
christos
263238eca4 put back previous change 2013-06-10 20:24:58 +00:00
joerg
e2a82ef2e5 Revert last, it doesn't even build. 2013-06-10 19:07:09 +00:00
christos
8e6bfe4b71 1. Don't export .MAKE.LEVEL, because this is an illegal variable name for
some shells; export MAKELEVEL like gmake(1) does.
2. It is absurd for the environment variable to be one greater than the
   make variable!?!?! To wit...
   printf 'all:\n\t@echo ${.MAKE.LEVEL}; printenv .MAKE.LEVEL' | make -f -
2013-06-10 16:46:19 +00:00
sjg
c2bb7dcfaf JobCreatePipe: do fcntl() *after* any fiddling of fd's
to avoid leaking descriptors.
Job_ServerStart: set closed on exec for jp_0 and jp_1.
2013-06-05 03:59:43 +00:00
sjg
f30350f125 Clean up some left overs 2013-05-29 00:23:31 +00:00
christos
e2bd819f6a improve wording 2013-05-22 19:35:11 +00:00