aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/make
Commit message (Collapse)AuthorAgeFilesLines
* Sync usage() with SYNOPSIS.Ruslan Ermilov2003-04-151-3/+3
| | | | Notes: svn path=/head/; revision=113512
* No need to check to see if we're running a version of FreeBSD 3.0 current orWarner Losh2003-04-041-3/+0
| | | | | | | newer anymore. Notes: svn path=/head/; revision=113044
* Remove another unused Makefile.Tom Rhodes2003-02-031-8/+0
| | | | Notes: svn path=/head/; revision=110266
* Change the handling of non-anchored global substitutions of the emptyMarcel Moolenaar2003-01-151-8/+9
| | | | | | | | | | | | | | | | | | | | | | string from a silent implicit non-global substitution to a non-silent explicit fatal error. Archored substitutions are those containing '^' or '$'. The problem with changing the substitution to prevent an infinite number of matches is that it doesn't provide the necessary feedback to the user that there's a bug in the/a makefile. Reporting the bug without making the condition fatal makes the feedback mostly useless due to the way that make fails to prefix the error with program name, makefile file name and line number information. Note that global substitutions of the empty string anchored with '^' (start of string) or '$' (end of string) do not cause an infinite number of matches and are therefore not reported and hence are non- fatal. Suggested by: bde Tested with: buildworld Notes: svn path=/head/; revision=109337
* Prevent infinite substitution of the empty string by forcing non-Marcel Moolenaar2003-01-131-0/+11
| | | | | | | | | | | global substitution. In general it's a makefile bug to globally substitute the empty string, but it's a bug in make(1) if a bug in the makefile yields an infinite running time of make(1). Not objected to by: arch@ Notes: svn path=/head/; revision=109209
* Fix typos, mostly s/ an / a / where appropriate and a few s/an/and/Jens Schweikhardt2002-12-301-1/+1
| | | | | | | Add FreeBSD Id tag where missing. Notes: svn path=/head/; revision=108470
* Fixed the abuses of .Ql visible on stderr in troff mode.Ruslan Ermilov2002-12-231-63/+63
| | | | | | | PR: docs/37176 Notes: svn path=/head/; revision=108221
* Check the return status of chdir() when using the -C option.Sean Chittenden2002-12-171-1/+2
| | | | | | | | Reviewed by: bright && jmallet MFC after: 1 day Notes: svn path=/head/; revision=107964
* Bootstrapping aid from pre-kqueue(2) systems, e.g. 4.0-RELEASE.Ruslan Ermilov2002-12-011-0/+2
| | | | | | | | Submitted by: jmallett Approved by: re (bmah) Notes: svn path=/head/; revision=107447
* Finish the fix in revision 1.39 -- make(1)'s behavior is nowRuslan Ermilov2002-11-281-12/+9
| | | | | | | | | "greedy" with respect to finding the dependency operators. Approved by: re Notes: svn path=/head/; revision=107373
* Convert some broken cases where Error is called, but we try to continue,Juli Mallett2002-11-081-17/+5
| | | | | | | | | | | | | | | to Fatal errors, because the logic that we use to try to continue is far too broken, and makes things look and act weird, because we end up pointing past the end of a buffer boundry into freed memory in the caller, as we don't come close to setting the lengthPtr to a sane value. Reviewed by: make@ (This only changes failure cases which would have died horrid deaths to explicit clean death failure cases.) Notes: svn path=/head/; revision=106642
* Document the confusing behavior that the .if conditional defaultsRuslan Ermilov2002-11-011-0/+1
| | | | | | | | to defined(), e.g., ``.if 1'' is equivalent to ``.if defined(1)'', which is only true when the ${1} variable is defined. Notes: svn path=/head/; revision=106286
* bsd.doc.mk changes:Ruslan Ermilov2002-10-291-1/+0
| | | | | | | | | | | | | | | | | | Don't gratuitously pipe thru a cat(1) if NODOCCOMPRESS. Only create _stamp.extra when necessary. Get rid of SOELIMPP and OBJS. Use Groff version of soelim(1); we need its -I option for the following to work. Don't needlessly chdir to SRCDIR. Only a few documents need CD_HACK, and those that need it either use refer(1) or .PSPIC macro which internally uses the .psbb call. Notes: svn path=/head/; revision=106143
* In VarHead(), look into the correct (modified) string.Juli Mallett2002-10-291-1/+1
| | | | Notes: svn path=/head/; revision=106134
* Mention that the left-hand side of the comparisonRuslan Ermilov2002-10-291-3/+2
| | | | | | | | | | | conditional must always be a variable expansion. Obtained from: PMake Do not lie that debugging .for loops is a no-op. Notes: svn path=/head/; revision=106125
* Split var.c into var.c and var_modify.c and move all the modification funcsJuli Mallett2002-10-287-669/+731
| | | | | | | | | | | to var_modify.c, for readability. constify some low hanging fruit (string manipulation functions) and the upper layers appropriately. No longer use the private strstr(3) implementation, while changing string code. Tested by: lots of successful make buildworld. Notes: svn path=/head/; revision=106106
* Fix problem with my ability to tell the difference between 'r' and 'l'... WeJuli Mallett2002-10-241-1/+1
| | | | | | | | | | | want to check var[1], not val[1]. Submitted by: Mark Valentine <mark@thuvia.demon.co.uk> Pointed out by: sam Pointy hat to: jmallett Notes: svn path=/head/; revision=105895
* When expanding a specific [1-char] variable, only expand said specificJuli Mallett2002-10-241-1/+1
| | | | | | | | | | [1-char] variable. Don't just automatically expand something which starts with that character. Obtained from: OpenBSD [3 years ago!] Notes: svn path=/head/; revision=105865
* Duplicate the variable name in the v->name field, as otherwise it points toJuli Mallett2002-10-241-1/+3
| | | | | | | | | | | data that will be modified. And do the appropriate thing now and free the v->name buffer along with other relinquished memory. XXX There is duplication here of destroying a Var, which is probably bogus, and probably missed in a few places. Notes: svn path=/head/; revision=105846
* Remove efree(), it isn't used consistently enough to even pretend that itJuli Mallett2002-10-2310-27/+24
| | | | | | | | | might help on the systems it could possibly be used as a bandaid for. In fact, the only thing it's useful for is instrumenting free(3) calls, and in that capacity, it's better served as a local patch, than a public wrapper. Notes: svn path=/head/; revision=105826
* De-obfuscate and correct the include path handling for SysV style includes.Juli Mallett2002-10-231-35/+4
| | | | | | | | | | PR: 32759 Submitted by: Mark Valentine Reviewed by: Matthew Emmerton" <matt@gsicomp.on.ca> MFC after: 15 days Notes: svn path=/head/; revision=105754
* Move utilitarian routines to util.c, which isn't the same as the oldJuli Mallett2002-10-104-234/+288
| | | | | | | | | compatability-geared util.c. These are things like message printers and the PrintAddr function for traversing lists. Other general-purpose utilities inside make(1) can go here, in time. Notes: svn path=/head/; revision=104818
* Convert make(1) to use ANSI style function declarations. VariableJuli Mallett2002-10-0915-771/+340
| | | | | | | | | | | | | | documentation already adequatedly existed in the description in most cases. Where it did not, it was added. If no documentation existed beforehand, then none was added. Some unused dummies for use in the traversal functions were marked as __unused during the conversion. Occasionally, local style fixes were applied to lines already being modified or influenced. Now make(1) should always build with WARNS=3. Notes: svn path=/head/; revision=104696
* Use __FBSDID in the lst.lib files, to match to main make(1) files. It isJuli Mallett2002-10-0926-26/+26
| | | | | | | | defined to __RCSID when bootstrapping, by the Makefile, but this change is for consistency Notes: svn path=/head/; revision=104694
* Remove extern declarations from functions and source files where they wouldJuli Mallett2002-10-094-3/+4
| | | | | | | happily fit into headers. Notes: svn path=/head/; revision=104693
* Remove unused local-locals, where upper-level locals may safely be used.Juli Mallett2002-10-091-8/+8
| | | | Notes: svn path=/head/; revision=104692
* Reference the correct local variable in all parts of a for loop, so weJuli Mallett2002-10-081-1/+1
| | | | | | | | | operate on the correct data (properly). Tracked down by: Dan Nelson Notes: svn path=/head/; revision=104689
* Give make(1) the ability to use KQUEUE to wait for worker processesPoul-Henning Kamp2002-10-043-1/+57
| | | | | | | | | | | | instead of polling for them. Unfortunately we cannot enable it yet because it panics the kernel somewhere in kqueue. Submitted by: Stefan Farfeleder <e0026813@stud3.tuwien.ac.at> Notes: svn path=/head/; revision=104475
* In lieu of a good way to prevent every possible looping in make(1), stopJuli Mallett2002-10-031-0/+21
| | | | | | | | | | | | there from being more than 500 processes forked by make(1), to prevent a forkbomb from happening, in a dumb and mechanical way. PR: alane Submitted by: bin/42772 MFC after: 2 weeks Notes: svn path=/head/; revision=104395
* Code that has been #if0'd with the comment "WHY" since revision 1.1 canJuli Mallett2002-10-021-8/+1
| | | | | | | disappear. Notes: svn path=/head/; revision=104375
* Remove 6-years-stale #if0, the behaviour isn't ever going to be limited toJuli Mallett2002-10-021-5/+1
| | | | | | | compatible mode, as far as I know, since we use it... Notes: svn path=/head/; revision=104374
* Fix spurious three-space indentation in a four-space indentation file.Juli Mallett2002-09-291-2/+2
| | | | Notes: svn path=/head/; revision=104125
* Fix ability to use csh(1) as the make(1) shell.Juli Mallett2002-09-291-1/+3
| | | | | | | Sponsored by: Bright Path Solutions Notes: svn path=/head/; revision=104123
* Make make(1) WARNS=6 clean except for const issues. This mostly involvesJuli Mallett2002-09-287-69/+69
| | | | | | | | | | | | | | renaming variables to not shadow libc functions or greater scope locals. Kinda makes one wonder if the extern ones weren't meant in some of these places :) The only thing I'd still like to do WRT this is possibly combine rstat and status in compat.c -- that should be fine, as I do not think the codepaths will want both around at once. Sponsored by: Bright Path Solutions Notes: svn path=/head/; revision=104121
* Fix merge error in previous commit.Juli Mallett2002-09-281-1/+1
| | | | | | | Sponsored by: Bright Path Solutions Notes: svn path=/head/; revision=104109
* Add empty default cases where they should be, remove non-local execution stuffJuli Mallett2002-09-289-14/+36
| | | | | | | | | | | | | in compat.c which doesn't even have preprocessor-conditional-hidden support code, and add a debugging statement where we might end up with a nil list somehow, but where I doubt it. First confirmed userland kill for Flexelint. Sponsored by: Bright Path Solutions Notes: svn path=/head/; revision=104108
* Document the parsing bug.Ruslan Ermilov2002-09-271-1/+13
| | | | Notes: svn path=/head/; revision=104032
* Remove a semicolon that appears to be a lie.Juli Mallett2002-09-261-1/+1
| | | | | | | | Spotted by: SPARC64 make WARNS=3 Sponsored by: Rachel Hestilow <rachel@jerkcity.com> Notes: svn path=/head/; revision=103991
* When formatting the time for a target, use %H instead of %k, which is mostlyJuli Mallett2002-09-261-1/+1
| | | | | | | | | the same, but uses a non-extension option. Sponsored by: Rachel Hestilow <rachel@jerkcity.com> Notes: svn path=/head/; revision=103990
* Don't declare things as extern when they will be static.Juli Mallett2002-09-261-1/+6
| | | | | | | Sponsored by: Rachel Hestilow <rachel@jerkcity.com> Notes: svn path=/head/; revision=103981
* Make the DEBUGF() macro portable by (ugh) adding a Debug() function, whichJuli Mallett2002-09-1814-141/+163
| | | | | | | | is merely printf() but to stderr. This takes care of the caveat which lead to the use of a vararg macro -- getting everything to stderr. Notes: svn path=/head/; revision=103545
* Move common use of if (DEBUG(FOO)) printf... to DEBUGF(FOO, ...), usingJuli Mallett2002-09-1713-431/+172
| | | | | | | | | | | | variable length arguments to a macro. Bump version as this makes DEBUG statements *always* go to stderr rather than sometimes stdout. There are a few stragglers, which I will take care of as soon as I can. Mostly these relate to the need-for-death-of some of the remote job code. Nearby stylistic nits and XXX added/fixed where appropriate. Notes: svn path=/head/; revision=103508
* #define<space> -> #define<tab>Juli Mallett2002-09-1719-155/+155
| | | | Notes: svn path=/head/; revision=103503
* Print debugging from DEBUG(VAR) level to stderr. About to macroise this.Juli Mallett2002-09-171-6/+6
| | | | | | | | | (Read: More commits to come). MFC in: 4 days. Notes: svn path=/head/; revision=103502
* Make it clear that the ":C" variable modifier expects an extendedArchie Cobbs2002-09-061-2/+2
| | | | | | | | | | regular expression instead of an obsolete regular expression. Also, cross-reference re_format(7) instead of regex(3). MFC after: 3 days Notes: svn path=/head/; revision=103030
* Deal with bootstrapping from an old -current (almost exactly a year old)Peter Wemm2002-08-311-0/+3
| | | | | | | | | | which fails the make tests (doesn't understand ${notdef:U}) and therefore fails on __FBSDID in usr.bin/make/*. -DBOOTSTRAPPING is no help here since this is before we are using the new share/mk/* files, and it would conflict with the builtin -DBOOTSTRAPPING support later.. so use a different flag. Notes: svn path=/head/; revision=102692
* Add a -C ala GNU make(1) for Makefiles which are too lazy to use $(MAKE) andJuli Mallett2002-08-253-3/+11
| | | | | | | | | | | this particular GNU flag. It changes into the given directory for the operation in question. This just goes into said directory at the time of parsing the argument for getopt(3). Submitted by: Rachel Hestilow <rachel@jerkcity.com> Notes: svn path=/head/; revision=102393
* Allow embedded `:' and `!' in target names.Ruslan Ermilov2002-08-201-2/+31
| | | | | | | | | PR: bin/6612 Obtained from: OpenBSD MFC after: 1 week Notes: svn path=/head/; revision=102178
* Remove local prototypes for main().Juli Mallett2002-08-191-1/+0
| | | | Notes: svn path=/head/; revision=102084
* main.c:450: warning: `targs' might be used uninitialized in this functionRuslan Ermilov2002-08-111-1/+1
| | | | | | | | | Spotted by: patrick@godloveya.com, naddy, -Wuninitialized This segfaulted alpha and sparc64; i386 had this magically zeroed. Notes: svn path=/head/; revision=101672