History log of /freebsd-10.1-release/usr.bin/make/Makefile
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 272461 02-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 264996 26-Apr-2014 jmmv

MFC various moves of tools/regressions/ tests to the new infrastructure.

- r263220 Migrate tools/regression/sbin/ to the new tests layout.
- r263222 Add Makefile missed in r263220.
- r263226 Migrate tools/regression/{usr.bin/lastcomm,usr.sbin}/ to the new tests layout.
- r263227 Migrate most of tools/regression/usr.bin/ to the new tests layout.
- r263345 Expand tabs that sneaked in into spaces.
- r263346 Migrate tools/regression/usr.bin/make/ to the new tests layout.
- r263348 Add Makefiles missed in r263346.
- r263351 Migrate tools/regression/usr.bin/pkill/ to the new tests layout.
- r263388 Mark multi_test as requiring /usr/share/dict/words.
- r263814 Fix path to the run.pl script to let these tests run.
- r264742 Prevent building tests when bootstrapping make.

This is 'make tinderbox' clean.


# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 250719 16-May-2013 sjg

Reverse the sense of the test wrt bmake, and guard against
MK_BMAKE not being defined.


# 250699 16-May-2013 sjg

Build bmake by default.
If someone explicitly builds usr.bin/make while MK_BMAKE==yes,
install it as 'fmake'.

Reviewed by: brooks


# 237282 19-Jun-2012 obrien

Correct typo in version.


# 236338 30-May-2012 obrien

Deprecate the FreeBSD make's ":U" (to-upper case) and ":L" (to-lower case)
modifiers for ":tu" and ":tl" from OSF's ODE, which made its way into
NetBSD's make, which is the source for the Portable Berkeley Make.

Submitted by: Simon Gerraty <sjg@juniper.net>


# 235152 09-May-2012 imp

Make is part of the bootstrap path, so we need to guard against this
not being defined. Otherwise we don't make a new make when the old
make is incompatible.


# 234782 29-Apr-2012 kib

Add src.conf option WITH_SHARED_TOOLCHAIN to enable building the
toolchain binaries as dynamically linked. Option is disabled by
default.

Reviewed by: ru (previous version)
MFC after: 2 weeks


# 228525 15-Dec-2011 fjoe

Revert r228521: sometimes job output is lost
(see tools/regression/usr.bin/make/execution/joberr test).

openpty(fd + 0, fd + 1,...) version does not have this problem but
it sometimes enters an infinite sleep in "ttywait" state in tty_drain()
when make(1) closes slave pty.


# 228521 15-Dec-2011 fjoe

job make: if stdout is a tty create a pty when running a command.


# 228157 30-Nov-2011 fjoe

