Commit Graph

765 Commits

Author SHA1 Message Date
will
afad9375d8 Add a ${CP} alias for copying files in the build.
Some users build FreeBSD as non-root in Perforce workspaces.  By default,
Perforce sets files read-only unless they're explicitly being edited.
As a result, the -f argument must be used to cp in order to override the
read-only flag when copying source files to object directories.  Bare use of
'cp' should be avoided in the future.

Update all current users of 'cp' in the src tree.

Reviewed by:	emaste
MFC after:	1 week
Sponsored by:	Spectra Logic
2015-01-16 21:39:08 +00:00
dteske
0ac14fdc18 When producing fmake(1), `make clean' should remove fmake.1 (a copy of
make.1). Introduced initially via SVN r250699 (sjg).

Reviewed by:	sjg, gjb
MFC after:	3 days
X-MFC-to:	stable/10
2014-07-23 23:01:54 +00:00
jmmv
eb66ec28f9 Move old fmake tests into bmake and hook them to the build.
This first step is mostly to prevent the code from rotting even further
and to ensure these do not get wiped when fmake's code is removed from
the tree.

These tests are currently being skipped because they detect the underlying
make is not fmake and thus disable themselves -- and the reason is that
some of the tests fail, possibly due to legitimate bugs.  Enabling them to
run against bmake will come separately.

Lastly, it would be ideal if these tests were fed upstream but they are
not ready for that yet.  In the interim, just put them under usr.bin/bmake/
while we sort things out.  The existence of a different unit-tests directory
within here makes me feel less guilty about this.

Change confirmed working with a clean amd64 build.
2014-05-14 18:43:13 +00:00
imp
3be1d4bf0f Remove support for WITHOUT_BMAKE. bmake is now the only make that can
build world, so it is the only make we build or install. fmake is
still in the tree, but disconnected, and upgrades from older systems
that still have bmake has not been removed, but its state has not been
tested (it should work given how minimal the work to upgrade to bmake
is).
2014-05-06 04:22:37 +00:00
imp
2118f42afd Use src.opts.mk in preference to bsd.own.mk except where we need stuff
from the latter.
2014-05-06 04:22:01 +00:00
jmmv
b3534c26d0 Add Makefiles missed in r263346.
Grrr, I wish svn clearly displayed files not yet added when about to commit.
2014-03-19 12:32:50 +00:00
jmmv
aa2c1fd6c1 Migrate tools/regression/usr.bin/make/ to the new tests layout.
Note that these tests are for fmake, not bmake, and thus they are not
installed nor run when bmake is selected (the default).  Yes, I have
wasted a *ton* of time on moving tests for no real reason other than
ensuring they are not left behind.

But maybe, just maybe, it was not work in vain: the majority of these
tests also work with bmake and the few that don't may point at broken
stuff.  For example, the tests for the "archive" feature do not work
with bmake, but bmake's manpage and source tree seem to imply that they
should.  So... to be investigated later; need to poke sjg@.
2014-03-19 12:29:20 +00:00
eadler
118094e60b multiple: Remove 3rd clause from BSD license where approved by the
regents and renumber.

This patch skips files in contrib/ and crypto/

Acked by:	imp
Discussed with:	emaste
2014-03-14 03:07:51 +00:00
kevlo
67f40d0cd3 Remove unnecessary cast to pid_t. 2013-07-04 03:24:58 +00:00
sjg
70d21b25e5 Reverse the sense of the test wrt bmake, and guard against
MK_BMAKE not being defined.
2013-05-16 21:26:46 +00:00
sjg
50a31d452c Build bmake by default.
If someone explicitly builds usr.bin/make while MK_BMAKE==yes,
install it as 'fmake'.

Reviewed by:	brooks
2013-05-16 15:28:38 +00:00
jkim
651396f697 Remove fictitious support for 80386-class CPUs from bsd.cpu.mk and make(1).
It was removed from head more than 8 years ago (see r137784 and r137785).

Reviewed by:	imp, delphij, dim
2012-12-03 19:27:31 +00:00
avg
e4499a4b00 make: report :M or :N pattern in debug mode
MFC after:	12 days
2012-10-06 19:19:32 +00:00
dim
7c93ab23a4 In usr.bin/make/var.c, function ParseModifier(), initialize the 'error'
variable to NULL, to avoid using it uninitialized in certain cases.

This fixes the following clang 3.2 warning:

  usr.bin/make/var.c:1770:10: error: variable 'error' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
                                          if (vp->execute) {
                                              ^~~~~~~~~~~
  usr.bin/make/var.c:1777:10: note: uninitialized use occurs here
                                          if (error)
                                              ^~~~~
  usr.bin/make/var.c:1770:6: note: remove the 'if' if its condition is always true
                                          if (vp->execute) {
                                          ^~~~~~~~~~~~~~~~~
  usr.bin/make/var.c:1768:23: note: initialize the variable 'error' to silence this warning
                                          const char      *error;
                                                                ^
                                                                 = NULL

MFC after:      1 week
2012-08-05 15:55:36 +00:00
obrien
5c7e44656e Correct typo in version. 2012-06-20 00:37:00 +00:00
obrien
9eb7711d51 Update date for r236338 & r236346. 2012-05-31 20:13:44 +00:00
obrien
0a0b648466 Add "-V '${VAR}'" variable expansion from Portable Berkeley Make.
Submitted by:	Simon Gerraty <sjg@juniper.net>
2012-05-31 00:36:56 +00:00
obrien
71a59e1336 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>
2012-05-30 22:23:08 +00:00
joel
82a81c78d9 Minor mdoc nits. 2012-05-13 14:16:04 +00:00
imp
f8f35ffdf5 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.
2012-05-09 04:54:50 +00:00
kib
ddc9116307 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
2012-04-29 09:32:44 +00:00
fjoe
4475fc98c1 Include target names in diagnostic output.
Submitted by:	Garrett Cooper
2012-02-12 05:34:01 +00:00
rmh
6aecdb4cd5 Map foreign architecture names to FreeBSD naming convention.
Approved by:	kib (mentor)
2012-01-20 18:55:56 +00:00
uqs
9953595f97 Spelling fixes for usr.bin/ 2011-12-30 11:02:40 +00:00
fjoe
dfa5fc70db 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.
2011-12-15 06:25:19 +00:00
fjoe
a25ab95a03 job make: if stdout is a tty create a pty when running a command. 2011-12-15 03:13:23 +00:00
fjoe
6f481b1357 - 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
2011-11-30 18:07:38 +00:00
ed
d194803bbc Add missing static keywords to make(1) 2011-11-06 08:16:06 +00:00
jilles
eeb1159658 make(1): obj dirs are physical paths so write pwd -P rather than pwd.
Regular pwd may return a pathname containing symlinks, but make does not use
such pathnames.
2011-11-05 21:32:17 +00:00
brucec
6d9b42b486 Fix typos - remove duplicate "the".
PR:	bin/154928
Submitted by:	Eitan Adler <lists at eitanadler.com>
MFC after: 	3 days
2011-02-21 09:01:34 +00:00
uqs
9242c645f8 Move most of the remaining USD/PSD/SMM papers into share/doc 2010-12-04 10:11:20 +00:00
imp
91e100b7b9 Remove hack needed by 6.x machines and older machines to run newer
makes on FreeBSD/pc98.  The need for this hack has passed.  If you are
one of the rare people that may need this, then you should setenv
MACHINE=pc98 as a workaround.
2010-10-06 20:54:17 +00:00
imp
f87a5af16e Use more portable errx instead of errc. The latter doesn't buy us
anyting anyway, since the error EAGAIN's error message doesn't add
anything to the error strings that are there now.
2010-10-06 20:49:45 +00:00
emaste
84bb346ef8 Remove extraneous ; 2010-07-12 17:18:58 +00:00
brueffer
93a5436713 - Missing full stops
- Upper case the first character of an description
- Section headings do not need to be quoted. From OpenBSD's make.1, revision 1.81
- Plural of suffix is suffixes. From OpenBSD's make.1, revision 1.61
- s/seperating/separating/

PR:		135165
Submitted by:	Alan R. S. Bueno <alan.bsd@gmail.com>
MFC after:	1 week
2010-05-12 02:00:11 +00:00
imp
6edfadb92d Remove yet another vestage of alpha support. 2010-04-06 02:48:59 +00:00
ru
de0865cf65 Eliminated nits from last commit.
OK'ed by:	rodrigc
2010-01-27 21:06:53 +00:00
rodrigc
e086cdc47b Partial merge of man page cleanups from NetBSD:
revision 1.91
  Fri Nov 7 01:01:46 2003 UTC by lukem

  Add some subsections in the VARIABLE ASSIGNMENTS section.

  In the "modifier description" list, show each modifier with the leading `:'.
  Rationale: it's hard to search for modifiers without it, and we already do
  the same thing in the -options and .makecommands lists.  I now find it much
  easier to find the description for a modifier in the man page.

