Commit Graph

244 Commits

Author SHA1 Message Date
simonb ae62335eb5 Buf_GetAll() takes an int *, not a size_t *.
Build failure on alpha reported by Tim Rightnour on current-users.
2000-04-18 03:46:41 +00:00
christos 94c2d86134 Don't type && when you mean || (pointed out by David Holland) 2000-04-17 14:59:02 +00:00
christos 13a6d6acf1 PR/9898: David Holland: small glitch in var substitution for single letter
variables.
2000-04-16 23:35:16 +00:00
christos a4760ab7d0 prefix errors with the program name. 2000-04-16 23:24:23 +00:00
christos c097e3c5c2 Don't core-dump when the current working directory is not readable 2000-04-16 23:24:04 +00:00
christos c407ec1982 PR/9899: David A. Holland: multi-variable .for constructs in make 2000-04-16 22:08:06 +00:00
simonb d88dfea295 Don't declare 'extern opt*' getopt variables. 2000-04-14 06:11:07 +00:00
soren 89c5a767f8 Fix doubled 'the's. 2000-03-13 22:55:05 +00:00
sjg 90c80377e5 Fixed the oodate test to include the check of gn->cmtime == 0 without
breaking the original intent.

PR: 9503
2000-02-29 22:00:02 +00:00
sjg 14fcc9e86c Non-existent libs are always out of date.
This was not handled correctly on ELF where libs do not have T.O.C.