- Fix segmentation fault when running "+command" when run with -jX -n due
to Compat_RunCommand() being called with `cmd' that is not on the node->commands
list
- Make ellipsis ("..." command) handling consistent: check for "..." command
in job make after variables expansion to match compat make behavior
- Fix empty command handling (after variables expansion and @+- modifiers
are processed): now empty commands are ignored in compat make and are not
printed in job make case
- Bump MAKE_VERSION to 5-2011-11-30-0


# 201386 02-Jan-2010 ed

Build usr.bin/ with WARNS=6 by default.

Also add some missing $FreeBSD$ to keep svn happy.


# 187475 20-Jan-2009 rdivacky

Remove inlining of functions that are used mostly in different object files.
This gets rid of gnu89 style inlining. Also silence gcc by assigning two
variables NULL. This lets use to remove NO_WERROR.

Approved by: kib (mentor)
Approved by: harti


# 176807 04-Mar-2008 obrien

No need to tell make to DTRT with "make love", just do it.
Also remove the 2002/08/31 bootstrapping aid for upgrades from
year old (mid-2001) systems.


# 158452 11-May-2006 ru

So, what's it supposed to say when you type "make love"?


# 150601 26-Sep-2005 phk

Please ship the pointy hat to its home position.


# 150598 26-Sep-2005 phk

Update coordinates for "mph" hash generator now that it lives in ports.


# 150595 26-Sep-2005 phk

Add a .sinclude directive which does the exact same as .include, except
whine when the file cannot be found and opened.


# 146608 25-May-2005 harti

Document why there is a dependency of certain object files from the
Makefile.

Requested by: ru


# 146579 24-May-2005 harti

Make shell.o dependend on the Makefile just in case someone changes
the default shell in the Makefile.


# 146578 24-May-2005 harti

Bump the warning level to 6.


# 146574 24-May-2005 harti

Factor out ProcExec() into its own file and rename it to Proc_Exec() for
consistency with the rest of make.

Obtained from: DragonFlyBSD (except for the rename)


# 146572 24-May-2005 harti

Factor out all the .SHELL parsing related stuff into its own file and
rename the function to be consistent with the naming scheme in the rest
of make. No functional changes.

Obtained from: DragonFlyBSD (idea and most of shell.h)


# 146571 24-May-2005 harti

Use the name of the default shell instead of a numeric index to select
the default shell.

Idea from: DragonFlyBSD


# 146158 12-May-2005 harti

Still too early to bump WARNS - there are still warnings on 64bit
architectures.


# 146154 12-May-2005 harti

Use a variable initialized to a string instead of the string directly
to get rid of a const warning.

Submitted by: Max Okumoto <okumoto@ucsd.edu> (7.244)


# 146150 12-May-2005 harti

Revert the previous accidential commit.


# 146149 12-May-2005 harti

Cleanup SuffFindArchDeps() to get rid of two const-warnings.

Submitted by: Max Okumoto <okumoto@ucsd.edu> (7.240)


# 146056 10-May-2005 harti

Merge compat.c into job.c. There is a lot in common between these
files and we are going to factor this out.

Patch: 7.199 (slightly changed)
Submitted by: Max Okumoto <okumoto@ucsd.edu>


# 146045 10-May-2005 harti

Merge var_modify.c into var.c and move types and function declarations
that are now used only in var.c from var.h to var.c

Patches: 7.193,7.194
Submitted by: Max Okumoto <okumoto@ucsd.edu>


# 145683 29-Apr-2005 harti

Rename the directive_hash.[ch] files to hash_tables.[ch] now
that there are more than one hash table in them. There is no
history to preserve here, so go without a repo-copy.

Asked for by: Max Okumoto <okumoto@ucsd.edu>


# 145616 28-Apr-2005 harti

Use a minimal perfect hash for the special sources/targets too. Add
the corresponding magic to create the hash function to the Makefile.


# 145614 28-Apr-2005 harti

Fix the $$FreeBSD$$ that should be written verbatim to directive_hash.c
so that it doesn't get replaced with the Makefile's revision.


# 145612 28-Apr-2005 harti

Move the hash function for directives into its own file and add
a Makefile target to re-created this file. Note, that there is no
explicite dependency to automatically re-create the file, because this
is needed only when the directive table changes and it requires the
(yet to come) devel/mph port.

Submitted by: Max Okumoto <okumoto@ucsd.edu> (first version)


# 143657 15-Mar-2005 harti

Ups. Revert the last commits. These have been committed by accident.


# 143656 15-Mar-2005 harti

modifier_M: instead of going through the string twice to compute the
size of the buffer we need, just allocate the possible maximum.

Patch: 7.117

Submitted by: Max Okumoto <okumoto@ucsd.edu>


# 141573 09-Feb-2005 harti

While working on constification temporarily disable -Werror. Things are too
twisted.


# 141115 01-Feb-2005 harti

Move all the remaining list functions into one C-file and remove
double documentation comments. Remove the 3rd clause (from 4) of the
BSD license because these files have only the UCB copyright.

Submitted by: Max Okumoto <okumoto@ucsd.edu>


# 139112 21-Dec-2004 ru

NOSHARED -> NO_SHARED


# 138916 16-Dec-2004 harti

Instead of dynamically allocating list heads allocated them statically
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.


# 138564 08-Dec-2004 harti

Get rid of the sequential access feature of the lists. This was used
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.


# 138222 30-Nov-2004 harti

Change a couple of the primitve list functions to be macros. This changes
the semantic of Lst_Datum which formerly returned NULL when the argument
node was NULL. There was only one place in the source that relied on this
so change that place.


# 138185 29-Nov-2004 harti

Merge the contents of lstInt.h into the public lst.h. This let's us get
rid of a lot of uneccesary casts and temporary variables that have just
obfuscated the code. This also let's us implement a couple of the one-
liner list functions as macros (the first one is Lst_IsEmpty) and
simplify life once we start to throw consts on the code.


# 138093 25-Nov-2004 harti

Forced commit to note that the previous raised WARNS to 3. This has been
tested on i386, alpha, sparc64 and amd64.


# 138092 25-Nov-2004 harti

Include sys/sysctl.h on all architectures not only i386.


# 134843 06-Sep-2004 jmg

remove XXX comment now that the kernel is fixed, there isn't any obvious
reason to enable this as performance didn't significantly change...

MFC after: 3 days


# 133562 12-Aug-2004 harti

Put variable assignments on .MAKEFLAGS and .MFLAGS targets into
the .MAKEFLAGS variable so that these are also passed to sub-makes.
This makes the handling of variables in the command environment more
consistent.

PR: bin/68853
Submitted by: Martin Kamerhofer <data@sbox.tugraz.at>


# 133085 03-Aug-2004 harti

Put variable assignments from the command line into the MAKEFLAGS
variable as required by POSIX. This causes such variables to be
pushed into all sub-makes called by the make (except when the MAKEFLAGS
variable is explicitely changed in the sub-make's environment).
This makes them also mostly un-overrideable in sub-makes except on the
sub-make's command line. Therefor specifying 'make CC=icc' will cause
icc to be used as C compiler in all sub-makes no matter what the Makefiles
itself try to do to the CC variable.

This patch also corrects the handling of the MFLAGS variable. MFLAGS
contains all the command line flags but not the command line variable
assignments. The evaluation of the .MFLAGS or .MAKEFLAGS target now
changes both MFLAGS and MAKEFLAGS (they used to change MAKEFLAGS only).
Makefiles can use MFLAGS for their own purposes given that they do not
except MFLAGS to be undefined at the beginning and that they don't evaluate
.MFLAGS or .MAKEFLAGS. MFLAGS should be removed for POSIX compliance,
but it is unfortunately heavily used by the X makefiles.

This has been extensively tested by port builds (thanks to portmgr), new
worlds and kernels.

PR: standards/57295 (1st part above)
Submitted by: James E. Flemer <jflemer@alum.rpi.edu>
Approved by: portmgr
Obtained from: NetBSD (1st part above)
MFC after: 4 weeks


# 132839 29-Jul-2004 harti

Implement POSIX's '+' flag for command lines. This flag causes a line
to be executed even when -n is given on the command line to make. This is
very handy for calls to submakes.

This is slightly changed from the original patch as obtained from NetBSD.
The NetBSD variant prints lines which have both '+' and '@' when -n
is specified. The commited version always obeys '@'.

Bump MAKE_VERSION so Makefiles can use this conditionally.

PR: standards/66357 (partly)
Submitted by: Mark Baushke <mdb@juniper.net>
Obtained from: NetBSD


# 106106 28-Oct-2002 jmallett

Split var.c into var.c and var_modify.c and move all the modification funcs
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.


# 104818 10-Oct-2002 jmallett

Move utilitarian routines to util.c, which isn't the same as the old
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.


# 104475 04-Oct-2002 phk

Give make(1) the ability to use KQUEUE to wait for worker processes
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>


# 103508 17-Sep-2002 jmallett

Move common use of if (DEBUG(FOO)) printf... to DEBUGF(FOO, ...), using
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.


# 102692 31-Aug-2002 peter

Deal with bootstrapping from an old -current (almost exactly a year old)
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.


# 102393 25-Aug-2002 jmallett

Add a -C ala GNU make(1) for Makefiles which are too lazy to use $(MAKE) and
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>


# 97251 24-May-2002 ru

Back out the ``run shell from $PATH'' change; this was an overkill
and is insecure.

Requested by: bde


# 97122 22-May-2002 ru

Do not run shell from /bin, run it from $PATH.
Bump MAKE_VERSION to 5200205221.


# 97121 22-May-2002 ru

Added the MAKE_VERSION global that could be useful in determining
if a given make(1) is feature-compatible with a set of makefiles.

When merged, this will be used to replace the ugly upgrade_checks
hacks in src/Makefile.

Version has the RYYYYMMDDX format, where R is from RELENG_<R> and
X allows for 10 distinguishable changes per day.

Discussed with: bde


# 94589 13-Apr-2002 obrien

Fix copyrights, and undo SCS ID damage.


# 93056 23-Mar-2002 imp

o unifdef -D__STDC__
o remove badly bit-rotted compat file that likely won't work on the systems
it purports to support.


# 76801 18-May-2001 sobomax

By default build make(1) as a static binary. It costs only 100k of additional
disk space, buf provides measureable speed increase for make-intensive
operations, such as pkg_version(1), `make world' and so on.