Obtained from: NetBSD
2010-01-27 02:38:10 +00:00
harti
58173f9fd7 Fix the previous commit (still not used to svn vs. cvs). Use the
define from paths.h for the default temporary directory and remove
and unneccessary getenv call.
2010-01-11 09:16:42 +00:00
harti
4eb0a79f48 Make make respect the TMPDIR environment variable.
PR:		bin/115447
Submitted by:	Eugene Grosbein
2010-01-10 20:26:03 +00:00
obrien
d2744b88e9 Add ability to search up the directory hierarchy for the system directory.
Do by specifying ".../" with '-m' or MAKESYSPATH (new) environment variable.

Reviewed by:	<sjg@NetBSD.org>
Obtained from:	NetBSD (+ embellishment by me, sent back to NetBSD)
2010-01-04 18:57:22 +00:00
obrien
d3158f2b66 Report lines that ought to contain a ':' operator but start with a '.'
as "Unknown directive" sinze they are more likely to be .elseif (etc).
(NetBSD PR 37222).

Obtained from:	NetBSD
2010-01-04 00:49:04 +00:00
obrien
0604e3cfcc Add check for subversion "original" marker. 2010-01-04 00:32:22 +00:00
ed
9b380e30d4 Build usr.bin/ with WARNS=6 by default.
Also add some missing $FreeBSD$ to keep svn happy.
2010-01-02 10:27:05 +00:00
ed
49e7706638 Add missing `void' keyword. 2009-12-29 22:33:07 +00:00
stas
9b4a1c7a67 - Partially revert r200417. config.h brings several definitions,
that appears to be actually used.  Without config.h included
  cross-build of world failed (at least for ARM).
2009-12-17 12:42:45 +00:00
delphij
815391c360 Remove unnecessary includes.
Reviewed by:	rodrigc
2009-12-11 23:20:02 +00:00
stefanf
cd137e08f9 Add a missing space to the error message when execvp() failed. 2009-12-05 13:12:04 +00:00
obrien
40d7e62509 Catch up with r144020's /Dir_FindFile/Path_FindFile/ 2009-11-17 19:35:39 +00:00
obrien
ee88dde1cb Garbage collect some old #ifdef'ed code from 1994 that causes vi's '%'
to be unable to find a match in Path_FindFile().
2009-11-17 16:26:45 +00:00