aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/make/make.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove old fmake. It wasn't built by default for some time. Users thatWarner Losh2015-06-161-75/+0
| | | | | | | | | | really need it can find it in the devel/fmake port or pkg install fmake. Note: This commit is orthogonal to the question 'can we fmake buildworld'. Differential Revision: https://reviews.freebsd.org/D2840 Notes: svn path=/head/; revision=284464
* 1. Add the ability to tweak the token output before targets in job mode.David E. O'Brien2008-12-291-0/+2
| | | | | | | | | | | | | | | E.g., .MAKE.JOB.PREFIX=${.newline}---[${.MAKE.PID}] would produce ---[1234] target --- 2. Added ${.newline} as a simple means of being able to include '\n' in the assignment of .MAKE.JOB.PREFIX Obtained from: NetBSD Notes: svn path=/head/; revision=186559
* Implement "Remaking Makefiles" feature:Max Khon2007-03-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | After reading Makefile and all the files that are included using .include or .sinclude directives (source Makefiles) make considers each source Makefile as a target and tries to rebuild it. Both explicit and implicit rules are checked and all source Makefiles are updated if necessary. If any of the source Makefiles were rebuilt, make restarts from clean state. To prevent infinite loops the following source Makefile targets are ignored: - :: targets that have no prerequisites but have commands - ! targets - targets that have .PHONY or .EXEC attributes - targets without prerequisites and without commands When remaking a source Makefile options -t (touch target), -q (query mode), and -n (no exec) do not take effect, unless source Makefile is specified explicitly as a target in make command line. Additionally, system makefiles and .depend are not considered as a Makefiles that can be rebuilt. Reviewed by: harti Notes: svn path=/head/; revision=167330
* Move the Boolean and ReturnStatus stuff from sprite.h to util.h andHartmut Brandt2005-05-131-1/+1
| | | | | | | | | get rid of sprite.h. Obtained from: DragonFlyBSD Notes: svn path=/head/; revision=146177
* Move the definitions of the OP_* constants from make.h into GNode.hHartmut Brandt2005-05-101-77/+3
| | | | | | | | | | | where they actually belong to. Move the definitions of the strings for special macros like "$*" from make.h to parse.h - they're used only in the parser. Submitted by: Max Okumoto <okumoto@ucsd.edu> (7.211) Notes: svn path=/head/; revision=146066
* Move the remaining two prototypes from nonints.h to make.h andHartmut Brandt2005-05-101-0/+3
| | | | | | | | | | remove nonints.h. Patch: 7.204 Submitted by: Max Okumoto <okumoto@ucsd.edu> Notes: svn path=/head/; revision=146060
* Make shellPath and shellName static - they're used in job.c only.Hartmut Brandt2005-05-101-8/+0
| | | | | | | | | | Move definition of parsing error levels from make.h into parse.h. Patches: 7.202,7.203 Submitted by: Max Okumoto <okumoto@ucsd.edu> Notes: svn path=/head/; revision=146059
* Introduce a flag to enable extended warnings (-x) and make them offHartmut Brandt2005-04-281-0/+7
| | | | | | | | by default. This should fix the problem of getting lots of errors when building with an up-to-date make and old *.mk files. Notes: svn path=/head/; revision=145627
* Clean up include files and file including. Split nonints.h into piecesHartmut Brandt2005-02-011-256/+13
| | | | | | | | | | | | | | | | that get included just where they are needed. All headers include the headers that they need to compile (just with an empty .c file). Sort includes alphabetically where apropriate and fix some duplicate commenting for struct Job, struct GNode and struct Shell by removing one version and inlining the comments into the structure declaration (the comments have been somewhat outdated). This patch does not contain functional changes (checked with md5). Submitted by: Max Okumoto <okumoto@ucsd.edu> Notes: svn path=/head/; revision=141104
* Instead of dynamically allocating list heads allocated them staticallyHartmut Brandt2004-12-161-19/+24
| | | | | | | | | | | now that their size is only two pointers. This eliminates a lot of calls to Lst_Init and from there to malloc together with many calls to Lst_Destroy (in places where the list is obviously empty). This also reduces the chance to leave a list uninitilized so we can remove more NULL pointer checks and probably eliminates a couple of memory leaks. Notes: svn path=/head/; revision=138916
* Get rid of the sequential access feature of the lists. This was usedHartmut Brandt2004-12-081-0/+3
| | | | | | | | | | | only in a couple of places and all of them except for one were easily converted to use Lst_First/Lst_Succ. The one place is compatibility mode in job.c where the it was used to advance to the next command on each invocation of JobStart. For this case add a pointer to the node to hold the currently executed command. Notes: svn path=/head/; revision=138564
* Consify the arguments to str_concat. Remove the STR_DOFREE flag for thatHartmut Brandt2004-12-081-4/+1
| | | | | | | | | | purpose and explicitely free the input string in the one place that was calling str_concat with that flag. Submitted by: Max Okumoto <okumoto@ucsd.edu> Notes: svn path=/head/; revision=138547
* Typedefs of pointers to structs are evil. Make Lst and LstNode typedef ofHartmut Brandt2004-12-071-14/+14
| | | | | | | | | the structs itself not of pointers to them. This will simplify constification. Checked by: diff on the object files Notes: svn path=/head/; revision=138512
* Improve make's diagnostic of mistmatched .if-.endif. This patch isHartmut Brandt2004-07-201-0/+16
| | | | | | | | | | | | | slightly different from the patch in the PR. The problem is, that make handles .if clauses inside false .if clauses simply by counting them - it doesn't put them onto the conditional stack, nor even parses them so we need an extra line number stack for these ifs. PR: bin/61257 Submitted by: Mikhail Teterin <mi@aldan.algebra.com> Notes: svn path=/head/; revision=132439
* Move utilitarian routines to util.c, which isn't the same as the oldJuli Mallett2002-10-101-0/+1
| | | | | | | | | 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
* Remove extern declarations from functions and source files where they wouldJuli Mallett2002-10-091-0/+2
| | | | | | | happily fit into headers. Notes: svn path=/head/; revision=104693
* Make the DEBUGF() macro portable by (ugh) adding a Debug() function, whichJuli Mallett2002-09-181-3/+2
| | | | | | | | 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-171-0/+7
| | | | | | | | | | | | 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-171-53/+53
| | | | Notes: svn path=/head/; revision=103503
* More consistancy. file system > filesystemTom Rhodes2002-05-161-1/+1
| | | | Notes: svn path=/head/; revision=96704
* Fix copyrights, and undo SCS ID damage.David E. O'Brien2002-04-131-1/+1
| | | | Notes: svn path=/head/; revision=94589
* remove __PWarner Losh2002-03-221-33/+6
| | | | Notes: svn path=/head/; revision=92921
* Fix style(9) bug; use ISDOT[DOT,]() macro available in util.c by movingWill Andrews2001-01-211-0/+2
| | | | | | | | | | it to make.h so both dir.c and util.c can use it, although bde didn't particularly like this part of the idea, IMO it's cleaner than it was. Submitted by: bde Notes: svn path=/head/; revision=71325
* There's no reason to use fancy forms of NULL. Replace all instancesWill Andrews2000-12-021-6/+1
| | | | | | | | | of NIL, NILLST, NILLGNODE, etc. with NULL. Obtained from: OpenBSD Notes: svn path=/head/; revision=69527
* Add loud debugging facility (-dl option) which allows programmers/developersWill Andrews2000-05-141-0/+1
| | | | | | | | | | | | | | | to override @-prefixed commands in Makefiles. It is especially useful for debugging ports and/or complex Makefiles in such a manner that is basically a last resort, but is quite effective if the output is well-handled. I'll update the manpage after dinner. ;-) Better patch submitted by: steve Reviewed by: phk, steve, chuckr, obrien, Lyndon Nerenberg <lyndon@orthanc.ab.ca> Notes: svn path=/head/; revision=60569
* Remove the #include of sys/param.h. It was meant to improve portabilityTim Vanderhoek1999-09-111-1/+0
| | | | | | | | | | | | for BSD less than 4.4 where sys/cdefs.h DNE but can be simulated with param.h. Unfortunately, the additional include did little to actually improve portability since we've lost portability in several other chunks of make code (err(), sysctlbyname(), probable more). Partly submitted by: bde Notes: svn path=/head/; revision=51151
* $Id$ -> $FreeBSD$Peter Wemm1999-08-281-1/+1
| | | | Notes: svn path=/head/; revision=50477
* Merge style- and trivial- only changes from OpenBSD (dated 1999/07/29-19:55+1).Tim Vanderhoek1999-08-171-12/+23
| | | | | | | Obtained from: OpenBSD, sometimes indirected from NetBSD; myself Notes: svn path=/head/; revision=49938
* Add a -E flag, similar to -e (overide variables from environment) exceptTim Vanderhoek1999-07-311-2/+5
| | | | | | | | | | | that -E only operates for a specified variable. Useful since the -e option will often pull-in many unwanted variable overrides (esp. in a make world situation). Uses include overriding BINOWN (which cannot be done by normal methods or through abuses of MAKEFLAGS) or likely for ports to honour CFLAGS (provided they're running on a system whose make(1) has this option). Notes: svn path=/head/; revision=49332
* Added a -v (verbose) option and hid multi-job file banner generationDavid Greenman1998-11-141-1/+2
| | | | | | | behind it. Notes: svn path=/head/; revision=41151
* Revert $FreeBSD$ to $Id$Peter Wemm1997-02-221-1/+1
| | | | Notes: svn path=/head/; revision=23006
* Make the long-awaited change from $Id$ to $FreeBSD$Jordan K. Hubbard1997-01-141-1/+1
| | | | | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise. Notes: svn path=/head/; revision=21673
* O' to be bitten by CVS. Cleanup after importSteve Price1996-10-081-0/+1
| | | | | | | | | of Christos' version of make(1) and add Id's. Set straight by: Bruce Evans and Peter Wemm :) Notes: svn path=/head/; revision=18804
* Merge in NetBSD's changes to make(1). Changes include:Steve Price1996-10-061-2/+8
| | | | | | | | | | | | | | | | | | | - Add the .PHONY, .PARALLEL, and .WAIT directives - Added the -B and -m commandline flags - misc. man page cleanups - numerous job-related enhancements - removed unused header file (bit.h) - add util.c for functions not found in other envs. - and a few coordinated whitespace changes Special thanks to Christos Zoulas <christos@netbsd.org> for help in the merge. A 'diff -ur' between Net and FreeBSD now only contains sccsid-related diffs. :) Obtained from: NetBSD, christos@netbsd.org, and me Notes: svn path=/head/; revision=18730
* Remove trailing whitespace.Rodney W. Grimes1995-05-301-8/+8
| | | | Notes: svn path=/head/; revision=8874
* Bring in a number of changes from NetBSD's make, fixing quite a fewJordan K. Hubbard1995-01-231-6/+14
| | | | | | | | | | | | | | | problems in the process: 1. Quoting should work properly now. In particular, Chet's reported bash make problem has gone away. 2. A lot of memory that just wasn't being free'd after use is now freed. This should cause make to take up a LOT less memory when dealing with archive targets. 3. Give proper credit to Adam de Boor in a number of files. Obtained from: NetBSD (and Adam de Boor) Notes: svn path=/head/; revision=5814
* BSD 4.4 Lite Usr.bin SourcesRodney W. Grimes1994-05-271-0/+357
Notes: svn path=/cvs2svn/branches/CHRISTOS/; revision=1590