MFC after: 1 week


# 76012 26-Apr-2001 will

Remove GCC-ism (-Wall).

Submitted by: bde


# 75976 25-Apr-2001 ru

Add -Wall.


# 74294 15-Mar-2001 billf

with my mentor hat on...

remove the concept of a 'maintainer' of our make. there really isn't a
need for any one committer to hold an exclusive lock or serve as a filter
for this code.


# 66465 29-Sep-2000 will

Assume MAINTAINER. I will be taking the job of merging NetBSD/OpenBSD
improvements (including :C & :L, among others). After that, I'll be coming
up with other ways to improve make(1).

Discussed in spirit with: peter


# 64739 16-Aug-2000 green

Allow use of the ${MAKE_SHELL} variable to specify alternate shells for
make(1) to use. Setting it to "sh" and "ksh" are the only values which
work right ATM; I wouldn't expect "csh" to get you far ;)


# 53186 15-Nov-1999 marcel

Remove CROSS_MAKE_FLAGS.


# 50477 27-Aug-1999 peter

$Id$ -> $FreeBSD$


# 48654 07-Jul-1999 imp

Per requests from the community, commit rudimentary cross compilation
support. I've been building world with these changes for months w/o
ill effect. I've also managed to build the cross tool chain for MIPS
with these patches.