PR: 9393
Reviewed by: christos
2000-02-15 04:41:45 +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
sjg 49984c2f37 Make chdir_verify_path() do variable expansion on path in case
someone wants to do freaky stuff with $MAKEOBJDIR.
Initialize the Var system and set .CURDIR, MACHINE and MACHINE_ARCH
before chdir_verify_path() is called.
2000-02-08 12:43:25 +00:00
sjg f618973b5f You cannot meaningfully test if a non-existent file has a correct
archive header, so don't try - just believe gn->type & OP_LIB.
2000-01-31 13:21:20 +00:00
mycroft 4e558e01fa Don't apply suffix rules for .PHONY targets. (gmake doesn't do this either.) 2000-01-22 19:28:11 +00:00
mycroft f5d7100e26 Nuke `extern int errno;' in code we compile with -Wstrict-prototypes. We get
the correct definition from errno.h.
2000-01-21 17:08:33 +00:00
christos 4cd25afac7 Create temporary files carefully, to avoid security problems. Idea borrowed
from the botched FreeBSD implementation...
2000-01-19 23:39:37 +00:00
wrstuden f21e998aad Add a few little changes needed to get this to compile on IRIX 6.4. 2000-01-06 22:23:20 +00:00
mrg f22d12ed49 back out rev 1.23 (don't stat PHONY targets). it broken the libcrypto
build by causing everything to be remade everytime.  this fixes PR#8419.
1999-11-25 22:34:16 +00:00
kristerw e71aea426d Typos (from OpenBSD) 1999-11-19 22:29:24 +00:00
msaitoh 0fcbe067c6 s/ the the / the / 1999-10-08 20:13:42 +00:00
kim 6c6c0c0d5c Make this compile on Solaris... 1999-09-16 19:57:54 +00:00
mycroft 2500a4b975 Some minor cleanup of :: tests. 1999-09-16 00:54:14 +00:00
mycroft ce14db1fcd Fix a bug in the previous. In the `compat' case, we don't actually use the
list of target nodes returned by Make_ExpandUse().  We have to search the
cohorts explicitly while iterating through the tree.  So, tweak CompatMake()
to do this.
1999-09-16 00:49:48 +00:00
sommerfeld bcb141e5d0 Reuse the Hash_Entry `name' field to store the variable name when we
can (i.e., everything except environment variables, which aren't
stored in hash tables).

While we're here, inline the body of VarDelete into Var_Delete since
it's the only caller and it's just simpler that way when v->name can
share storage with the hash entry and may not need to be freed
separately.

Speeds up the infamous libc build benchhmark maybe 1% on PIII, 4% on
alpha pc164

Suggested by Perry Metzger.
1999-09-15 22:51:05 +00:00
mycroft b12871c6cb Rework how :: dependencies are handled.
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.
1999-09-15 10:47:37 +00:00
mycroft c29ad80902 More cleanup code bites it. 1999-09-15 08:48:17 +00:00
mycroft dd291116bc Don't bother iterating through all the data structures to free(3) everything
right before exiting.
(The code is still present, `#ifdef CLEANUP', in case someone needs it...)
1999-09-15 08:43:21 +00:00
mycroft 441a442e46 Fix another case where we stat(2)ed .PHONY targets. 1999-09-15 05:56:33 +00:00
mycroft ff6341a190 Nuke Buf_{G,Ung}etByte{,s}(), since they aren't used, and make BufExpand do
power-of-2 allocation.
1999-09-15 04:16:31 +00:00
mycroft c33b6eca55 Avoid using Lst_Member() in SuffExpandChildren(), by avoiding Lst_ForEach() and
passing in the LstNode of the child being inspected.  Shaves off another few %,
particularly when there are long child lists containing $ expansions (e.g. in
libc).
1999-09-15 03:59:44 +00:00
mycroft d2ec8b0e26 Replace the linear variable list in the GNode with a hash table. Gives a
small (~10% on my machine) speedup building libc.
Changes by: perry (+ bug fix and minor change by me)
Reviewed by: mycroft sommerfeld
1999-09-15 02:56:34 +00:00
christos ab01074993 Add :O var modifier, that sorts the words in a variable. 1999-09-12 00:17:50 +00:00
christos 7057287c54 PR/8259: Chris Demetriou: Fix stack overflow bugs exposed by the glibc-2.1.1
Makefile. Use snprintf everywhere.
1999-09-04 04:21:28 +00:00
simonb dcb4cadef7 Don't need strftime() on Ultrix either. 1999-08-27 00:47:25 +00:00
aidan 58f27ba58c Added .PARSEDIR and .PARSEFILE variables to make(1). 1999-08-09 21:06:28 +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
hubertf 5674691260 Save the walls, use fly swatters instead of machine guns!
(s/sscanf/strtol/, per Christos)
1999-08-02 17:23:58 +00:00
hubertf a38c426e1c Detect invalid arguments to -j and -L by using sscanf() instead of atoi().
Fixes PR 6743 by Assar Westerlund <assar@sics.se>
1999-08-02 15:23:11 +00:00
hubertf d5df2197fb sprite.h is private to make, so #include it with "sprite.h",
not <sprite.h>.

Problem reported in PR 4381 bye Soren S. Jorvang <soren@t.dk>
1999-07-29 19:45:32 +00:00
christos 10e7b7f04d Fix extreme brokeness with job control that appeared when we set USE_PGRP. 1999-07-16 05:38:20 +00:00
thorpej 70b6975a7e Fix a typo. 1999-07-12 18:22:49 +00:00
thorpej 484fe86089 Correct an inverse initialization of a variable, which caused all .PATHs
to be treated as .DOTLAST.
1999-07-12 17:29:32 +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
christos 80d9d7d175 Regular bourne shells don't have the -q option (from Chuck Cranor) 1999-07-06 14:02:56 +00:00
christos 516292d398 apply solaris fixes 1999-06-29 07:44:21 +00:00
christos eee5bfa70d Revert previous change. I am a bonehead. 1999-06-06 21:16:23 +00:00
christos 9081585e9b remove accidentally left debugging code 1999-06-06 20:41:04 +00:00
christos 4d93254198 Allow junk variable to work in non dynamic contexts. Allows as to say things
like:
    .if defined(COPTS) && !empty(COPTS:M*-g*)
1999-06-06 20:24:02 +00:00
christos f15f83610f Fix awful bug where:
V := $V foo
	V := $V bar

would report that variable V is recursive...
1999-06-02 18:47:11 +00:00