Please note that the extent to which these patches work is largely
dictated by how well our tool chains support the cross compilation.
Building alpha binaries on i386 doesn't work. Supposedly building
i386 binaries on alpha does work, but I've not verified it with these
patches, however.


# 23006 22-Feb-1997 peter

Revert $FreeBSD$ to $Id$


# 21673 14-Jan-1997 jkh

Make the long-awaited change from $Id$ to $FreeBSD$

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.


# 18751 06-Oct-1996 steve

Correct problem with traversing into PSD.doc directory,
these files are actually installed/built as part of
src/share/doc/psd/12.make. Oops. :)

Pointed out by: Peter Wemm and Bruce Evans


# 18749 06-Oct-1996 jkh

Correct merge bogon: You want to descend into PSD.doc for both `all' and
`install' cases or there's never anything made to install, and you blow
up in the install. :-)


# 18730 06-Oct-1996 steve

Merge in NetBSD's changes to make(1). Changes include:

- 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


# 10953 22-Sep-1995 phk

Stop using gnumalloc.


# 9242 16-Jun-1995 ache

Allow additional parsing of SYSV/GNU make "include" directive, it covers
90% of problems in ports Makefiles


# 5814 23-Jan-1995 jkh

Bring in a number of changes from NetBSD's make, fixing quite a few
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)


# 2390 29-Aug-1994 dg

Use gnumalloc.


# 1591 27-May-1994 rgrimes

This commit was generated by cvs2svn to compensate for changes in r1590,
which included commits to RCS files with non-trunk default branches.


# 1590 27-May-1994 rgrimes

BSD 4.4 Lite Usr.bin Sources